[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