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).
Andrew
2011-08-30 Andrew Stubbs <a...@codesourcery.com>
gcc/
* 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)