Skip to content

Commit 62b00bf

Browse files
committed
[NFC] Removal of complex deinterleaving test case complex_mul_v8f64
This test is not particularly useful for testing complex deinterleaving, especially due to f64 muls not being supported in mve. The test is being removed as it's hitting an unrelated pre-existing condition regarding register spilling.
1 parent f6670a3 commit 62b00bf

File tree

1 file changed

+1
-66
lines changed

1 file changed

+1
-66
lines changed
Lines changed: 1 addition & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2-
; RUN: llc < %s --mattr=+mve.fp,+fp64 -o - | FileCheck %s
2+
; RUN: llc < %s --mattr=+mve.fp,+fp64 -o - -verify-machineinstrs | FileCheck %s
33

44
target triple = "thumbv8.1m.main-none-none-eabi"
55

@@ -60,68 +60,3 @@ entry:
6060
%interleaved.vec = shufflevector <2 x double> %5, <2 x double> %2, <4 x i32> <i32 0, i32 2, i32 1, i32 3>
6161
ret <4 x double> %interleaved.vec
6262
}
63-
64-
; Expected to not transform
65-
define arm_aapcs_vfpcc <8 x double> @complex_mul_v8f64(<8 x double> %a, <8 x double> %b) {
66-
; CHECK-LABEL: complex_mul_v8f64:
67-
; CHECK: @ %bb.0: @ %entry
68-
; CHECK-NEXT: .vsave {d8, d9, d10, d11, d12, d13, d14, d15}
69-
; CHECK-NEXT: vpush {d8, d9, d10, d11, d12, d13, d14, d15}
70-
; CHECK-NEXT: .pad #64
71-
; CHECK-NEXT: sub sp, #64
72-
; CHECK-NEXT: add r0, sp, #128
73-
; CHECK-NEXT: vmov q7, q1
74-
; CHECK-NEXT: vldrw.u32 q4, [r0]
75-
; CHECK-NEXT: add r0, sp, #160
76-
; CHECK-NEXT: vldrw.u32 q1, [r0]
77-
; CHECK-NEXT: vmov q6, q0
78-
; CHECK-NEXT: vmov q0, q2
79-
; CHECK-NEXT: add r0, sp, #176
80-
; CHECK-NEXT: vmov q5, q3
81-
; CHECK-NEXT: vstrw.32 q2, [sp, #32] @ 16-byte Spill
82-
; CHECK-NEXT: vmul.f64 d5, d3, d0
83-
; CHECK-NEXT: vstrw.32 q1, [sp, #48] @ 16-byte Spill
84-
; CHECK-NEXT: vstrw.32 q5, [sp] @ 16-byte Spill
85-
; CHECK-NEXT: vmul.f64 d4, d1, d3
86-
; CHECK-NEXT: vldrw.u32 q1, [r0]
87-
; CHECK-NEXT: vmov q0, q5
88-
; CHECK-NEXT: add r0, sp, #144
89-
; CHECK-NEXT: vstrw.32 q1, [sp, #16] @ 16-byte Spill
90-
; CHECK-NEXT: vmul.f64 d11, d3, d0
91-
; CHECK-NEXT: vmul.f64 d10, d1, d3
92-
; CHECK-NEXT: vldrw.u32 q0, [r0]
93-
; CHECK-NEXT: vmul.f64 d7, d9, d12
94-
; CHECK-NEXT: vmul.f64 d2, d15, d1
95-
; CHECK-NEXT: vmul.f64 d3, d1, d14
96-
; CHECK-NEXT: vmul.f64 d6, d13, d9
97-
; CHECK-NEXT: vfma.f64 d7, d8, d13
98-
; CHECK-NEXT: vfnms.f64 d6, d8, d12
99-
; CHECK-NEXT: vldrw.u32 q4, [sp, #32] @ 16-byte Reload
100-
; CHECK-NEXT: vfma.f64 d3, d0, d15
101-
; CHECK-NEXT: vfnms.f64 d2, d0, d14
102-
; CHECK-NEXT: vldrw.u32 q0, [sp, #48] @ 16-byte Reload
103-
; CHECK-NEXT: vfma.f64 d5, d0, d9
104-
; CHECK-NEXT: vfnms.f64 d4, d0, d8
105-
; CHECK-NEXT: vldrw.u32 q0, [sp, #16] @ 16-byte Reload
106-
; CHECK-NEXT: vldrw.u32 q4, [sp] @ 16-byte Reload
107-
; CHECK-NEXT: vfma.f64 d11, d0, d9
108-
; CHECK-NEXT: vfnms.f64 d10, d0, d8
109-
; CHECK-NEXT: vmov q0, q3
110-
; CHECK-NEXT: vmov q3, q5
111-
; CHECK-NEXT: add sp, #64
112-
; CHECK-NEXT: vpop {d8, d9, d10, d11, d12, d13, d14, d15}
113-
; CHECK-NEXT: bx lr
114-
entry:
115-
%a.real = shufflevector <8 x double> %a, <8 x double> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
116-
%a.imag = shufflevector <8 x double> %a, <8 x double> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
117-
%b.real = shufflevector <8 x double> %b, <8 x double> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
118-
%b.imag = shufflevector <8 x double> %b, <8 x double> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
119-
%0 = fmul fast <4 x double> %b.imag, %a.real
120-
%1 = fmul fast <4 x double> %b.real, %a.imag
121-
%2 = fadd fast <4 x double> %1, %0
122-
%3 = fmul fast <4 x double> %b.real, %a.real
123-
%4 = fmul fast <4 x double> %a.imag, %b.imag
124-
%5 = fsub fast <4 x double> %3, %4
125-
%interleaved.vec = shufflevector <4 x double> %5, <4 x double> %2, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
126-
ret <8 x double> %interleaved.vec
127-
}

0 commit comments

Comments
 (0)