------- Comment #7 from rearnsha at gcc dot gnu dot org 2010-02-08 11:26
-------
(In reply to comment #6)
> Does the ARM backend already support conditional compares?
>
Yes, but only by manipulating store-flag sequences in the combine pass. That's
a poor-man's implementation and it can lead to some sequences that don't get
fully simplified.
That code could be compiled to
ldrb r3, [r4, #-4] @ zero_extendqisi2
cmp r3, #97
ldrbeq r3, [r4, #-3] @ zero_extendqisi2
cmpeq r3, #98
ldrbeq r3, [r4, #-2] @ zero_extendqisi2
cmpeq r3, #99
ldrbeq r3, [r4, #-1] @ zero_extendqisi2
cmpeq r3, #100
but the compiler currently has no chance of achieving that.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11831