[PATCH] D120548: [AArch64] Try to convert signed to unsigned pred to re-use zext.
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 2 02:44:31 PST 2022
dmgreen added inline comments.
Herald added a project: All.
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:17096-17097
+ if (isUnsignedIntSetCC(CC))
+ Op1ExtV =
+ DAG.getNode(ISD::ZERO_EXTEND, DL, MVT::v16i32, Op->getOperand(1));
+ }
----------------
Should this be overriding Op1ExtV?
================
Comment at: llvm/test/CodeGen/AArch64/vselect-ext.ll:169
; CHECK: ; %bb.0: ; %entry
-; CHECK-NEXT: movi.2d v1, #0xffffffffffffffff
-; CHECK-NEXT: ushll.8h v2, v0, #0
-; CHECK-NEXT: ushll2.8h v3, v0, #0
-; CHECK-NEXT: ushll.4s v4, v2, #0
-; CHECK-NEXT: cmgt.16b v0, v0, v1
-; CHECK-NEXT: ushll.4s v5, v3, #0
-; CHECK-NEXT: ushll2.4s v1, v3, #0
-; CHECK-NEXT: sshll.8h v3, v0, #0
-; CHECK-NEXT: sshll2.8h v0, v0, #0
-; CHECK-NEXT: ushll2.4s v2, v2, #0
-; CHECK-NEXT: sshll.4s v6, v3, #0
-; CHECK-NEXT: sshll.4s v7, v0, #0
-; CHECK-NEXT: sshll2.4s v0, v0, #0
-; CHECK-NEXT: sshll2.4s v16, v3, #0
-; CHECK-NEXT: and.16b v3, v1, v0
-; CHECK-NEXT: and.16b v1, v2, v16
-; CHECK-NEXT: and.16b v2, v5, v7
-; CHECK-NEXT: and.16b v0, v4, v6
+; CHECK-NEXT: movi.2d v1, #0x0000ff000000ff
+; CHECK-NEXT: ushll2.8h v2, v0, #0
----------------
This doesn't seem to be correct.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D120548/new/
https://reviews.llvm.org/D120548
More information about the llvm-commits
mailing list