[Bug target/94595] gcc.target/arm/thumb2-cond-cmp-*.c fail for cortex-m
clyon at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Sep 7 16:13:09 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94595
--- Comment #1 from Christophe Lyon <clyon at gcc dot gnu.org> ---
For thumb2-cond-cmp-4.c (if ( (i >= '+') ? (j <= '-') : 1) ) we generate:
* cortex-m0:
f:
cmp r0, #42
ble .L3
movs r3, #45
movs r2, #0
lsrs r0, r1, #31
cmp r3, r1
adcs r0, r0, r2
.L1:
bx lr
.L3:
movs r0, #1
b .L1
* cortex-m3:
f:
cmp r0, #42
ble .L3
cmp r1, #45
ite gt
movgt r0, #0
movle r0, #1
bx lr
.L3:
movs r0, #1
bx lr
* cortex-m7:
f:
cmp r1, #45
it gt
cmpgt r0, #42
ite le
movle r0, #1
movgt r0, #0
bx lr
* cortex-a9:
f:
cmp r1, #45
it gt
cmpgt r0, #42
ite le
movle r0, #1
movgt r0, #0
bx lr
More information about the Gcc-bugs
mailing list