Skip to content

Commit 45f1db4

Browse files
committed
[X86] vec_fabs.ll - add AVX2 test coverage
1 parent 5cc603c commit 45f1db4

File tree

1 file changed

+68
-30
lines changed

1 file changed

+68
-30
lines changed

llvm/test/CodeGen/X86/vec_fabs.ll

Lines changed: 68 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2-
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=X86 --check-prefix=X86-AVX
3-
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512vl | FileCheck %s --check-prefix=X86 --check-prefix=X86-AVX512VL
4-
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512dq,+avx512vl | FileCheck %s --check-prefix=X86 --check-prefix=X86-AVX512VLDQ
5-
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=X64 --check-prefix=X64-AVX
6-
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl | FileCheck %s --check-prefix=X64 --check-prefix=X64-AVX512VL
7-
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512dq,+avx512vl | FileCheck %s --check-prefix=X64 --check-prefix=X64-AVX512VLDQ
2+
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx | FileCheck %s --check-prefixes=X86,X86-AVX,X86-AVX1
3+
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=X86,X86-AVX,X86-AVX2
4+
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512vl | FileCheck %s --check-prefixes=X86,X86-AVX512VL
5+
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512dq,+avx512vl | FileCheck %s --check-prefixes=X86,X86-AVX512VLDQ
6+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefixes=X64,X64-AVX,X64-AVX1
7+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=X64,X64-AVX,X64-AVX2
8+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl | FileCheck %s --check-prefixes=X64,X64-AVX512VL
9+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512dq,+avx512vl | FileCheck %s --check-prefixes=X64,X64-AVX512VLDQ
810

911
define <2 x double> @fabs_v2f64(<2 x double> %p) {
1012
; X86-AVX-LABEL: fabs_v2f64:
@@ -42,10 +44,16 @@ define <2 x double> @fabs_v2f64(<2 x double> %p) {
4244
declare <2 x double> @llvm.fabs.v2f64(<2 x double> %p)
4345

4446
define <4 x float> @fabs_v4f32(<4 x float> %p) {
45-
; X86-AVX-LABEL: fabs_v4f32:
46-
; X86-AVX: # %bb.0:
47-
; X86-AVX-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0, %xmm0
48-
; X86-AVX-NEXT: retl
47+
; X86-AVX1-LABEL: fabs_v4f32:
48+
; X86-AVX1: # %bb.0:
49+
; X86-AVX1-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0, %xmm0
50+
; X86-AVX1-NEXT: retl
51+
;
52+
; X86-AVX2-LABEL: fabs_v4f32:
53+
; X86-AVX2: # %bb.0:
54+
; X86-AVX2-NEXT: vbroadcastss {{.*#+}} xmm1 = [NaN,NaN,NaN,NaN]
55+
; X86-AVX2-NEXT: vandps %xmm1, %xmm0, %xmm0
56+
; X86-AVX2-NEXT: retl
4957
;
5058
; X86-AVX512VL-LABEL: fabs_v4f32:
5159
; X86-AVX512VL: # %bb.0:
@@ -57,10 +65,16 @@ define <4 x float> @fabs_v4f32(<4 x float> %p) {
5765
; X86-AVX512VLDQ-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}{1to4}, %xmm0, %xmm0
5866
; X86-AVX512VLDQ-NEXT: retl
5967
;
60-
; X64-AVX-LABEL: fabs_v4f32:
61-
; X64-AVX: # %bb.0:
62-
; X64-AVX-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
63-
; X64-AVX-NEXT: retq
68+
; X64-AVX1-LABEL: fabs_v4f32:
69+
; X64-AVX1: # %bb.0:
70+
; X64-AVX1-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
71+
; X64-AVX1-NEXT: retq
72+
;
73+
; X64-AVX2-LABEL: fabs_v4f32:
74+
; X64-AVX2: # %bb.0:
75+
; X64-AVX2-NEXT: vbroadcastss {{.*#+}} xmm1 = [NaN,NaN,NaN,NaN]
76+
; X64-AVX2-NEXT: vandps %xmm1, %xmm0, %xmm0
77+
; X64-AVX2-NEXT: retq
6478
;
6579
; X64-AVX512VL-LABEL: fabs_v4f32:
6680
; X64-AVX512VL: # %bb.0:
@@ -77,10 +91,16 @@ define <4 x float> @fabs_v4f32(<4 x float> %p) {
7791
declare <4 x float> @llvm.fabs.v4f32(<4 x float> %p)
7892

7993
define <4 x double> @fabs_v4f64(<4 x double> %p) {
80-
; X86-AVX-LABEL: fabs_v4f64:
81-
; X86-AVX: # %bb.0:
82-
; X86-AVX-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}, %ymm0, %ymm0
83-
; X86-AVX-NEXT: retl
94+
; X86-AVX1-LABEL: fabs_v4f64:
95+
; X86-AVX1: # %bb.0:
96+
; X86-AVX1-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}, %ymm0, %ymm0
97+
; X86-AVX1-NEXT: retl
98+
;
99+
; X86-AVX2-LABEL: fabs_v4f64:
100+
; X86-AVX2: # %bb.0:
101+
; X86-AVX2-NEXT: vbroadcastsd {{.*#+}} ymm1 = [NaN,NaN,NaN,NaN]
102+
; X86-AVX2-NEXT: vandps %ymm1, %ymm0, %ymm0
103+
; X86-AVX2-NEXT: retl
84104
;
85105
; X86-AVX512VL-LABEL: fabs_v4f64:
86106
; X86-AVX512VL: # %bb.0:
@@ -92,10 +112,16 @@ define <4 x double> @fabs_v4f64(<4 x double> %p) {
92112
; X86-AVX512VLDQ-NEXT: vandpd {{\.?LCPI[0-9]+_[0-9]+}}{1to4}, %ymm0, %ymm0
93113
; X86-AVX512VLDQ-NEXT: retl
94114
;
95-
; X64-AVX-LABEL: fabs_v4f64:
96-
; X64-AVX: # %bb.0:
97-
; X64-AVX-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
98-
; X64-AVX-NEXT: retq
115+
; X64-AVX1-LABEL: fabs_v4f64:
116+
; X64-AVX1: # %bb.0:
117+
; X64-AVX1-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
118+
; X64-AVX1-NEXT: retq
119+
;
120+
; X64-AVX2-LABEL: fabs_v4f64:
121+
; X64-AVX2: # %bb.0:
122+
; X64-AVX2-NEXT: vbroadcastsd {{.*#+}} ymm1 = [NaN,NaN,NaN,NaN]
123+
; X64-AVX2-NEXT: vandps %ymm1, %ymm0, %ymm0
124+
; X64-AVX2-NEXT: retq
99125
;
100126
; X64-AVX512VL-LABEL: fabs_v4f64:
101127
; X64-AVX512VL: # %bb.0:
@@ -112,10 +138,16 @@ define <4 x double> @fabs_v4f64(<4 x double> %p) {
112138
declare <4 x double> @llvm.fabs.v4f64(<4 x double> %p)
113139

114140
define <8 x float> @fabs_v8f32(<8 x float> %p) {
115-
; X86-AVX-LABEL: fabs_v8f32:
116-
; X86-AVX: # %bb.0:
117-
; X86-AVX-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}, %ymm0, %ymm0
118-
; X86-AVX-NEXT: retl
141+
; X86-AVX1-LABEL: fabs_v8f32:
142+
; X86-AVX1: # %bb.0:
143+
; X86-AVX1-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}, %ymm0, %ymm0
144+
; X86-AVX1-NEXT: retl
145+
;
146+
; X86-AVX2-LABEL: fabs_v8f32:
147+
; X86-AVX2: # %bb.0:
148+
; X86-AVX2-NEXT: vbroadcastss {{.*#+}} ymm1 = [NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN]
149+
; X86-AVX2-NEXT: vandps %ymm1, %ymm0, %ymm0
150+
; X86-AVX2-NEXT: retl
119151
;
120152
; X86-AVX512VL-LABEL: fabs_v8f32:
121153
; X86-AVX512VL: # %bb.0:
@@ -127,10 +159,16 @@ define <8 x float> @fabs_v8f32(<8 x float> %p) {
127159
; X86-AVX512VLDQ-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}{1to8}, %ymm0, %ymm0
128160
; X86-AVX512VLDQ-NEXT: retl
129161
;
130-
; X64-AVX-LABEL: fabs_v8f32:
131-
; X64-AVX: # %bb.0:
132-
; X64-AVX-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
133-
; X64-AVX-NEXT: retq
162+
; X64-AVX1-LABEL: fabs_v8f32:
163+
; X64-AVX1: # %bb.0:
164+
; X64-AVX1-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
165+
; X64-AVX1-NEXT: retq
166+
;
167+
; X64-AVX2-LABEL: fabs_v8f32:
168+
; X64-AVX2: # %bb.0:
169+
; X64-AVX2-NEXT: vbroadcastss {{.*#+}} ymm1 = [NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN]
170+
; X64-AVX2-NEXT: vandps %ymm1, %ymm0, %ymm0
171+
; X64-AVX2-NEXT: retq
134172
;
135173
; X64-AVX512VL-LABEL: fabs_v8f32:
136174
; X64-AVX512VL: # %bb.0:

0 commit comments

Comments
 (0)