Optimize load 0.0 for NEON seems not to work
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linaro GCC |
Incomplete
|
Medium
|
Unassigned |
Bug Description
with latest gcc this patch here
http://
is causing cairo to have broken rendering. I have not dug into cairo but this patch seems to be responsible
If I revert this it works all well. Then I also see that the testcase that this patch adds
gcc/testsuite/
does not pass, so this optimization is not triggering or regressing
The output I get is when compiled using
-mfpu=neon -mfloat-abi=softfp -march=armv7-a -S -O3
it remains same with -mfloat-abi=hard too
.arch armv7-a
.eabi_attribute 27, 3
.fpu neon
.eabi_attribute 20, 1
.eabi_attribute 21, 1
.eabi_attribute 23, 3
.eabi_attribute 24, 1
.eabi_attribute 25, 1
.eabi_attribute 26, 2
.eabi_attribute 30, 2
.eabi_attribute 18, 4
.file "test.c"
.text
.align 2
.p2align 4,,15
.global bar
.type bar, %function
bar:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
movw r1, #:lower16:x
mov r2, #0
movt r1, #:upper16:x
mov r3, #0
strd r2, [r1]
bx lr
as can be seen it does not generate vmov.i32 d16, #0 as expected
Changed in gcc-linaro: | |
status: | New → Confirmed |
status: | Confirmed → New |
importance: | Undecided → Medium |
Hi there. Could you tell me a bit more about the problem? What version of cairo? How is the rendering broken? How can I reproduce it?