[Bug middle-end/91060] [10 regression] gcc.c-torture/execute/scal-to-vec1.c fails on armeb-none-linux-gnueabihf since r272843
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Jul 7 12:01:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91060
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rsandifo at gcc dot gnu.org
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Hmm, using a cross configured as
trunk/configure --target=armeb-none-linux-gnueabihf --with-cpu=cortex-a9
--with-fpu=neon-fp16 --enable-languages=c
and trimming the testcase to the first line I cannot reproduce the reported
assembly. I get at -O3
.arm
.fpu softvfp
.type main, %function
main:
@ args = 0, pretend = 0, frame = 16
@ frame_needed = 0, uses_anonymous_args = 0
movw ip, #:lower16:.LANCHOR0
push {r4, r5, lr}
movt ip, #:upper16:.LANCHOR0
mov r0, #0
mov r1, r0
mov r2, r0
ldr ip, [ip]
mov r3, r0
mov r5, #3
mov r4, #5
movt r1, 4
movt r2, 6
movt r3, 8
sub sp, sp, #20
sxth ip, ip
bfi r1, r4, #0, #16
add ip, ip, #2
sxth lr, ip
bfi r0, lr, #16, #16
cmp ip, lr
mov lr, #7
mov ip, #9
bfi r0, r5, #0, #16
bfi r2, lr, #0, #16
bfi r3, ip, #0, #16
strd r0, [sp]
strd r2, [sp, #8]
bne .L5
mov r0, #0
add sp, sp, #20
@ sp needed
pop {r4, r5, pc}
.L5:
bl abort
also the GIMPLE looks good to me, we compare only the first non-constant
element and optimized the others at compile-time.
Are you sure the first line fails? The ones with bitwise handling look
more "interesting" (^, & and |) since vector lowering plays odd tricks there
and VN elides an intermediate VIEW_CONVERT_EXPR.
Not sure what is required to do a runtest with qemu, I can try throwing
in newlib and binutils into a combined tree, but is that enough?
Maybe Richard can help here as well.
More information about the Gcc-bugs
mailing list