瀏覽代碼

FFI: Fix unfused loads of float fields.

Mike Pall 14 年之前
父節點
當前提交
882537a874
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      src/lj_asm_x86.h

+ 2 - 2
src/lj_asm_x86.h

@@ -1147,13 +1147,13 @@ static void asm_strref(ASMState *as, IRIns *ir)
 
 static void asm_fxload(ASMState *as, IRIns *ir)
 {
-  Reg dest = ra_dest(as, ir, irt_isnum(ir->t) ? RSET_FPR : RSET_GPR);
+  Reg dest = ra_dest(as, ir, irt_isfp(ir->t) ? RSET_FPR : RSET_GPR);
   x86Op xo;
   if (ir->o == IR_FLOAD)
     asm_fusefref(as, ir, RSET_GPR);
   else
     asm_fusexref(as, ir->op1, RSET_GPR);
-    /* ir->op2 is ignored -- unaligned loads are ok on x86. */
+  /* ir->op2 is ignored -- unaligned loads are ok on x86. */
   switch (irt_type(ir->t)) {
   case IRT_I8: xo = XO_MOVSXb; break;
   case IRT_U8: xo = XO_MOVZXb; break;