| Summary: | [11 Regression] ICE in final_scan_insn_1, at final.c:3073 with -O3 -march=skylake-avx512 | ||
|---|---|---|---|
| Product: | gcc | Reporter: | Vsevolod Livinskii <vsevolod.livinskiy> |
| Component: | target | Assignee: | Not yet assigned to anyone <unassigned> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | asolokha, babokin, crazylht, marxin, regehr, vsevolod.livinskiy, zsojka |
| Priority: | P3 | Keywords: | ice-on-valid-code |
| Version: | 11.0 | ||
| Target Milestone: | 11.0 | ||
| Host: | Target: | x86_64-linux-gnu | |
| Build: | Known to work: | ||
| Known to fail: | Last reconfirmed: | 2020-08-24 00:00:00 | |
| Bug Depends on: | |||
| Bug Blocks: | 103035 | ||
Confirmed, CC author. Sorry for TYPO
---
(define_split
[(set (match_operand:DI 0 "mask_reg_operand")
(zero_extend:DI
- (not:DI (match_operand:SI 1 "mask_reg_operand"))))]
+ (not:SI (match_operand:SI 1 "mask_reg_operand"))))]
"TARGET_AVX512BW && reload_completed"
---
The master branch has been updated by hongtao Liu <liuhongt@gcc.gnu.org>: https://gcc.gnu.org/g:108477875f01798eecd7780207396b8c44930ae9 commit r11-2833-g108477875f01798eecd7780207396b8c44930ae9 Author: liuhongt <hongtao.liu@intel.com> Date: Mon Aug 24 20:52:20 2020 +0800 Refine typo to fix ICE. 2020-08-24 Hongtao Liu <hongtao.liu@intel.com> gcc/ChangeLog: PR target/96755 * config/i386/sse.md: Correct the mode of NOT operands to SImode. gcc/testsuite/ChangeLog: * gcc.target/i386/pr96755.c: New test. Fixed in GCC11. . |
>$ g++ -O3 -march=skylake-avx512 -c func.cpp func.cpp: In function ‘void test(short unsigned int, unsigned char, long long int)’: func.cpp:13:1: error: could not split insn 13 | } | ^ (insn 644 21 817 50 (set (reg:DI 70 k2 [orig:83 D.4406 ] [83]) (zero_extend:DI (not:SI (reg:SI 70 k2 [orig:505 b ] [505])))) "func.cpp":10:18 622 {*one_cmplsi2_1_zext} (nil)) during RTL pass: final func.cpp:13:1: internal compiler error: in final_scan_insn_1, at final.c:3073 0x7cf5e7 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /gcc/rtl-error.c:108 0x75b978 final_scan_insn_1 /gcc/final.c:3073 0xd9b5cf final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*) /gcc/final.c:3152 0xd9b8c7 final_1 /gcc/final.c:2020 0xd9c298 rest_of_handle_final /gcc/final.c:4658 0xd9c298 execute /gcc/final.c:4736 Reproducer: extern long var_22; extern int arr_3[]; extern int arr_4[][20][9]; short a; void test(unsigned short b, unsigned char e, long long g) { for (long c = 0; c < 20ULL; c = g) for (short d = 0; d < 9; d++) for (char f = e; f < 8; f += 4) { arr_3[f] = 0; var_22 = ~(unsigned)b; arr_4[c][d][f] = a; } } gcc version 11.0.0 20200823 (87c753ac241f25d222d46ba1ac66ceba89d6a200)