https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127110

--- Comment #2 from Drea Pinski <pinskia at gcc dot gnu.org> ---
Even this one should be optimized:
```
#ifdef __SIZEOF_INT128__
#define width 256
#else
#define width 128
#endif

typedef unsigned _BitInt(32) bit32;
typedef unsigned _BitInt(width) full;

full f(bit32 a, bit32 b)
{
  full aa = a;
  full bb = b;
  return aa*bb;
}

```

This just needs to be a full 32x32->64 zero_extended to 256 and inlined.

The question comes; should this happen in gimple-lower-bitint.cc or in a
different pass.

Reply via email to