[PATCH] D149200: [X86][WIP] Enable `foldSelectWithIdentityConstant` for scalar types.

Phoebe Wang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 25 20:40:50 PDT 2023


pengfei added inline comments.


================
Comment at: llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll:1889-1892
+; X86-NEXT:    movl ${{\.?LCPI[0-9]+_[0-9]+}}, %ecx
+; X86-NEXT:    leal 4(%ecx), %edx
+; X86-NEXT:    testl %eax, %eax
+; X86-NEXT:    cmovnsl %ecx, %edx
----------------
Is this change intentional?


================
Comment at: llvm/test/CodeGen/X86/bool-simplify.ll:56-59
+; CHECK-NEXT:    setae %dl
+; CHECK-NEXT:    leal (%rdi,%rcx), %eax
+; CHECK-NEXT:    testb %dl, %dl
+; CHECK-NEXT:    cmovnel %ecx, %eax
----------------
This looks regression to me. ditto below.


================
Comment at: llvm/test/CodeGen/X86/bool-vector.ll:68
+; X86-NEXT:    testb $1, {{[0-9]+}}(%esp)
+; X86-NEXT:    jne .LBB1_1
+; X86-NEXT:  # %bb.2: # %entry
----------------
Introducing many branches, which doesn't look good.


================
Comment at: llvm/test/CodeGen/X86/fold-select.ll:10-16
+; CHECK-NEXT:    vpxor %xmm0, %xmm0, %xmm0
+; CHECK-NEXT:    vpcmpgtw %xmm4, %xmm0, %k0 {%k1}
+; CHECK-NEXT:    vpand %xmm1, %xmm2, %xmm0
+; CHECK-NEXT:    vpsllw $15, %xmm0, %xmm0
+; CHECK-NEXT:    vpmovw2m %xmm0, %k2
+; CHECK-NEXT:    kandnb %k2, %k1, %k1
+; CHECK-NEXT:    korb %k1, %k0, %k1
----------------
Regression? ditto below.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D149200



More information about the llvm-commits mailing list