[ARM] Thumb2 replicated constants

Message ID 4E5CF46F.5090809@codesourcery.com
State New
Headers show

Commit Message

Andrew Stubbs Aug. 30, 2011, 2:32 p.m.
On 26/08/11 11:03, Andrew Stubbs wrote:
> There was a bug I found in final testing, so this has been delayed
> somewhat.
> I've just committed this version. There are a few minor changes to the
> way negative/inverted constants are generated.

Bernd found another bug whist testing for arm. Apparently there was a 
bug that didn't show up in my thumb tests, although I have no clue why?

Anyway, fixed thusly and committed as obvious (and urgent).



2011-08-30  Andrew Stubbs  <ams@codesourcery.com>

	* config/arm/arm.c (arm_gen_constant): Set can_negate correctly
	when code is SET.

--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -3367,8 +3367,8 @@  arm_gen_constant (enum rtx_code code, enum machine_mode mode, rtx cond,
 	  if (code == SET)
+	      can_negate = can_invert;
 	      can_invert = 0;
-	      can_negate = 1;
 	      code = PLUS;
 	  else if (code == MINUS)