https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115816
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |diagnostic,
| |ice-on-invalid-code
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
Last reconfirmed| |2024-07-08
Target| |x86_64-*-*
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
register __attribute__((__vector_size__(16 * sizeof(float)))) float a asm
("zmm5"),
b asm("zmm6"), c asm ("zmm7");
__attribute__((target("sse4.1,arch=core2"))) void d() {
for (int e;;)
c[e] = a[e] < b[e];
}
for a testcase without "errors". It's invalid to refer to 'zmm' from a
function that has AVX512 disabled, but I think that's hard to diagnose
until it is too late.
The middle-end definitely doesn't expect this and we do not re-layout
globals. IIRC we had _some_ fixups during RTL expansion for this
but I'm quite sure it didn't involve global hardregs.