[llvm] bc4326d - [X86] pr53419.ll - add AVX512 test coverage

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 30 01:33:08 PST 2023


Author: Simon Pilgrim
Date: 2023-01-30T09:32:50Z
New Revision: bc4326d11a768462d13eb199bba101d1b2a6c18e

URL: https://github.com/llvm/llvm-project/commit/bc4326d11a768462d13eb199bba101d1b2a6c18e
DIFF: https://github.com/llvm/llvm-project/commit/bc4326d11a768462d13eb199bba101d1b2a6c18e.diff

LOG: [X86] pr53419.ll - add AVX512 test coverage

Added: 
    

Modified: 
    llvm/test/CodeGen/X86/pr53419.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/X86/pr53419.ll b/llvm/test/CodeGen/X86/pr53419.ll
index 92203f61eae81..aa22c247a3b76 100644
--- a/llvm/test/CodeGen/X86/pr53419.ll
+++ b/llvm/test/CodeGen/X86/pr53419.ll
@@ -1,9 +1,10 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse2   | FileCheck %s --check-prefixes=X64,SSE,SSE2
-; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse4.2 | FileCheck %s --check-prefixes=X64,SSE,SSE42
-; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx    | FileCheck %s --check-prefixes=X64,AVX
-; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx2   | FileCheck %s --check-prefixes=X64,AVX
-; RUN: llc < %s -mtriple=i686-unknown   -mattr=+avx2   | FileCheck %s --check-prefixes=X86
+; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse2     | FileCheck %s --check-prefixes=X64,SSE,SSE2
+; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse4.2   | FileCheck %s --check-prefixes=X64,SSE,SSE42
+; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx      | FileCheck %s --check-prefixes=X64,AVX
+; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx2     | FileCheck %s --check-prefixes=X64,AVX
+; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx512vl,+avx512bw,+avx512dq | FileCheck %s --check-prefixes=X64,AVX512
+; RUN: llc < %s -mtriple=i686-unknown   -mattr=+avx2     | FileCheck %s --check-prefixes=X86
 
 declare i1 @llvm.vector.reduce.and.v4i1(<4 x i1>)
 declare i1 @llvm.vector.reduce.and.v8i1(<8 x i1>)
@@ -41,6 +42,17 @@ define i1 @intrinsic_v4i8(ptr align 1 %arg, ptr align 1 %arg1) {
 ; AVX-NEXT:    sete %al
 ; AVX-NEXT:    retq
 ;
+; AVX512-LABEL: intrinsic_v4i8:
+; AVX512:       # %bb.0: # %bb
+; AVX512-NEXT:    vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
+; AVX512-NEXT:    vmovd {{.*#+}} xmm1 = mem[0],zero,zero,zero
+; AVX512-NEXT:    vpcmpeqb %xmm1, %xmm0, %k0
+; AVX512-NEXT:    knotw %k0, %k0
+; AVX512-NEXT:    kmovd %k0, %eax
+; AVX512-NEXT:    testb $15, %al
+; AVX512-NEXT:    sete %al
+; AVX512-NEXT:    retq
+;
 ; X86-LABEL: intrinsic_v4i8:
 ; X86:       # %bb.0: # %bb
 ; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax
@@ -80,6 +92,15 @@ define i1 @intrinsic_v8i8(ptr align 1 %arg, ptr align 1 %arg1) {
 ; AVX-NEXT:    sete %al
 ; AVX-NEXT:    retq
 ;
+; AVX512-LABEL: intrinsic_v8i8:
+; AVX512:       # %bb.0: # %bb
+; AVX512-NEXT:    vmovq {{.*#+}} xmm0 = mem[0],zero
+; AVX512-NEXT:    vmovq {{.*#+}} xmm1 = mem[0],zero
+; AVX512-NEXT:    vpcmpeqb %xmm1, %xmm0, %k0
+; AVX512-NEXT:    kortestb %k0, %k0
+; AVX512-NEXT:    setb %al
+; AVX512-NEXT:    retq
+;
 ; X86-LABEL: intrinsic_v8i8:
 ; X86:       # %bb.0: # %bb
 ; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax
@@ -132,6 +153,16 @@ define i1 @vector_version(ptr align 1 %arg, ptr align 1 %arg1) {
 ; AVX-NEXT:    sete %al
 ; AVX-NEXT:    retq
 ;
+; AVX512-LABEL: vector_version:
+; AVX512:       # %bb.0: # %bb
+; AVX512-NEXT:    vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
+; AVX512-NEXT:    vmovd {{.*#+}} xmm1 = mem[0],zero,zero,zero
+; AVX512-NEXT:    vpcmpneqb %xmm1, %xmm0, %k0
+; AVX512-NEXT:    kmovd %k0, %eax
+; AVX512-NEXT:    testb $15, %al
+; AVX512-NEXT:    sete %al
+; AVX512-NEXT:    retq
+;
 ; X86-LABEL: vector_version:
 ; X86:       # %bb.0: # %bb
 ; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax


        


More information about the llvm-commits mailing list