https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112380
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2023-11-04 Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #7) > That almost definitely just exposed the issue. Let me see if I can get a > testcase that fails without depending on that. New testcase which seems to have the same IR going into expand for GCC 13.2.0 and the trunk: ``` struct ureg_src { unsigned File : 4; unsigned : 2; unsigned : 2; unsigned : 2; unsigned : 1; unsigned IndirectFile : 4; unsigned IndirectSwizzle : 2; int : 16; int : 6; int : 16; int : 16; unsigned : 10; } __trans_tmp_1; int hh, nn; void ureg_scalar(struct ureg_src); void ntt_emit_texture_instr() { struct ureg_src sampler; unsigned char *t = ((char*)&sampler); unsigned char t1; unsigned t2, t3; if (nn) { sampler = __trans_tmp_1; t1 = *t; t2 = sampler.IndirectFile; t3 = sampler.IndirectSwizzle; } struct ureg_src reg = sampler; *t = t1; ureg_scalar(reg); } ```