https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83604
Bug ID: 83604 Summary: [8 Regression] ICE in copy_to_mode_reg, at explow.c:630 Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: jakub at gcc dot gnu.org, kyukhin at gcc dot gnu.org Target Milestone: --- Host: x86_64-linux-gnu Target: x86_64-linux-gnu Build: x86_64-linux-gnu Starting from r255572 we ICE on: $ gcc /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/sse-13.c In file included from /home/marxin/bin/gcc/lib64/gcc/x86_64-pc-linux-gnu/8.0.0/include/immintrin.h:105, from /home/marxin/bin/gcc/lib64/gcc/x86_64-pc-linux-gnu/8.0.0/include/x86intrin.h:48, from /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/sse-13.c:680: /home/marxin/bin/gcc/lib64/gcc/x86_64-pc-linux-gnu/8.0.0/include/vaesintrin.h: In function ‘_mm256_aesdec_epi128’: /home/marxin/bin/gcc/lib64/gcc/x86_64-pc-linux-gnu/8.0.0/include/vaesintrin.h:12:1: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6 _mm256_aesdec_epi128 (__m256i __A, __m256i __B) ^~~~~~~~~~~~~~~~~~~~ /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/sse-13.c: In function ‘_mm256_aesenclast_epi128’: /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/sse-13.c:680: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi] #include <x86intrin.h> In file included from /home/marxin/bin/gcc/lib64/gcc/x86_64-pc-linux-gnu/8.0.0/include/immintrin.h:103, from /home/marxin/bin/gcc/lib64/gcc/x86_64-pc-linux-gnu/8.0.0/include/x86intrin.h:48, from /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/sse-13.c:680: /home/marxin/bin/gcc/lib64/gcc/x86_64-pc-linux-gnu/8.0.0/include/gfniintrin.h: In function ‘_mm_mask_gf2p8mul_epi8’: /home/marxin/bin/gcc/lib64/gcc/x86_64-pc-linux-gnu/8.0.0/include/gfniintrin.h:132:20: error: ‘__builtin_ia32_vgf2p8mulb_v16qi_mask’ needs isa option -m32 -mgfni -mavx512bw return (__m128i) __builtin_ia32_vgf2p8mulb_v16qi_mask ((__v16qi) __C, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (__v16qi) __D, ~~~~~~~~~~~~~~ (__v16qi)__A, __B); ~~~~~~~~~~~~~~~~~~ /home/marxin/bin/gcc/lib64/gcc/x86_64-pc-linux-gnu/8.0.0/include/gfniintrin.h: In function ‘_mm_maskz_gf2p8mul_epi8’: /home/marxin/bin/gcc/lib64/gcc/x86_64-pc-linux-gnu/8.0.0/include/gfniintrin.h:141:20: error: ‘__builtin_ia32_vgf2p8mulb_v16qi_mask’ needs isa option -m32 -mgfni -mavx512bw return (__m128i) __builtin_ia32_vgf2p8mulb_v16qi_mask ((__v16qi) __B, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (__v16qi) __C, (__v16qi) _mm_setzero_si128 (), __A); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ during RTL pass: expand In file included from /home/marxin/bin/gcc/lib64/gcc/x86_64-pc-linux-gnu/8.0.0/include/immintrin.h:105, from /home/marxin/bin/gcc/lib64/gcc/x86_64-pc-linux-gnu/8.0.0/include/x86intrin.h:48, from /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/sse-13.c:680: /home/marxin/bin/gcc/lib64/gcc/x86_64-pc-linux-gnu/8.0.0/include/vaesintrin.h: In function ‘_mm256_aesdec_epi128’: /home/marxin/bin/gcc/lib64/gcc/x86_64-pc-linux-gnu/8.0.0/include/vaesintrin.h:14:19: internal compiler error: in copy_to_mode_reg, at explow.c:630 return (__m256i)__builtin_ia32_vaesdec_v32qi ((__v32qi) __A, (__v32qi) __B); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0x84a72b copy_to_mode_reg(machine_mode, rtx_def*) ../../gcc/explow.c:630 0x5c1f91 ix86_expand_binop_builtin ../../gcc/config/i386/i386.c:32703 0x5c1f91 ix86_expand_args_builtin ../../gcc/config/i386/i386.c:33622 0xf6242f ix86_expand_builtin ../../gcc/config/i386/i386.c:37504 0x71fe0a expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int) ../../gcc/builtins.c:6611 0x864643 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) ../../gcc/expr.c:10910 0x870553 store_expr_with_bounds(tree_node*, rtx_def*, int, bool, bool, tree_node*) ../../gcc/expr.c:5577 0x871d77 expand_assignment(tree_node*, tree_node*, bool) ../../gcc/expr.c:5345 0x7466b1 expand_call_stmt ../../gcc/cfgexpand.c:2677 0x7466b1 expand_gimple_stmt_1 ../../gcc/cfgexpand.c:3613 0x7466b1 expand_gimple_stmt ../../gcc/cfgexpand.c:3779 0x7488b7 expand_gimple_basic_block ../../gcc/cfgexpand.c:5796 0x74e5ce execute ../../gcc/cfgexpand.c:6402