https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101332
Bug ID: 101332
Summary: [12 Regression] FAIL: g++.dg/opt/pr91838.C
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: hjl.tools at gmail dot com
CC: crazylht at gmail dot com
Target Milestone: ---
Target: x86-64
On x86-64, r12-1764 caused
FAIL: g++.dg/opt/pr91838.C
with -march=skylake-avx512:
[hjl@gnu-skx-1 g++]$ gcc -S
/export/gnu/import/git/gitlab/x86-gcc/gcc/testsuite/g++.dg/opt/pr91838.C -O2
-Wno-psabi -march=skylake-avx512
[hjl@gnu-skx-1 g++]$ cat pr91838.s
.file "pr91838.C"
.text
.p2align 4
.globl _Z1fDv8_h
.type _Z1fDv8_h, @function
_Z1fDv8_h:
.LFB0:
.cfi_startproc
vpxor %xmm0, %xmm0, %xmm0
ret
.cfi_endproc
.LFE0:
.size _Z1fDv8_h, .-_Z1fDv8_h
.ident "GCC: (GNU) 11.1.1 20210531 (Red Hat 11.1.1-3)"
.section .note.GNU-stack,"",@progbits
[hjl@gnu-skx-1 g++]$
/export/users/hjl/build/gnu/tools-build/gcc-gitlab-native/build-x86_64-linux/gcc/testsuite/g++8/../../xg++
-B/export/users/hjl/build/gnu/tools-build/gcc-gitlab-native/build-x86_64-linux/gcc/testsuite/g++8/../../
/export/gnu/import/git/gitlab/x86-gcc/gcc/testsuite/g++.dg/opt/pr91838.C
-fdiagnostics-plain-output -nostdinc++
-I/export/users/hjl/build/gnu/tools-build/gcc-gitlab-native/build-x86_64-linux/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
-I/export/users/hjl/build/gnu/tools-build/gcc-gitlab-native/build-x86_64-linux/x86_64-pc-linux-gnu/libstdc++-v3/include
-I/export/gnu/import/git/gitlab/x86-gcc/libstdc++-v3/libsupc++
-I/export/gnu/import/git/gitlab/x86-gcc/libstdc++-v3/include/backward
-I/export/gnu/import/git/gitlab/x86-gcc/libstdc++-v3/testsuite/util
-fmessage-length=0 -std=c++2a -pedantic-errors -Wno-long-long -O2 -Wno-psabi -w
-masm=att -ffat-lto-objects -fno-ident -S -o pr91838.s -march=skylake-avx512
[hjl@gnu-skx-1 g++]$ cat pr91838.s
.file "pr91838.C"
.text
.p2align 4
.globl _Z1fDv8_h
.type _Z1fDv8_h, @function
_Z1fDv8_h:
.LFB0:
.cfi_startproc
movl $2056, %eax
vmovd %eax, %xmm2
vpshuflw $0, %xmm2, %xmm1
vpmovzxbw %xmm1, %xmm1
vpmovzxbw %xmm0, %xmm0
vpsrlvw %xmm1, %xmm0, %xmm0
vpmovwb %xmm0, %xmm0
ret
.cfi_endproc
.LFE0:
.size _Z1fDv8_h, .-_Z1fDv8_h
.section .note.GNU-stack,"",@progbits
[hjl@gnu-skx-1 g++]$