summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuiling Song <ruiling.song@intel.com>2014-06-06 14:57:18 +0800
committerZhigang Gong <zhigang.gong@intel.com>2014-06-09 15:14:16 +0800
commit5cf0af533e3d8e8b1db8f56297871f4f663f5050 (patch)
treec67f992d555c5a79f1b03cdeae1f00c3fb311d50
parent2c4160bf81540a693bc00fcb69c1cb1ef993f282 (diff)
GBE: Fix a jump issue in int64 to float conversion
The the inactive lanes should use 32, so later jump could jump as desired. Signed-off-by: Ruiling Song <ruiling.song@intel.com> Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
-rw-r--r--backend/src/backend/gen_context.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/backend/src/backend/gen_context.cpp b/backend/src/backend/gen_context.cpp
index 69b4907c..b1bacc5e 100644
--- a/backend/src/backend/gen_context.cpp
+++ b/backend/src/backend/gen_context.cpp
@@ -833,7 +833,7 @@ namespace gbe
GenRegister dst_ud = GenRegister::retype(dst, GEN_TYPE_UD);
p->push();
p->curr.noMask = 1;
- p->MOV(exp, GenRegister::immud(-1)); // make sure the inactive lane is 1 when check ALL8H/ALL16H condition latter.
+ p->MOV(exp, GenRegister::immud(32)); // make sure the inactive lane is 1 when check ALL8H/ALL16H condition latter.
p->pop();
p->FBH(exp, high);
p->ADD(exp, GenRegister::negate(exp), GenRegister::immud(31)); //exp = 32 when high == 0