[llvm] d3c79d1 - [X86] Add an AVX check prefix to bitcast-vector-bool.ll to combine checks where AVX1/2/512 are all the same. NFC
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Sun Jun 21 21:29:59 PDT 2020
Author: Craig Topper
Date: 2020-06-21T20:30:17-07:00
New Revision: d3c79d195304d5694b47fec7e1e71cab47c2532a
URL: https://github.com/llvm/llvm-project/commit/d3c79d195304d5694b47fec7e1e71cab47c2532a
DIFF: https://github.com/llvm/llvm-project/commit/d3c79d195304d5694b47fec7e1e71cab47c2532a.diff
LOG: [X86] Add an AVX check prefix to bitcast-vector-bool.ll to combine checks where AVX1/2/512 are all the same. NFC
Added:
Modified:
llvm/test/CodeGen/X86/bitcast-vector-bool.ll
Removed:
################################################################################
diff --git a/llvm/test/CodeGen/X86/bitcast-vector-bool.ll b/llvm/test/CodeGen/X86/bitcast-vector-bool.ll
index fd7594c3d245..a862f730eda4 100644
--- a/llvm/test/CodeGen/X86/bitcast-vector-bool.ll
+++ b/llvm/test/CodeGen/X86/bitcast-vector-bool.ll
@@ -1,9 +1,9 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=SSE2-SSSE3,SSE2
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE2-SSSE3,SSSE3
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefixes=AVX12,AVX1
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=AVX12,AVX2
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+avx512vl,+avx512bw | FileCheck %s --check-prefixes=AVX512
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefixes=AVX,AVX12,AVX1
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=AVX,AVX12,AVX2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+avx512vl,+avx512bw | FileCheck %s --check-prefixes=AVX,AVX512
;
; 128-bit vectors
@@ -55,25 +55,15 @@ define i2 @bitcast_v4i32_to_v2i2(<4 x i32> %a0) nounwind {
; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
; SSE2-SSSE3-NEXT: retq
;
-; AVX12-LABEL: bitcast_v4i32_to_v2i2:
-; AVX12: # %bb.0:
-; AVX12-NEXT: vmovmskps %xmm0, %eax
-; AVX12-NEXT: movl %eax, %ecx
-; AVX12-NEXT: shrb $2, %cl
-; AVX12-NEXT: andb $3, %al
-; AVX12-NEXT: addb %cl, %al
-; AVX12-NEXT: # kill: def $al killed $al killed $eax
-; AVX12-NEXT: retq
-;
-; AVX512-LABEL: bitcast_v4i32_to_v2i2:
-; AVX512: # %bb.0:
-; AVX512-NEXT: vmovmskps %xmm0, %eax
-; AVX512-NEXT: movl %eax, %ecx
-; AVX512-NEXT: shrb $2, %cl
-; AVX512-NEXT: andb $3, %al
-; AVX512-NEXT: addb %cl, %al
-; AVX512-NEXT: # kill: def $al killed $al killed $eax
-; AVX512-NEXT: retq
+; AVX-LABEL: bitcast_v4i32_to_v2i2:
+; AVX: # %bb.0:
+; AVX-NEXT: vmovmskps %xmm0, %eax
+; AVX-NEXT: movl %eax, %ecx
+; AVX-NEXT: shrb $2, %cl
+; AVX-NEXT: andb $3, %al
+; AVX-NEXT: addb %cl, %al
+; AVX-NEXT: # kill: def $al killed $al killed $eax
+; AVX-NEXT: retq
%1 = icmp slt <4 x i32> %a0, zeroinitializer
%2 = bitcast <4 x i1> %1 to <2 x i2>
%3 = extractelement <2 x i2> %2, i32 0
@@ -133,23 +123,14 @@ define i8 @bitcast_v16i8_to_v2i8(<16 x i8> %a0) nounwind {
; SSE2-SSSE3-NEXT: addb -{{[0-9]+}}(%rsp), %al
; SSE2-SSSE3-NEXT: retq
;
-; AVX12-LABEL: bitcast_v16i8_to_v2i8:
-; AVX12: # %bb.0:
-; AVX12-NEXT: vpmovmskb %xmm0, %ecx
-; AVX12-NEXT: movl %ecx, %eax
-; AVX12-NEXT: shrl $8, %eax
-; AVX12-NEXT: addb %cl, %al
-; AVX12-NEXT: # kill: def $al killed $al killed $eax
-; AVX12-NEXT: retq
-;
-; AVX512-LABEL: bitcast_v16i8_to_v2i8:
-; AVX512: # %bb.0:
-; AVX512-NEXT: vpmovmskb %xmm0, %ecx
-; AVX512-NEXT: movl %ecx, %eax
-; AVX512-NEXT: shrl $8, %eax
-; AVX512-NEXT: addb %cl, %al
-; AVX512-NEXT: # kill: def $al killed $al killed $eax
-; AVX512-NEXT: retq
+; AVX-LABEL: bitcast_v16i8_to_v2i8:
+; AVX: # %bb.0:
+; AVX-NEXT: vpmovmskb %xmm0, %ecx
+; AVX-NEXT: movl %ecx, %eax
+; AVX-NEXT: shrl $8, %eax
+; AVX-NEXT: addb %cl, %al
+; AVX-NEXT: # kill: def $al killed $al killed $eax
+; AVX-NEXT: retq
%1 = icmp slt <16 x i8> %a0, zeroinitializer
%2 = bitcast <16 x i1> %1 to <2 x i8>
%3 = extractelement <2 x i8> %2, i32 0
@@ -174,27 +155,16 @@ define i2 @bitcast_v4i64_to_v2i2(<4 x i64> %a0) nounwind {
; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
; SSE2-SSSE3-NEXT: retq
;
-; AVX12-LABEL: bitcast_v4i64_to_v2i2:
-; AVX12: # %bb.0:
-; AVX12-NEXT: vmovmskpd %ymm0, %eax
-; AVX12-NEXT: movl %eax, %ecx
-; AVX12-NEXT: shrb $2, %cl
-; AVX12-NEXT: andb $3, %al
-; AVX12-NEXT: addb %cl, %al
-; AVX12-NEXT: # kill: def $al killed $al killed $eax
-; AVX12-NEXT: vzeroupper
-; AVX12-NEXT: retq
-;
-; AVX512-LABEL: bitcast_v4i64_to_v2i2:
-; AVX512: # %bb.0:
-; AVX512-NEXT: vmovmskpd %ymm0, %eax
-; AVX512-NEXT: movl %eax, %ecx
-; AVX512-NEXT: shrb $2, %cl
-; AVX512-NEXT: andb $3, %al
-; AVX512-NEXT: addb %cl, %al
-; AVX512-NEXT: # kill: def $al killed $al killed $eax
-; AVX512-NEXT: vzeroupper
-; AVX512-NEXT: retq
+; AVX-LABEL: bitcast_v4i64_to_v2i2:
+; AVX: # %bb.0:
+; AVX-NEXT: vmovmskpd %ymm0, %eax
+; AVX-NEXT: movl %eax, %ecx
+; AVX-NEXT: shrb $2, %cl
+; AVX-NEXT: andb $3, %al
+; AVX-NEXT: addb %cl, %al
+; AVX-NEXT: # kill: def $al killed $al killed $eax
+; AVX-NEXT: vzeroupper
+; AVX-NEXT: retq
%1 = icmp slt <4 x i64> %a0, zeroinitializer
%2 = bitcast <4 x i1> %1 to <2 x i2>
%3 = extractelement <2 x i2> %2, i32 0
@@ -216,27 +186,16 @@ define i4 @bitcast_v8i32_to_v2i4(<8 x i32> %a0) nounwind {
; SSE2-SSSE3-NEXT: # kill: def $al killed $al killed $eax
; SSE2-SSSE3-NEXT: retq
;
-; AVX12-LABEL: bitcast_v8i32_to_v2i4:
-; AVX12: # %bb.0:
-; AVX12-NEXT: vmovmskps %ymm0, %eax
-; AVX12-NEXT: movl %eax, %ecx
-; AVX12-NEXT: shrb $4, %cl
-; AVX12-NEXT: andb $15, %al
-; AVX12-NEXT: addb %cl, %al
-; AVX12-NEXT: # kill: def $al killed $al killed $eax
-; AVX12-NEXT: vzeroupper
-; AVX12-NEXT: retq
-;
-; AVX512-LABEL: bitcast_v8i32_to_v2i4:
-; AVX512: # %bb.0:
-; AVX512-NEXT: vmovmskps %ymm0, %eax
-; AVX512-NEXT: movl %eax, %ecx
-; AVX512-NEXT: shrb $4, %cl
-; AVX512-NEXT: andb $15, %al
-; AVX512-NEXT: addb %cl, %al
-; AVX512-NEXT: # kill: def $al killed $al killed $eax
-; AVX512-NEXT: vzeroupper
-; AVX512-NEXT: retq
+; AVX-LABEL: bitcast_v8i32_to_v2i4:
+; AVX: # %bb.0:
+; AVX-NEXT: vmovmskps %ymm0, %eax
+; AVX-NEXT: movl %eax, %ecx
+; AVX-NEXT: shrb $4, %cl
+; AVX-NEXT: andb $15, %al
+; AVX-NEXT: addb %cl, %al
+; AVX-NEXT: # kill: def $al killed $al killed $eax
+; AVX-NEXT: vzeroupper
+; AVX-NEXT: retq
%1 = icmp slt <8 x i32> %a0, zeroinitializer
%2 = bitcast <8 x i1> %1 to <2 x i4>
%3 = extractelement <2 x i4> %2, i32 0
More information about the llvm-commits
mailing list