[llvm] 62b00bf - [NFC] Removal of complex deinterleaving test case complex_mul_v8f64

Nicholas Guy via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 14 07:58:26 PST 2022


Author: Nicholas Guy
Date: 2022-11-14T15:58:14Z
New Revision: 62b00bf1afa78605ac65f0fcc31965a62bf043db

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

LOG: [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.

Added: 
    

Modified: 
    llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-f64-mul.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-f64-mul.ll b/llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-f64-mul.ll
index 5334e2921461..dab66d0e37f9 100644
--- a/llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-f64-mul.ll
+++ b/llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-f64-mul.ll
@@ -1,5 +1,5 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s --mattr=+mve.fp,+fp64 -o - | FileCheck %s
+; RUN: llc < %s --mattr=+mve.fp,+fp64 -o - -verify-machineinstrs | FileCheck %s
 
 target triple = "thumbv8.1m.main-none-none-eabi"
 
@@ -60,68 +60,3 @@ entry:
   %interleaved.vec = shufflevector <2 x double> %5, <2 x double> %2, <4 x i32> <i32 0, i32 2, i32 1, i32 3>
   ret <4 x double> %interleaved.vec
 }
-
-; Expected to not transform
-define arm_aapcs_vfpcc <8 x double> @complex_mul_v8f64(<8 x double> %a, <8 x double> %b) {
-; CHECK-LABEL: complex_mul_v8f64:
-; CHECK:       @ %bb.0: @ %entry
-; CHECK-NEXT:    .vsave {d8, d9, d10, d11, d12, d13, d14, d15}
-; CHECK-NEXT:    vpush {d8, d9, d10, d11, d12, d13, d14, d15}
-; CHECK-NEXT:    .pad #64
-; CHECK-NEXT:    sub sp, #64
-; CHECK-NEXT:    add r0, sp, #128
-; CHECK-NEXT:    vmov q7, q1
-; CHECK-NEXT:    vldrw.u32 q4, [r0]
-; CHECK-NEXT:    add r0, sp, #160
-; CHECK-NEXT:    vldrw.u32 q1, [r0]
-; CHECK-NEXT:    vmov q6, q0
-; CHECK-NEXT:    vmov q0, q2
-; CHECK-NEXT:    add r0, sp, #176
-; CHECK-NEXT:    vmov q5, q3
-; CHECK-NEXT:    vstrw.32 q2, [sp, #32] @ 16-byte Spill
-; CHECK-NEXT:    vmul.f64 d5, d3, d0
-; CHECK-NEXT:    vstrw.32 q1, [sp, #48] @ 16-byte Spill
-; CHECK-NEXT:    vstrw.32 q5, [sp] @ 16-byte Spill
-; CHECK-NEXT:    vmul.f64 d4, d1, d3
-; CHECK-NEXT:    vldrw.u32 q1, [r0]
-; CHECK-NEXT:    vmov q0, q5
-; CHECK-NEXT:    add r0, sp, #144
-; CHECK-NEXT:    vstrw.32 q1, [sp, #16] @ 16-byte Spill
-; CHECK-NEXT:    vmul.f64 d11, d3, d0
-; CHECK-NEXT:    vmul.f64 d10, d1, d3
-; CHECK-NEXT:    vldrw.u32 q0, [r0]
-; CHECK-NEXT:    vmul.f64 d7, d9, d12
-; CHECK-NEXT:    vmul.f64 d2, d15, d1
-; CHECK-NEXT:    vmul.f64 d3, d1, d14
-; CHECK-NEXT:    vmul.f64 d6, d13, d9
-; CHECK-NEXT:    vfma.f64 d7, d8, d13
-; CHECK-NEXT:    vfnms.f64 d6, d8, d12
-; CHECK-NEXT:    vldrw.u32 q4, [sp, #32] @ 16-byte Reload
-; CHECK-NEXT:    vfma.f64 d3, d0, d15
-; CHECK-NEXT:    vfnms.f64 d2, d0, d14
-; CHECK-NEXT:    vldrw.u32 q0, [sp, #48] @ 16-byte Reload
-; CHECK-NEXT:    vfma.f64 d5, d0, d9
-; CHECK-NEXT:    vfnms.f64 d4, d0, d8
-; CHECK-NEXT:    vldrw.u32 q0, [sp, #16] @ 16-byte Reload
-; CHECK-NEXT:    vldrw.u32 q4, [sp] @ 16-byte Reload
-; CHECK-NEXT:    vfma.f64 d11, d0, d9
-; CHECK-NEXT:    vfnms.f64 d10, d0, d8
-; CHECK-NEXT:    vmov q0, q3
-; CHECK-NEXT:    vmov q3, q5
-; CHECK-NEXT:    add sp, #64
-; CHECK-NEXT:    vpop {d8, d9, d10, d11, d12, d13, d14, d15}
-; CHECK-NEXT:    bx lr
-entry:
-  %a.real   = shufflevector <8 x double> %a, <8 x double> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
-  %a.imag = shufflevector <8 x double> %a, <8 x double> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
-  %b.real = shufflevector <8 x double> %b, <8 x double> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
-  %b.imag = shufflevector <8 x double> %b, <8 x double> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
-  %0 = fmul fast <4 x double> %b.imag, %a.real
-  %1 = fmul fast <4 x double> %b.real, %a.imag
-  %2 = fadd fast <4 x double> %1, %0
-  %3 = fmul fast <4 x double> %b.real, %a.real
-  %4 = fmul fast <4 x double> %a.imag, %b.imag
-  %5 = fsub fast <4 x double> %3, %4
-  %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>
-  ret <8 x double> %interleaved.vec
-}


        


More information about the llvm-commits mailing list