diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2011-05-27 15:28:56 +0200 |
---|---|---|
committer | Ian Hinder <ian.hinder@aei.mpg.de> | 2011-05-27 16:14:39 +0200 |
commit | a71134470dd6b67bbfadf40e40d21105a64137a0 (patch) | |
tree | 31808250a72bcdcd40eca1ee8f54a3be106bbc97 /Tools/CodeGen/CodeGen.m | |
parent | 184f5947e9948128d0a309e1a4264cf0c209c4ad (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.m | 5 |
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[]}; |