[llvm] a314050 - [ARM][MVE] VFMA and VFMS validForTailPredication

Sam Parker via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 10 08:09:47 PDT 2020


Author: Sam Parker
Date: 2020-03-10T14:58:29Z
New Revision: a314050065042ac4e0fc39a774b9d396cb3a0e9d

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

LOG: [ARM][MVE] VFMA and VFMS validForTailPredication

Add four instructions to the whitelist.

Differential Revision: https://reviews.llvm.org/D75902

Added: 
    

Modified: 
    llvm/lib/Target/ARM/ARMInstrMVE.td
    llvm/unittests/Target/ARM/MachineInstrTest.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/ARM/ARMInstrMVE.td b/llvm/lib/Target/ARM/ARMInstrMVE.td
index 152454005f84..7600daae03c4 100644
--- a/llvm/lib/Target/ARM/ARMInstrMVE.td
+++ b/llvm/lib/Target/ARM/ARMInstrMVE.td
@@ -3417,6 +3417,7 @@ class MVE_VADDSUBFMA_fp<string iname, string suffix, bit size, bit bit_4,
   let Inst{8} = bit_8;
   let Inst{7} = Qn{3};
   let Inst{4} = bit_4;
+  let validForTailPredication = 1;
 }
 
 def MVE_VFMAf32 : MVE_VADDSUBFMA_fp<"vfma", "f32", 0b0, 0b1, 0b0, 0b0,

diff  --git a/llvm/unittests/Target/ARM/MachineInstrTest.cpp b/llvm/unittests/Target/ARM/MachineInstrTest.cpp
index 33e03f853f90..94939603845d 100644
--- a/llvm/unittests/Target/ARM/MachineInstrTest.cpp
+++ b/llvm/unittests/Target/ARM/MachineInstrTest.cpp
@@ -145,6 +145,10 @@ TEST(MachineInstrValidTailPredication, IsCorrect) {
     case MVE_VFMA_qr_Sf32:
     case MVE_VFMA_qr_f16:
     case MVE_VFMA_qr_f32:
+    case MVE_VFMAf16:
+    case MVE_VFMAf32:
+    case MVE_VFMSf16:
+    case MVE_VFMSf32:
     case MVE_VMAXAs16:
     case MVE_VMAXAs32:
     case MVE_VMAXAs8:


        


More information about the llvm-commits mailing list