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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2026-01-13
      Known to work|                            |13.4.0
             Status|UNCONFIRMED                 |NEW
   Target Milestone|16.0                        |14.4
      Known to fail|                            |14.1.0
            Summary|internal compiler error: in |[14/15/16 Regression]
                   |prepare_cmp_insn, at        |internal compiler error: in
                   |optabs.cc:4589              |prepare_cmp_insn, at
                   |                            |optabs.cc:4589

--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Reduced testcase:
```
typedef int __attribute__((vector_size(sizeof(int)*2))) v2i;
typedef long __attribute__((vector_size(sizeof(long)*2))) v2l;

v2l f(v2i a)
{
  v2l  t = __builtin_convertvector(a, v2l);
  t = t > 0 ? t : -t;
  return t;
}
```

So I think vector type, this transformation is correct but only if there is cmp
optab here or an abs optab.

Reply via email to