aboutsummaryrefslogtreecommitdiff
path: root/Tools/CodeGen/CodeGen.m
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2011-05-27 15:28:56 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2011-05-27 16:14:39 +0200
commita71134470dd6b67bbfadf40e40d21105a64137a0 (patch)
tree31808250a72bcdcd40eca1ee8f54a3be106bbc97 /Tools/CodeGen/CodeGen.m
parent184f5947e9948128d0a309e1a4264cf0c209c4ad (diff)
Vectorisation correction for vector sizes > 2
Correct the vectorisation code for vector sizes >2 when the array size is smaller than the vector size
Diffstat (limited to 'Tools/CodeGen/CodeGen.m')
-rw-r--r--Tools/CodeGen/CodeGen.m5
1 files changed, 5 insertions, 0 deletions
diff --git a/Tools/CodeGen/CodeGen.m b/Tools/CodeGen/CodeGen.m
index f4edee8..bc63188 100644
--- a/Tools/CodeGen/CodeGen.m
+++ b/Tools/CodeGen/CodeGen.m
@@ -69,6 +69,8 @@ StoreLowPartialVariableInLoop::usage = "StoreLowPartialVariableInLoop[dest_, src
"that assigns 'src' to 'dest'.";
StoreHighPartialVariableInLoop::usage = "StoreHighPartialVariableInLoop[dest_, src_, count_] returns a block of code " <>
"that assigns 'src' to 'dest'.";
+StoreMiddlePartialVariableInLoop::usage = "StoreMiddlePartialVariableInLoop[dest_, src_, countLow_, countHigh_] returns a block of code " <>
+ "that assigns 'src' to 'dest'.";
DeclareAssignVariableInLoop::usage = "DeclareAssignVariableInLoop[type_, dest_, src_] returns a block of code " <>
"that assigns 'src' to 'dest'.";
MaybeAssignVariableInLoop::usage = "MaybeAssignVariableInLoop[dest_, src_, cond_] returns a block of code " <>
@@ -314,6 +316,9 @@ StoreLowPartialVariableInLoop[dest_, src_, count_] :=
StoreHighPartialVariableInLoop[dest_, src_, count_] :=
{"vec_store_nta_partial_hi(", dest, ",", src, ",", count, ")", EOL[]};
+StoreMiddlePartialVariableInLoop[dest_, src_, countLow_, countHigh_] :=
+ {"vec_store_nta_partial_mid(", dest, ",", src, ",", countLow, ",", countHigh, ")", EOL[]};
+
DeclareAssignVariableInLoop[type_, dest_, src_] :=
{type, " const ", dest, " = vec_load(", src, ")", EOL[]};