[llvm] 45f1db4 - [X86] vec_fabs.ll - add AVX2 test coverage

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 8 08:21:28 PST 2023


Author: Simon Pilgrim
Date: 2023-11-08T16:20:34Z
New Revision: 45f1db4855efe376b731a81b71bdbf2098cd328e

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

LOG: [X86] vec_fabs.ll - add AVX2 test coverage

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/X86/vec_fabs.ll b/llvm/test/CodeGen/X86/vec_fabs.ll
index 982062d8907542a..028760ff464c29c 100644
--- a/llvm/test/CodeGen/X86/vec_fabs.ll
+++ b/llvm/test/CodeGen/X86/vec_fabs.ll
@@ -1,10 +1,12 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=X86 --check-prefix=X86-AVX
-; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512vl | FileCheck %s --check-prefix=X86 --check-prefix=X86-AVX512VL
-; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512dq,+avx512vl | FileCheck %s --check-prefix=X86 --check-prefix=X86-AVX512VLDQ
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=X64 --check-prefix=X64-AVX
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl | FileCheck %s --check-prefix=X64 --check-prefix=X64-AVX512VL
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512dq,+avx512vl | FileCheck %s --check-prefix=X64 --check-prefix=X64-AVX512VLDQ
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx | FileCheck %s --check-prefixes=X86,X86-AVX,X86-AVX1
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=X86,X86-AVX,X86-AVX2
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512vl | FileCheck %s --check-prefixes=X86,X86-AVX512VL
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512dq,+avx512vl | FileCheck %s --check-prefixes=X86,X86-AVX512VLDQ
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefixes=X64,X64-AVX,X64-AVX1
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=X64,X64-AVX,X64-AVX2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl | FileCheck %s --check-prefixes=X64,X64-AVX512VL
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512dq,+avx512vl | FileCheck %s --check-prefixes=X64,X64-AVX512VLDQ
 
 define <2 x double> @fabs_v2f64(<2 x double> %p) {
 ; X86-AVX-LABEL: fabs_v2f64:
@@ -42,10 +44,16 @@ define <2 x double> @fabs_v2f64(<2 x double> %p) {
 declare <2 x double> @llvm.fabs.v2f64(<2 x double> %p)
 
 define <4 x float> @fabs_v4f32(<4 x float> %p) {
-; X86-AVX-LABEL: fabs_v4f32:
-; X86-AVX:       # %bb.0:
-; X86-AVX-NEXT:    vandps {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0, %xmm0
-; X86-AVX-NEXT:    retl
+; X86-AVX1-LABEL: fabs_v4f32:
+; X86-AVX1:       # %bb.0:
+; X86-AVX1-NEXT:    vandps {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0, %xmm0
+; X86-AVX1-NEXT:    retl
+;
+; X86-AVX2-LABEL: fabs_v4f32:
+; X86-AVX2:       # %bb.0:
+; X86-AVX2-NEXT:    vbroadcastss {{.*#+}} xmm1 = [NaN,NaN,NaN,NaN]
+; X86-AVX2-NEXT:    vandps %xmm1, %xmm0, %xmm0
+; X86-AVX2-NEXT:    retl
 ;
 ; X86-AVX512VL-LABEL: fabs_v4f32:
 ; X86-AVX512VL:       # %bb.0:
@@ -57,10 +65,16 @@ define <4 x float> @fabs_v4f32(<4 x float> %p) {
 ; X86-AVX512VLDQ-NEXT:    vandps {{\.?LCPI[0-9]+_[0-9]+}}{1to4}, %xmm0, %xmm0
 ; X86-AVX512VLDQ-NEXT:    retl
 ;
-; X64-AVX-LABEL: fabs_v4f32:
-; X64-AVX:       # %bb.0:
-; X64-AVX-NEXT:    vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
-; X64-AVX-NEXT:    retq
+; X64-AVX1-LABEL: fabs_v4f32:
+; X64-AVX1:       # %bb.0:
+; X64-AVX1-NEXT:    vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
+; X64-AVX1-NEXT:    retq
+;
+; X64-AVX2-LABEL: fabs_v4f32:
+; X64-AVX2:       # %bb.0:
+; X64-AVX2-NEXT:    vbroadcastss {{.*#+}} xmm1 = [NaN,NaN,NaN,NaN]
+; X64-AVX2-NEXT:    vandps %xmm1, %xmm0, %xmm0
+; X64-AVX2-NEXT:    retq
 ;
 ; X64-AVX512VL-LABEL: fabs_v4f32:
 ; X64-AVX512VL:       # %bb.0:
@@ -77,10 +91,16 @@ define <4 x float> @fabs_v4f32(<4 x float> %p) {
 declare <4 x float> @llvm.fabs.v4f32(<4 x float> %p)
 
 define <4 x double> @fabs_v4f64(<4 x double> %p) {
-; X86-AVX-LABEL: fabs_v4f64:
-; X86-AVX:       # %bb.0:
-; X86-AVX-NEXT:    vandps {{\.?LCPI[0-9]+_[0-9]+}}, %ymm0, %ymm0
-; X86-AVX-NEXT:    retl
+; X86-AVX1-LABEL: fabs_v4f64:
+; X86-AVX1:       # %bb.0:
+; X86-AVX1-NEXT:    vandps {{\.?LCPI[0-9]+_[0-9]+}}, %ymm0, %ymm0
+; X86-AVX1-NEXT:    retl
+;
+; X86-AVX2-LABEL: fabs_v4f64:
+; X86-AVX2:       # %bb.0:
+; X86-AVX2-NEXT:    vbroadcastsd {{.*#+}} ymm1 = [NaN,NaN,NaN,NaN]
+; X86-AVX2-NEXT:    vandps %ymm1, %ymm0, %ymm0
+; X86-AVX2-NEXT:    retl
 ;
 ; X86-AVX512VL-LABEL: fabs_v4f64:
 ; X86-AVX512VL:       # %bb.0:
@@ -92,10 +112,16 @@ define <4 x double> @fabs_v4f64(<4 x double> %p) {
 ; X86-AVX512VLDQ-NEXT:    vandpd {{\.?LCPI[0-9]+_[0-9]+}}{1to4}, %ymm0, %ymm0
 ; X86-AVX512VLDQ-NEXT:    retl
 ;
-; X64-AVX-LABEL: fabs_v4f64:
-; X64-AVX:       # %bb.0:
-; X64-AVX-NEXT:    vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
-; X64-AVX-NEXT:    retq
+; X64-AVX1-LABEL: fabs_v4f64:
+; X64-AVX1:       # %bb.0:
+; X64-AVX1-NEXT:    vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
+; X64-AVX1-NEXT:    retq
+;
+; X64-AVX2-LABEL: fabs_v4f64:
+; X64-AVX2:       # %bb.0:
+; X64-AVX2-NEXT:    vbroadcastsd {{.*#+}} ymm1 = [NaN,NaN,NaN,NaN]
+; X64-AVX2-NEXT:    vandps %ymm1, %ymm0, %ymm0
+; X64-AVX2-NEXT:    retq
 ;
 ; X64-AVX512VL-LABEL: fabs_v4f64:
 ; X64-AVX512VL:       # %bb.0:
@@ -112,10 +138,16 @@ define <4 x double> @fabs_v4f64(<4 x double> %p) {
 declare <4 x double> @llvm.fabs.v4f64(<4 x double> %p)
 
 define <8 x float> @fabs_v8f32(<8 x float> %p) {
-; X86-AVX-LABEL: fabs_v8f32:
-; X86-AVX:       # %bb.0:
-; X86-AVX-NEXT:    vandps {{\.?LCPI[0-9]+_[0-9]+}}, %ymm0, %ymm0
-; X86-AVX-NEXT:    retl
+; X86-AVX1-LABEL: fabs_v8f32:
+; X86-AVX1:       # %bb.0:
+; X86-AVX1-NEXT:    vandps {{\.?LCPI[0-9]+_[0-9]+}}, %ymm0, %ymm0
+; X86-AVX1-NEXT:    retl
+;
+; X86-AVX2-LABEL: fabs_v8f32:
+; X86-AVX2:       # %bb.0:
+; X86-AVX2-NEXT:    vbroadcastss {{.*#+}} ymm1 = [NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN]
+; X86-AVX2-NEXT:    vandps %ymm1, %ymm0, %ymm0
+; X86-AVX2-NEXT:    retl
 ;
 ; X86-AVX512VL-LABEL: fabs_v8f32:
 ; X86-AVX512VL:       # %bb.0:
@@ -127,10 +159,16 @@ define <8 x float> @fabs_v8f32(<8 x float> %p) {
 ; X86-AVX512VLDQ-NEXT:    vandps {{\.?LCPI[0-9]+_[0-9]+}}{1to8}, %ymm0, %ymm0
 ; X86-AVX512VLDQ-NEXT:    retl
 ;
-; X64-AVX-LABEL: fabs_v8f32:
-; X64-AVX:       # %bb.0:
-; X64-AVX-NEXT:    vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
-; X64-AVX-NEXT:    retq
+; X64-AVX1-LABEL: fabs_v8f32:
+; X64-AVX1:       # %bb.0:
+; X64-AVX1-NEXT:    vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
+; X64-AVX1-NEXT:    retq
+;
+; X64-AVX2-LABEL: fabs_v8f32:
+; X64-AVX2:       # %bb.0:
+; X64-AVX2-NEXT:    vbroadcastss {{.*#+}} ymm1 = [NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN]
+; X64-AVX2-NEXT:    vandps %ymm1, %ymm0, %ymm0
+; X64-AVX2-NEXT:    retq
 ;
 ; X64-AVX512VL-LABEL: fabs_v8f32:
 ; X64-AVX512VL:       # %bb.0:


        


More information about the llvm-commits mailing list