GBE: Fix a jump issue in int64 to float conversion
authorRuiling Song <ruiling.song@intel.com>
Fri, 6 Jun 2014 06:57:18 +0000 (14:57 +0800)
committerZhigang Gong <zhigang.gong@intel.com>
Mon, 9 Jun 2014 07:14:16 +0000 (15:14 +0800)
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>
backend/src/backend/gen_context.cpp

index 69b4907..b1bacc5 100644 (file)
@@ -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