|
From: <sv...@va...> - 2012-10-15 14:03:31
|
cborntra 2012-10-15 15:03:20 +0100 (Mon, 15 Oct 2012)
New Revision: 2551
Log:
check in ltg jhe fix. Fixes https://bugs.kde.org/show_bug.cgi?id=308427
Modified files:
trunk/priv/guest_s390_helpers.c
Modified: trunk/priv/guest_s390_helpers.c (+5 -1)
===================================================================
--- trunk/priv/guest_s390_helpers.c 2012-10-13 20:34:19 +01:00 (rev 2550)
+++ trunk/priv/guest_s390_helpers.c 2012-10-15 15:03:20 +01:00 (rev 2551)
@@ -1522,7 +1522,11 @@
return unop(Iop_1Uto32, binop(Iop_CmpLT64S, mkU64(0), cc_dep1));
}
if (cond == 8 + 2 || cond == 8 + 2 + 1) {
- return unop(Iop_1Uto32, binop(Iop_CmpLE64S, mkU64(0), cc_dep1));
+ /* special case =0 || >0 to handle some gcc magic that only checks
+ * the first bit. Fixes 308427
+ */
+ return unop(Iop_64to32, binop(Iop_Xor64, binop(Iop_Shr64,cc_dep1,mkU8(63)),
+ mkU64(1)));
}
if (cond == 8 + 4 + 2 || cond == 8 + 4 + 2 + 1) {
return mkU32(1);
|