mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-15 01:37:53 +00:00
[x86] add tests for fma with undef elts; NFC
llvm-svn: 344523
This commit is contained in:
parent
9c04c73d73
commit
77d8f0ccc6
@ -636,6 +636,29 @@ define <4 x float> @test_v4f32_mul_y_add_x_one(<4 x float> %x, <4 x float> %y) {
|
||||
ret <4 x float> %m
|
||||
}
|
||||
|
||||
define <4 x float> @test_v4f32_mul_y_add_x_one_undefs(<4 x float> %x, <4 x float> %y) {
|
||||
; FMA-LABEL: test_v4f32_mul_y_add_x_one_undefs:
|
||||
; FMA: # %bb.0:
|
||||
; FMA-NEXT: vaddps {{.*}}(%rip), %xmm0, %xmm0
|
||||
; FMA-NEXT: vmulps %xmm0, %xmm1, %xmm0
|
||||
; FMA-NEXT: retq
|
||||
;
|
||||
; FMA4-LABEL: test_v4f32_mul_y_add_x_one_undefs:
|
||||
; FMA4: # %bb.0:
|
||||
; FMA4-NEXT: vaddps {{.*}}(%rip), %xmm0, %xmm0
|
||||
; FMA4-NEXT: vmulps %xmm0, %xmm1, %xmm0
|
||||
; FMA4-NEXT: retq
|
||||
;
|
||||
; AVX512-LABEL: test_v4f32_mul_y_add_x_one_undefs:
|
||||
; AVX512: # %bb.0:
|
||||
; AVX512-NEXT: vaddps {{.*}}(%rip){1to4}, %xmm0, %xmm0
|
||||
; AVX512-NEXT: vmulps %xmm0, %xmm1, %xmm0
|
||||
; AVX512-NEXT: retq
|
||||
%a = fadd <4 x float> %x, <float 1.0, float undef, float 1.0, float undef>
|
||||
%m = fmul <4 x float> %y, %a
|
||||
ret <4 x float> %m
|
||||
}
|
||||
|
||||
define <4 x float> @test_v4f32_mul_add_x_negone_y(<4 x float> %x, <4 x float> %y) {
|
||||
; FMA-INFS-LABEL: test_v4f32_mul_add_x_negone_y:
|
||||
; FMA-INFS: # %bb.0:
|
||||
@ -712,6 +735,29 @@ define <4 x float> @test_v4f32_mul_y_add_x_negone(<4 x float> %x, <4 x float> %y
|
||||
ret <4 x float> %m
|
||||
}
|
||||
|
||||
define <4 x float> @test_v4f32_mul_y_add_x_negone_undefs(<4 x float> %x, <4 x float> %y) {
|
||||
; FMA-LABEL: test_v4f32_mul_y_add_x_negone_undefs:
|
||||
; FMA: # %bb.0:
|
||||
; FMA-NEXT: vaddps {{.*}}(%rip), %xmm0, %xmm0
|
||||
; FMA-NEXT: vmulps %xmm0, %xmm1, %xmm0
|
||||
; FMA-NEXT: retq
|
||||
;
|
||||
; FMA4-LABEL: test_v4f32_mul_y_add_x_negone_undefs:
|
||||
; FMA4: # %bb.0:
|
||||
; FMA4-NEXT: vaddps {{.*}}(%rip), %xmm0, %xmm0
|
||||
; FMA4-NEXT: vmulps %xmm0, %xmm1, %xmm0
|
||||
; FMA4-NEXT: retq
|
||||
;
|
||||
; AVX512-LABEL: test_v4f32_mul_y_add_x_negone_undefs:
|
||||
; AVX512: # %bb.0:
|
||||
; AVX512-NEXT: vaddps {{.*}}(%rip){1to4}, %xmm0, %xmm0
|
||||
; AVX512-NEXT: vmulps %xmm0, %xmm1, %xmm0
|
||||
; AVX512-NEXT: retq
|
||||
%a = fadd <4 x float> %x, <float undef, float -1.0, float undef, float -1.0>
|
||||
%m = fmul <4 x float> %y, %a
|
||||
ret <4 x float> %m
|
||||
}
|
||||
|
||||
define <4 x float> @test_v4f32_mul_sub_one_x_y(<4 x float> %x, <4 x float> %y) {
|
||||
; FMA-INFS-LABEL: test_v4f32_mul_sub_one_x_y:
|
||||
; FMA-INFS: # %bb.0:
|
||||
|
Loading…
x
Reference in New Issue
Block a user