ICE when reloading neon registers from out-of-range offsets
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linaro GCC |
Fix Released
|
Medium
|
Richard Sandiford | ||
Linaro GCC Tracking |
Fix Released
|
Undecided
|
Richard Sandiford | ||
gcc |
Fix Released
|
Medium
|
Bug Description
The ref_vldX.c test from:
http://
fails when compiled with -O0 -marm:
(insn 1817 1816 1818 2
/home/export/
5 (parallel [
(set (reg:CI 303 [ D.14795 ])
(set (reg:SI 3 r3 [1023])
]) 1614 {neon_vld3qav8hi} (nil))
ref_vldX.c:157: confused by earlier errors, bailing out
Related branches
- Linaro Toolchain Developers: Pending requested
- Linaro Toolchain Developers: Pending requested
-
Diff: 67 lines (+42/-3)3 files modifiedChangeLog.linaro (+12/-0)
gcc/config/arm/arm.c (+6/-3)
gcc/testsuite/gcc.target/arm/neon-modes-2.c (+24/-0)
- Andrew Stubbs (community): Approve
-
Diff: 71 lines (+43/-3)3 files modifiedChangeLog.linaro (+13/-0)
gcc/config/arm/arm.c (+6/-3)
gcc/testsuite/gcc.target/arm/neon-modes-2.c (+24/-0)
Changed in gcc-linaro: | |
assignee: | nobody → Richard Sandiford (rsandifo) |
status: | New → In Progress |
Changed in gcc-linaro: | |
importance: | Undecided → Medium |
Changed in gcc: | |
importance: | Unknown → Medium |
status: | Unknown → In Progress |
Changed in gcc-linaro: | |
status: | Fix Committed → Fix Released |
Changed in gcc-linaro-tracking: | |
status: | In Progress → Fix Released |
Changed in gcc: | |
status: | In Progress → Fix Released |
tags: | added: 46merge |
The ref_vldX.c test from:
http:// gitorious. org/arm- neon-tests/ arm-neon- tests
fails when compiled with -O0 -marm:
(insn 1817 1816 1818 2 /home/export/ usr/gcc- linaro/ H-x86_64- unknown- linux-gnu/ bin/../ lib/gcc/ arm-linux- gnueabi/ 4.5.2/include/ arm_neon. h:921
(unspec: CI [
(mem: CI (reg:SI 3 r3 [1023]) [0 S48 A64])
(reg: CI 303 [ D.14795 ])
(unspec: V8HI [
(const_ int 0 [0x0])
] 191)
] 106))
(plus: SI (reg:SI 3 r3 [1023])
( const_int 24 [0x18])))
5 (parallel [
(set (reg:CI 303 [ D.14795 ])
(set (reg:SI 3 r3 [1023])
]) 1614 {neon_vld3qav8hi} (nil))
ref_vldX.c:157: confused by earlier errors, bailing out
This is due to a bug in the ARM secondary_reload code.