(In reply to comment #4) > (If the pattern of comment #3 is to blame, then this ...
...probably fix it.
Index: arm.md =================================================================== --- arm.md (revision 184318) +++ arm.md (working copy) @@ -3505,7 +3505,12 @@ (match_operand:SI 2 "nonmemory_operand" "N,l")))] "TARGET_THUMB1" "lsl\\t%0, %1, %2" - [(set_attr "length" "2") + [(set (attr "length") + (if_then_else + (eq (symbol_ref ("which_alternative")) + (const_int 0)) + (const_int 4) + (const_int 2))) (set_attr "conds" "set")])
(define_expand "ashrdi3"
And otherwise: sorry for all the noise :-)
(In reply to comment #4)
> (If the pattern of comment #3 is to blame, then this ...
...probably fix it.
Index: arm.md ======= ======= ======= ======= ======= ======= ======= ======= ==== match_operand: SI 2 "nonmemory_operand" "N,l")))] alternative" ))
=======
--- arm.md (revision 184318)
+++ arm.md (working copy)
@@ -3505,7 +3505,12 @@
(
"TARGET_THUMB1"
"lsl\\t%0, %1, %2"
- [(set_attr "length" "2")
+ [(set (attr "length")
+ (if_then_else
+ (eq (symbol_ref ("which_
+ (const_int 0))
+ (const_int 4)
+ (const_int 2)))
(set_attr "conds" "set")])
(define_expand "ashrdi3"
And otherwise: sorry for all the noise :-)