|
From: <sv...@va...> - 2011-12-18 00:12:56
|
Author: florian
Date: 2011-12-18 00:08:17 +0000 (Sun, 18 Dec 2011)
New Revision: 2234
Log:
Handle Iop_ReinterpF32asI32 and Iop_ReinterpI32asF32 in insn selection.
Modified:
trunk/priv/host_s390_isel.c
Modified: trunk/priv/host_s390_isel.c
===================================================================
--- trunk/priv/host_s390_isel.c 2011-11-16 03:54:12 UTC (rev 2233)
+++ trunk/priv/host_s390_isel.c 2011-12-18 00:08:17 UTC (rev 2234)
@@ -1030,7 +1030,7 @@
return dst;
}
- if (unop == Iop_ReinterpF64asI64) {
+ if (unop == Iop_ReinterpF64asI64 || unop == Iop_ReinterpF32asI32) {
dst = newVRegI(env);
h1 = s390_isel_float_expr(env, arg); /* Process the operand */
addInstr(env, s390_insn_move(size, dst, h1));
@@ -1810,7 +1810,7 @@
return op == Iop_F128LOtoF64 ? dst_lo : dst_hi;
}
- if (op == Iop_ReinterpI64asF64) {
+ if (op == Iop_ReinterpI64asF64 || op == Iop_ReinterpI32asF32) {
dst = newVRegF(env);
h1 = s390_isel_int_expr(env, left); /* Process the operand */
addInstr(env, s390_insn_move(size, dst, h1));
|