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