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

            Bug ID: 93670
           Summary: ICE for _mm256_extractf32x4_ps (unrecognized insn)
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: crazylht at gmail dot com
  Target Milestone: ---
            Target: i386, x86-64

cat test.c
---
#include<immintrin.h>
#include<assert.h>
__m128i i__mm256_extractf32x4_ps_VEXTRACTF32X4(__m256i arg_0, int arg_1) {
  __m128i result;
  switch (arg_1) {
  case 0x00: // arg_1
    result = _mm256_extracti32x4_epi32(arg_0, 0x00);
    break;
  case 0x01: // arg_1
    result = _mm256_extracti32x4_epi32(arg_0, 0x01);
    break;
  default: // arg_1
    assert(0);
    break;
  }
  return result;
}
---

gcc10_20200110 -O2 -S test.c -mavx512f -mavx512vl 

error:

test.c: In function ‘i__mm256_extractf32x4_ps_VEXTRACTF32X4’:
test.c:17:1: error: unrecognizable insn:
   17 | }
      | ^
(insn 20 19 21 6 (set (reg:V4SI 89)
        (vec_merge:V4SI (vec_select:V4SI (reg:V8SI 90)
                (parallel [
                        (const_int 0 [0])
                        (const_int 1 [0x1])
                        (const_int 2 [0x2])
                        (const_int 3 [0x3])
                    ]))
            (reg:V4SI 91)
            (reg:QI 92)))
"/export/users2/liuhongt/install/gcc10_trunk/lib/gcc/x86_64-pc-linux-gnu/10.0.0/include/avx512vlintrin.h":10055:20
-1
     (nil))
during RTL pass: vregs
test.c:17:1: internal compiler error: in extract_insn, at recog.c:2294
0x1185247 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        ../../../gcc/gnu-toolchain/gcc/gcc/rtl-error.c:108
0x1185288 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        ../../../gcc/gnu-toolchain/gcc/gcc/rtl-error.c:116
0x111d0d4 extract_insn(rtx_insn*)
        ../../../gcc/gnu-toolchain/gcc/gcc/recog.c:2294
0xd0eece instantiate_virtual_regs_in_insn
        ../../../gcc/gnu-toolchain/gcc/gcc/function.c:1607
0xd10517 instantiate_virtual_regs
        ../../../gcc/gnu-toolchain/gcc/gcc/function.c:1977
0xd105e2 execute
        ../../../gcc/gnu-toolchain/gcc/gcc/function.c:2026
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

affected intrinsics

_mm256_extractf32x4_ps
_mm256_mask_extractf32x4_ps
_mm256_maskz_extractf32x4_ps
_mm256_extracti32x4_epi32
_mm256_mask_extracti32x4_epi32
_mm256_maskz_extracti32x4_epi32

Reply via email to