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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |mpolacek at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Started with r14-4140-g6851e3423c2b5ec6516efa0677745d25c905e079
The -O0 macro uses (int)(M) for years, but since that change we no longer fold
it to INTEGER_CST.

Reduced testcase:

typedef float V __attribute__((vector_size (32)));

consteval unsigned char
foo (int x)
{
  return x;
}

V
bar (V x, V y)
{
  return __builtin_ia32_blendps256 (x, y, (int) foo (0x23));
}

If the consteval function returns int rather than unsigned char, then it still
works.

Reply via email to