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);
}
```

Reply via email to