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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|ICE: output_operand:        |[12 Regression] ICE:
                   |incompatible floating point |output_operand:
                   |/ vector register operand   |incompatible floating point
                   |for '%s'                    |/ vector register operand
                   |                            |for '%s'
   Target Milestone|---                         |12.0

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Here is a GNU C testcase which shows the error:
#define vector __attribute__((vector_size(4*sizeof(float))))

typedef vector float v4sf;

v4sf f(int t)
{
  float tt = *(float*)&t;
  float t1 = tt;
  asm("":"+r"(t1));
  return (v4sf){t1,t1,t1,t1};
}

And it shows it is a regression from GCC 11 too.

Also vwcore fixes the issue.

Reply via email to