This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] emit_store_flag: Use recursive call for the xor case
- From: "Andreas Krebbel" <krebbel at linux dot vnet dot ibm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: bonzini at gnu dot org
- Date: Fri, 24 Jul 2009 12:54:51 +0200
- Subject: [PATCH] emit_store_flag: Use recursive call for the xor case
Hi,
the fix for PR40597 prevents certain compares from being implemented
without conditional jumps.
Fixed with the attached patch.
Bootstrapped on s390x.
Ok for mainline?
Bye,
-Andreas-
2009-07-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* expmed.c (emit_store_flag): Use a recursive call to optimize the
xor case.
Index: gcc/expmed.c
===================================================================
--- gcc/expmed.c.orig 2009-07-23 12:48:24.000000000 +0200
+++ gcc/expmed.c 2009-07-24 09:46:43.000000000 +0200
@@ -5577,8 +5577,8 @@ emit_store_flag (rtx target, enum rtx_co
tem = expand_binop (mode, sub_optab, op0, op1, subtarget, 1,
OPTAB_WIDEN);
if (tem != 0)
- tem = emit_store_flag_1 (target, code, tem, const0_rtx,
- mode, unsignedp, normalizep, target_mode);
+ tem = emit_store_flag (target, code, tem, const0_rtx,
+ mode, unsignedp, normalizep);
if (tem != 0)
return tem;