[Bug target/108415] New: ICE in emit_library_call_value_1 at gcc/calls.cc:4181
linkw at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jan 16 06:35:38 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108415
Bug ID: 108415
Summary: ICE in emit_library_call_value_1 at gcc/calls.cc:4181
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: linkw at gcc dot gnu.org
CC: bergner at gcc dot gnu.org, linkw at gcc dot gnu.org,
marxin at gcc dot gnu.org, segher at gcc dot gnu.org
Depends on: 108240
Target Milestone: ---
Target: powerpc
+++ This bug was initially created as a clone of Bug #108240 +++
For the case
/home/marxin/Programming/gcc/gcc/testsuite/gfortran.dg/minloc_string_1.f90,
with options:
-mmodulo -mcpu=401 -m64 (Linux and the default cpu power8)
Or options:
-m32 -mcpu=401 -mmodulo (Linux BE and the default cpu power8)
we can see the ICE which is exactly as that in PR108240.
This bug is separated from PR108240, as it's a latent bug, the ICE itself is
actually nothing to do with r13-4894 which rework powerpc64 handling.
The root cause is that -mcpu=401 implies soft float and -mmodulo implies
ISA_3_0_MASKS_SERVER
(VSX), they conflicts very much, but this check is too early:
if (!TARGET_HARD_FLOAT)
{
if (rs6000_isa_flags_explicit & OPTION_MASK_VSX)
msg = N_("%<-mvsx%> requires hardware floating point");
else
{
rs6000_isa_flags &= ~ OPTION_MASK_VSX;
rs6000_isa_flags_explicit |= OPTION_MASK_VSX;
}
}
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108240
[Bug 108240] [13 Regression] ICE in emit_library_call_value_1 at
gcc/calls.cc:4181 since r13-4894-gacc727cf02a144
More information about the Gcc-bugs
mailing list