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

            Bug ID: 96968
           Summary: aarch64 : ICE in vregs pass lowering
                    __builtin_aarch64_get_fpcr
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: iains at gcc dot gnu.org
  Target Milestone: ---

Testcase from FX:

int main (void) {
  unsigned int fpcr;
  fpcr = __builtin_aarch64_get_fpcr ();
}

gcc11 / master r11-3035.

$ ./gcc/xgcc -Bgcc ~/fpcr-test-a.c -S
.../fpcr-test-a.c: In function ‘main’:
.../fpcr-test-a.c:7:1: error: unrecognizable insn:
    7 | }
      | ^
(insn 5 2 6 2 (set (mem/c:SI (plus:DI (reg/f:DI 87 virtual-stack-vars)
                (const_int -4 [0xfffffffffffffffc])) [1 fpcr+0 S4 A32])
        (unspec_volatile:SI [
                (const_int 0 [0])
            ] UNSPECV_GET_FPCR)) ".../fpcr-test-a.c":5:10 -1
     (nil))
during RTL pass: vregs
.../fpcr-test-a.c:7:1: internal compiler error: in extract_insn, at
recog.c:2294
0x61cf73 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        ../../src/gcc/rtl-error.c:108
0x61cfa7 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        ../../src/gcc/rtl-error.c:116
0xbdd5ef extract_insn(rtx_insn*)
        ../../src/gcc/recog.c:2294
0x96407b instantiate_virtual_regs_in_insn
        ../../src/gcc/function.c:1607
0x96407b instantiate_virtual_regs
        ../../src/gcc/function.c:1977
0x96407b execute
        ../../src/gcc/function.c:2026

Reply via email to