[llvm] a4f2025 - [X86] Regenerate avx512-mask-op.ll
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sun Jan 23 03:34:46 PST 2022
Author: Simon Pilgrim
Date: 2022-01-23T11:34:25Z
New Revision: a4f202549208b543ec4475c3210ecdbf84128776
URL: https://github.com/llvm/llvm-project/commit/a4f202549208b543ec4475c3210ecdbf84128776
DIFF: https://github.com/llvm/llvm-project/commit/a4f202549208b543ec4475c3210ecdbf84128776.diff
LOG: [X86] Regenerate avx512-mask-op.ll
Noticed on D86578 - several of the test cases were missing checks as they didn't start on a newline so the update script couldn't see them
Added:
Modified:
llvm/test/CodeGen/X86/avx512-mask-op.ll
Removed:
################################################################################
diff --git a/llvm/test/CodeGen/X86/avx512-mask-op.ll b/llvm/test/CodeGen/X86/avx512-mask-op.ll
index 959ee566cfcfc..b93fcce26fbc6 100644
--- a/llvm/test/CodeGen/X86/avx512-mask-op.ll
+++ b/llvm/test/CodeGen/X86/avx512-mask-op.ll
@@ -1,8 +1,8 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -stack-symbol-ordering=0 -mtriple=x86_64-apple-darwin -mattr=+avx512f | FileCheck %s --check-prefix=CHECK --check-prefix=KNL
-; RUN: llc < %s -stack-symbol-ordering=0 -mtriple=x86_64-apple-darwin -mattr=+avx512f,+avx512bw,+avx512vl,+avx512dq | FileCheck %s --check-prefix=CHECK --check-prefix=SKX
-; RUN: llc < %s -stack-symbol-ordering=0 -mtriple=x86_64-apple-darwin -mattr=+avx512bw | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512BW
-; RUN: llc < %s -stack-symbol-ordering=0 -mtriple=x86_64-apple-darwin -mattr=+avx512dq | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512DQ
+; RUN: llc < %s -stack-symbol-ordering=0 -mtriple=x86_64-apple-darwin -mattr=+avx512f | FileCheck %s --check-prefixes=CHECK,KNL
+; RUN: llc < %s -stack-symbol-ordering=0 -mtriple=x86_64-apple-darwin -mattr=+avx512f,+avx512bw,+avx512vl,+avx512dq | FileCheck %s --check-prefixes=CHECK,SKX
+; RUN: llc < %s -stack-symbol-ordering=0 -mtriple=x86_64-apple-darwin -mattr=+avx512bw | FileCheck %s --check-prefixes=CHECK,AVX512BW
+; RUN: llc < %s -stack-symbol-ordering=0 -mtriple=x86_64-apple-darwin -mattr=+avx512dq | FileCheck %s --check-prefixes=CHECK,AVX512DQ
; RUN: llc < %s -stack-symbol-ordering=0 -mtriple=i686-apple-darwin -mattr=+avx512f,+avx512bw,+avx512vl,+avx512dq | FileCheck %s --check-prefix=X86
@@ -596,7 +596,22 @@ define <2 x i64> @test5(<2 x i64> %x, <2 x i64> %y, <2 x i64> %x1, <2 x i64> %y1
%res = icmp slt <2 x i1>%x_gt_y, %x1_gt_y1
%resse = sext <2 x i1>%res to <2 x i64>
ret <2 x i64> %resse
-}define void @test6(<16 x i1> %mask) {
+}
+
+define void @test6(<16 x i1> %mask) {
+; CHECK-LABEL: test6:
+; CHECK: ## %bb.0: ## %allocas
+; CHECK-NEXT: vpsllw $7, %xmm0, %xmm0
+; CHECK-NEXT: vpmovmskb %xmm0, %eax
+; CHECK-NEXT: testl $21845, %eax ## imm = 0x5555
+; CHECK-NEXT: retq
+;
+; X86-LABEL: test6:
+; X86: ## %bb.0: ## %allocas
+; X86-NEXT: vpsllw $7, %xmm0, %xmm0
+; X86-NEXT: vpmovmskb %xmm0, %eax
+; X86-NEXT: testl $21845, %eax ## imm = 0x5555
+; X86-NEXT: retl
allocas:
%a= and <16 x i1> %mask, <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>
%b = bitcast <16 x i1> %a to i16
@@ -609,6 +624,7 @@ true:
false:
ret void
}
+
define void @test7(<8 x i1> %mask) {
; KNL-LABEL: test7:
; KNL: ## %bb.0: ## %allocas
@@ -666,6 +682,7 @@ true:
false:
ret void
}
+
define <16 x i8> @test8(<16 x i32>%a, <16 x i32>%b, i32 %a1, i32 %b1) {
; KNL-LABEL: test8:
; KNL: ## %bb.0:
@@ -756,6 +773,7 @@ define <16 x i8> @test8(<16 x i32>%a, <16 x i32>%b, i32 %a1, i32 %b1) {
%res = sext <16 x i1> %mix to <16 x i8>
ret <16 x i8> %res
}
+
define <16 x i1> @test9(<16 x i1>%a, <16 x i1>%b, i32 %a1, i32 %b1) {
; KNL-LABEL: test9:
; KNL: ## %bb.0:
@@ -838,7 +856,89 @@ define <16 x i1> @test9(<16 x i1>%a, <16 x i1>%b, i32 %a1, i32 %b1) {
%mask = icmp sgt i32 %a1, %b1
%c = select i1 %mask, <16 x i1>%a, <16 x i1>%b
ret <16 x i1>%c
-}define <8 x i1> @test10(<8 x i1>%a, <8 x i1>%b, i32 %a1, i32 %b1) {
+}
+
+define <8 x i1> @test10(<8 x i1>%a, <8 x i1>%b, i32 %a1, i32 %b1) {
+; KNL-LABEL: test10:
+; KNL: ## %bb.0:
+; KNL-NEXT: cmpl %esi, %edi
+; KNL-NEXT: jg LBB19_1
+; KNL-NEXT: ## %bb.2:
+; KNL-NEXT: vpmovsxwq %xmm1, %zmm0
+; KNL-NEXT: jmp LBB19_3
+; KNL-NEXT: LBB19_1:
+; KNL-NEXT: vpmovsxwq %xmm0, %zmm0
+; KNL-NEXT: LBB19_3:
+; KNL-NEXT: vpsllq $63, %zmm0, %zmm0
+; KNL-NEXT: vptestmq %zmm0, %zmm0, %k1
+; KNL-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
+; KNL-NEXT: vpmovdw %zmm0, %ymm0
+; KNL-NEXT: ## kill: def $xmm0 killed $xmm0 killed $ymm0
+; KNL-NEXT: vzeroupper
+; KNL-NEXT: retq
+;
+; SKX-LABEL: test10:
+; SKX: ## %bb.0:
+; SKX-NEXT: cmpl %esi, %edi
+; SKX-NEXT: jg LBB19_1
+; SKX-NEXT: ## %bb.2:
+; SKX-NEXT: vpsllw $15, %xmm1, %xmm0
+; SKX-NEXT: jmp LBB19_3
+; SKX-NEXT: LBB19_1:
+; SKX-NEXT: vpsllw $15, %xmm0, %xmm0
+; SKX-NEXT: LBB19_3:
+; SKX-NEXT: vpmovw2m %xmm0, %k0
+; SKX-NEXT: vpmovm2w %k0, %xmm0
+; SKX-NEXT: retq
+;
+; AVX512BW-LABEL: test10:
+; AVX512BW: ## %bb.0:
+; AVX512BW-NEXT: cmpl %esi, %edi
+; AVX512BW-NEXT: jg LBB19_1
+; AVX512BW-NEXT: ## %bb.2:
+; AVX512BW-NEXT: vpsllw $15, %xmm1, %xmm0
+; AVX512BW-NEXT: jmp LBB19_3
+; AVX512BW-NEXT: LBB19_1:
+; AVX512BW-NEXT: vpsllw $15, %xmm0, %xmm0
+; AVX512BW-NEXT: LBB19_3:
+; AVX512BW-NEXT: vpmovw2m %zmm0, %k0
+; AVX512BW-NEXT: vpmovm2w %k0, %zmm0
+; AVX512BW-NEXT: ## kill: def $xmm0 killed $xmm0 killed $zmm0
+; AVX512BW-NEXT: vzeroupper
+; AVX512BW-NEXT: retq
+;
+; AVX512DQ-LABEL: test10:
+; AVX512DQ: ## %bb.0:
+; AVX512DQ-NEXT: cmpl %esi, %edi
+; AVX512DQ-NEXT: jg LBB19_1
+; AVX512DQ-NEXT: ## %bb.2:
+; AVX512DQ-NEXT: vpmovsxwq %xmm1, %zmm0
+; AVX512DQ-NEXT: jmp LBB19_3
+; AVX512DQ-NEXT: LBB19_1:
+; AVX512DQ-NEXT: vpmovsxwq %xmm0, %zmm0
+; AVX512DQ-NEXT: LBB19_3:
+; AVX512DQ-NEXT: vpsllq $63, %zmm0, %zmm0
+; AVX512DQ-NEXT: vpmovq2m %zmm0, %k0
+; AVX512DQ-NEXT: vpmovm2d %k0, %zmm0
+; AVX512DQ-NEXT: vpmovdw %zmm0, %ymm0
+; AVX512DQ-NEXT: ## kill: def $xmm0 killed $xmm0 killed $ymm0
+; AVX512DQ-NEXT: vzeroupper
+; AVX512DQ-NEXT: retq
+;
+; X86-LABEL: test10:
+; X86: ## %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: jg LBB19_1
+; X86-NEXT: ## %bb.2:
+; X86-NEXT: vpsllw $15, %xmm1, %xmm0
+; X86-NEXT: jmp LBB19_3
+; X86-NEXT: LBB19_1:
+; X86-NEXT: vpsllw $15, %xmm0, %xmm0
+; X86-NEXT: LBB19_3:
+; X86-NEXT: vpmovw2m %xmm0, %k0
+; X86-NEXT: vpmovm2w %k0, %xmm0
+; X86-NEXT: retl
%mask = icmp sgt i32 %a1, %b1
%c = select i1 %mask, <8 x i1>%a, <8 x i1>%b
ret <8 x i1>%c
More information about the llvm-commits
mailing list