[llvm] 127cf4e - [SVE][InstCombine] Precommit tests for select + ptrue
via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 12 18:21:27 PDT 2023
Author: zhongyunde 00443407
Date: 2023-10-13T09:20:36+08:00
New Revision: 127cf4ead3f8e33ae0955a4420eab9aad29b63d3
URL: https://github.com/llvm/llvm-project/commit/127cf4ead3f8e33ae0955a4420eab9aad29b63d3
DIFF: https://github.com/llvm/llvm-project/commit/127cf4ead3f8e33ae0955a4420eab9aad29b63d3.diff
LOG: [SVE][InstCombine] Precommit tests for select + ptrue
Added:
Modified:
llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-sel.ll
Removed:
################################################################################
diff --git a/llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-sel.ll b/llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-sel.ll
index b0f059c9de605e1..0d0c3b9892758e1 100644
--- a/llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-sel.ll
+++ b/llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-sel.ll
@@ -12,6 +12,18 @@ define <vscale x 4 x i32> @replace_sel_intrinsic(<vscale x 4 x i1> %p, <vscale x
ret <vscale x 4 x i32> %1
}
+define <vscale x 4 x i32> @sel_ptrue(<vscale x 4 x i32> %a, <vscale x 4 x i32> %b) {
+; CHECK-LABEL: @sel_ptrue(
+; CHECK-NEXT: [[PRED:%.*]] = call <vscale x 4 x i1> @llvm.aarch64.sve.ptrue.nxv4i1(i32 31)
+; CHECK-NEXT: [[RES:%.*]] = select <vscale x 4 x i1> [[PRED]], <vscale x 4 x i32> [[A:%.*]], <vscale x 4 x i32> [[B:%.*]]
+; CHECK-NEXT: ret <vscale x 4 x i32> [[RES]]
+;
+ %pred = call <vscale x 4 x i1> @llvm.aarch64.sve.ptrue.nxv4i1(i32 31)
+ %res = call <vscale x 4 x i32> @llvm.aarch64.sve.sel.nxv4i32(<vscale x 4 x i1> %pred, <vscale x 4 x i32> %a, <vscale x 4 x i32> %b)
+ ret <vscale x 4 x i32> %res
+}
+
+declare <vscale x 4 x i1> @llvm.aarch64.sve.ptrue.nxv4i1(i32)
declare <vscale x 4 x i32> @llvm.aarch64.sve.sel.nxv4i32(<vscale x 4 x i1>, <vscale x 4 x i32>, <vscale x 4 x i32>)
attributes #0 = { "target-features"="+sve" }
More information about the llvm-commits
mailing list