https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80098
Bug ID: 80098
Summary: ICE in curr_insn_transform, at lra-constraints.c:3816
on ppc64le
Product: gcc
Version: unknown
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
Target Milestone: ---
Host: x86_64-linux-gnu
Target: ppc64le-linux-gnu
Running cross-compiler, I see following ICE:
$ cat /tmp/ice.i
int a;
float b;
float c ()
{
if (b == a)
return b;
return a;
}
$ ppc64le-linux-gnu-gcc /tmp/ice.i -mmodulo -O3 -mno-vsx
/tmp/ice.i: In function ācā:
/tmp/ice.i:8:1: error: unable to generate reloads for:
}
^
(insn 29 28 30 2 (set (reg:V2DI 163)
(if_then_else:V2DI (eq:CCFP (reg:SF 156 [ _2 ])
(reg:SF 157 [ <retval> ]))
(const_vector:V2DI [
(const_int -1 [0xffffffffffffffff])
(const_int -1 [0xffffffffffffffff])
])
(const_vector:V2DI [
(const_int 0 [0])
(const_int 0 [0])
]))) "/tmp/ice.i":8 337 {*fpmasksf}
(nil))
/tmp/ice.i:8:1: internal compiler error: in curr_insn_transform, at
lra-constraints.c:3816
0xb09768 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
.././../gcc/rtl-error.c:108
0xa09f67 curr_insn_transform
.././../gcc/lra-constraints.c:3816
0xa0ac36 lra_constraints(bool)
.././../gcc/lra-constraints.c:4785
0x9f3fac lra(_IO_FILE*)
.././../gcc/lra.c:2392
0x9a8901 do_reload
.././../gcc/ira.c:5451
0x9a8901 execute
.././../gcc/ira.c:5635