[Bug target/52294] [4.7 Regression] [ARM Thumb] generated asm code produces "branch out of range" error in gas with -Os -mcpu=cortex-a9

rearnsha at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Feb 18 15:34:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52294

Richard Earnshaw <rearnsha at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|unassigned at gcc dot       |rearnsha at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #7 from Richard Earnshaw <rearnsha at gcc dot gnu.org> 2012-02-18 15:25:01 UTC ---
(In reply to comment #3)
> Richard, I suppose you mean the problem is in this define_insn:
> 
> (define_insn "*thumb1_ashlsi3"
>   [(set (match_operand:SI            0 "register_operand" "=l,l")
>         (ashift:SI (match_operand:SI 1 "register_operand" "l,0")
>                    (match_operand:SI 2 "nonmemory_operand" "N,l")))]
>   "TARGET_THUMB1"
>   "lsl\\t%0, %1, %2"
>   [(set_attr "length" "2")
>    (set_attr "conds" "set")])

No, that pattern is only for Thumb1, it never applies to Thumb2.

I'm currently testing a fix



More information about the Gcc-bugs mailing list