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

            Bug ID: 126676
           Summary: [17 Regression] ICE with XFmode under -mavx10.2 -mapxf
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: haochen.jiang at intel dot com
  Target Milestone: ---

Trunk will ICE for this piece of code under '-O2 -mavx10.2 -mapxf':

int g (long double value, bool flag)
{
  if (value == 0 && flag)
    return 1;
  return 0;
}

with

error: unrecognizable insn:
    6 | }
      | ^
(insn 10 9 11 2 (set (reg:CCFP 17 flags)
        (unspec:CCFP [
                (unspec:CCFP [
                        (compare:CCFP (reg/v:XF 101 [ value ])
                            (reg:XF 104))
                    ] UNSPEC_OPTCOMX)
            ] UNSPEC_NOTRAP)) "<source>":3:18 -1
     (nil))
during RTL pass: vregs

It seems to me like a latent issue but exposed on trunk for comx autogen since
GCC16.1 is ok. However, if it is '-O2 -mavx10.2', it will also not raise ICE.

Ref: https://godbolt.org/z/T9b9ocY9E

Reply via email to