This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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;
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]