/* FIXME: for Shl/Shr/Sar, really should do a test on the 2nd
arg, so that shift by zero preserves the original
value. */
- case Iop_Shl32: goto n32;
- case Iop_Sar32: goto n32;
- case Iop_Shr32: goto n32;
- case Iop_16Uto32: goto n32;
- case Iop_16Sto32: goto n32;
- case Iop_F64toI32: goto n32;
- case Iop_16HLto32: goto n32;
- case Iop_MullS16: goto n32;
- case Iop_MullU16: goto n32;
+ case Iop_Shl32: goto n32;
+ case Iop_Sar32: goto n32;
+ case Iop_Shr32: goto n32;
+ case Iop_16Uto32: goto n32;
+ case Iop_16Sto32: goto n32;
+ case Iop_F64toI32S: goto n32;
+ case Iop_16HLto32: goto n32;
+ case Iop_MullS16: goto n32;
+ case Iop_MullU16: goto n32;
case Iop_PRemC3210F64: goto n32;
- case Iop_DivU32: goto n32;
- case Iop_DivS32: goto n32;
- case Iop_V128to32: goto n32;
+ case Iop_DivU32: goto n32;
+ case Iop_DivS32: goto n32;
+ case Iop_V128to32: goto n32;
/* cases where result range is very limited and clearly cannot
be a pointer */
case Iop_32HLto64: goto n64;
case Iop_DivModU64to32: goto n64;
case Iop_DivModS64to32: goto n64;
- case Iop_F64toI64: goto n64;
+ case Iop_F64toI64S: goto n64;
case Iop_MullS32: goto n64;
case Iop_MullU32: goto n64;
case Iop_DivU64: goto n64;
case Iop_RoundF64toInt:
case Iop_RoundF64toF32:
- case Iop_F64toI64:
- case Iop_I64toF64:
+ case Iop_F64toI64S:
+ case Iop_I64StoF64:
case Iop_SinF64:
case Iop_CosF64:
case Iop_TanF64:
/* I32(rm) x I64/F64 -> I64/F64 */
return mkLazy2(mce, Ity_I64, vatom1, vatom2);
- case Iop_F64toI32:
+ case Iop_F64toI32S:
case Iop_F64toF32:
/* First arg is I32 (rounding mode), second is F64 (data). */
return mkLazy2(mce, Ity_I32, vatom1, vatom2);
- case Iop_F64toI16:
+ case Iop_F64toI16S:
/* First arg is I32 (rounding mode), second is F64 (data). */
return mkLazy2(mce, Ity_I16, vatom1, vatom2);
return assignNew('V', mce, Ity_V128, unop(op, vatom));
case Iop_F32toF64:
- case Iop_I32toF64:
+ case Iop_I32StoF64:
case Iop_NegF64:
case Iop_AbsF64:
case Iop_Est5FRSqrt: