[PATCH] D66004: [WIP][X86][SSE] SimplifyDemandedVectorEltsForTargetNode - add general shuffle combining support
Dávid Bolvanský via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Jun 21 12:43:03 PDT 2020
xbolva00 added inline comments.
================
Comment at: llvm/test/CodeGen/X86/avx512bwvl-intrinsics-upgrade.ll:5637
; X64-NEXT: kmovw %k0, %ecx # encoding: [0xc5,0xf8,0x93,0xc8]
; X64-NEXT: vmovd %ecx, %xmm0 # EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
+; X64-NEXT: vpmovzxdq %xmm0, %xmm0 # EVEX TO VEX Compression encoding: [0xc4,0xe2,0x79,0x35,0xc0]
----------------
Regression
================
Comment at: llvm/test/CodeGen/X86/buildvec-insertvec.ll:312
+; SSE41-NEXT: movd %eax, %xmm0
+; SSE41-NEXT: pmovzxdq {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero
+; SSE41-NEXT: pinsrw $3, %esi, %xmm0
----------------
Extra instructio (vs sse2)
================
Comment at: llvm/test/CodeGen/X86/masked_expandload.ll:1302
+; SSE42-NEXT: movsd {{.*#+}} xmm1 = mem[0],zero
+; SSE42-NEXT: insertps {{.*#+}} xmm0 = xmm0[0,1],mem[0],xmm0[3]
+; SSE42-NEXT: insertps {{.*#+}} xmm0 = xmm0[0,1,2],mem[0]
----------------
Regression
================
Comment at: llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll:559
; AVX512VBMI: # %bb.0:
-; AVX512VBMI-NEXT: vmovdqa {{.*#+}} xmm1 = [1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61]
-; AVX512VBMI-NEXT: vpermb %zmm0, %zmm1, %zmm0
-; AVX512VBMI-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
+; AVX512VBMI-NEXT: vpbroadcastq {{.*#+}} zmm1 = [5569058560453190945,5569058560453190945,5569058560453190945,5569058560453190945,5569058560453190945,5569058560453190945,5569058560453190945,5569058560453190945]
+; AVX512VBMI-NEXT: vextracti64x4 $1, %zmm0, %ymm2
----------------
Worse
================
Comment at: llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll:648
; AVX512VBMI: # %bb.0:
-; AVX512VBMI-NEXT: vmovdqa {{.*#+}} xmm1 = [1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,62]
-; AVX512VBMI-NEXT: vpermb %zmm0, %zmm1, %zmm0
-; AVX512VBMI-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
+; AVX512VBMI-NEXT: vpbroadcastq {{.*#+}} zmm1 = [5641116154491118881,5641116154491118881,5641116154491118881,5641116154491118881,5641116154491118881,5641116154491118881,5641116154491118881,5641116154491118881]
+; AVX512VBMI-NEXT: vextracti64x4 $1, %zmm0, %ymm2
----------------
Ouch
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D66004/new/
https://reviews.llvm.org/D66004
More information about the llvm-commits
mailing list