https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114070
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2024-02-23
Ever confirmed|0 |1
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot
gnu.org
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Btw, I can't reproduce with a cross configured like
../configure --target=sparc64-unknown-linux-gnu --enable-languages=c
also not when adding -fPIE. Is there any other magic happening? What's
the cc1 command-line?
Hmm, looks like there are assembler tests that disable CPU support features...
#define HAVE_AS_FMAF_HPC_VIS3
looks needed, then it reproduces.
We are expanding
_28 = .VCOND (vect__165.122_219, { 16384, 16384 }, { -1, -1 }, _112, 114);
and when expanding _112 we have
<ssa_name 0x7ffff5e07bd0
type <vector_type 0x7ffff5cdc9d8
type <boolean_type 0x7ffff5c91930 public SI
size <integer_cst 0x7ffff6a20060 constant 32>
unit-size <integer_cst 0x7ffff6a20078 constant 4>
align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff5c91930 precision:32 min <integer_cst 0x7ffff5d71210 -2147483648> max
<integer_cst 0x7ffff5d71258 2147483647>>
V2SI
size <integer_cst 0x7ffff6a0be10 constant 64>
unit-size <integer_cst 0x7ffff6a0be28 constant 8>
align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff5cdc9d8 nunits:2>
visited
def_stmt _112 = vect_cst__33 == { 0, 0 };
version:112>
so the issue is that we can't expand vect_cst__33 == { 0, 0 } and
this goes downhill after some match.pd stuff putting up VEC_CONDs for
masks.