[PATCH] D146683: [DAG] Conservatively check the VSELECT Operation Action in tryToFoldExtendSelectLoad

LuoYuanke via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 23 05:41:40 PDT 2023


LuoYuanke added inline comments.


================
Comment at: llvm/test/CodeGen/X86/select-ext.ll:97
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    psllq $63, %xmm0
-; CHECK-NEXT:    pmovzxdq {{.*#+}} xmm1 = mem[0],zero,mem[1],zero
-; CHECK-NEXT:    pmovzxdq {{.*#+}} xmm2 = mem[0],zero,mem[1],zero
-; CHECK-NEXT:    blendvpd %xmm0, %xmm2, %xmm1
-; CHECK-NEXT:    movapd %xmm1, %xmm0
+; CHECK-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
+; CHECK-NEXT:    pslld $31, %xmm0
----------------
It seems generate more code. Probably you need check "Level <= AfterLegalizeVectorOps" in tryToFoldExtendSelectLoad(), so that there is more combine opportunity.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146683/new/

https://reviews.llvm.org/D146683



More information about the llvm-commits mailing list