[PATCH] D83204: [ARM] More unpredictable VCVT instructions.
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 16 22:41:15 PDT 2020
dmgreen updated this revision to Diff 278662.
dmgreen added a comment.
Move to AVConv1InsS_Encode.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D83204/new/
https://reviews.llvm.org/D83204
Files:
llvm/lib/Target/ARM/ARMInstrVFP.td
llvm/test/CodeGen/Thumb2/mve-vcvt.ll
llvm/unittests/Target/ARM/MachineInstrTest.cpp
Index: llvm/unittests/Target/ARM/MachineInstrTest.cpp
===================================================================
--- llvm/unittests/Target/ARM/MachineInstrTest.cpp
+++ llvm/unittests/Target/ARM/MachineInstrTest.cpp
@@ -1103,8 +1103,8 @@
for (unsigned Op = 0; Op < ARM::INSTRUCTION_LIST_END; ++Op) {
const MCInstrDesc &Desc = TII->get(Op);
- if ((Desc.TSFlags & ARMII::DomainMask) != ARMII::DomainMVE &&
- (Desc.TSFlags & ARMII::DomainMask) != ARMII::DomainVFP)
+ if ((Desc.TSFlags &
+ (ARMII::DomainMVE | ARMII::DomainVFP | ARMII::DomainNEONA8)) == 0)
continue;
if (UnpredictableOpcodes.count(Op))
continue;
Index: llvm/test/CodeGen/Thumb2/mve-vcvt.ll
===================================================================
--- llvm/test/CodeGen/Thumb2/mve-vcvt.ll
+++ llvm/test/CodeGen/Thumb2/mve-vcvt.ll
@@ -45,8 +45,8 @@
; CHECK-MVE: @ %bb.0: @ %entry
; CHECK-MVE-NEXT: vcvt.s32.f32 s4, s0
; CHECK-MVE-NEXT: vcvt.s32.f32 s6, s1
-; CHECK-MVE-NEXT: vcvt.s32.f32 s8, s3
; CHECK-MVE-NEXT: vcvt.s32.f32 s10, s2
+; CHECK-MVE-NEXT: vcvt.s32.f32 s8, s3
; CHECK-MVE-NEXT: vmov r0, s4
; CHECK-MVE-NEXT: vmov.32 q0[0], r0
; CHECK-MVE-NEXT: vmov r0, s6
@@ -71,8 +71,8 @@
; CHECK-MVE: @ %bb.0: @ %entry
; CHECK-MVE-NEXT: vcvt.u32.f32 s4, s0
; CHECK-MVE-NEXT: vcvt.u32.f32 s6, s1
-; CHECK-MVE-NEXT: vcvt.u32.f32 s8, s3
; CHECK-MVE-NEXT: vcvt.u32.f32 s10, s2
+; CHECK-MVE-NEXT: vcvt.u32.f32 s8, s3
; CHECK-MVE-NEXT: vmov r0, s4
; CHECK-MVE-NEXT: vmov.32 q0[0], r0
; CHECK-MVE-NEXT: vmov r0, s6
Index: llvm/lib/Target/ARM/ARMInstrVFP.td
===================================================================
--- llvm/lib/Target/ARM/ARMInstrVFP.td
+++ llvm/lib/Target/ARM/ARMInstrVFP.td
@@ -1551,6 +1551,8 @@
let Inst{5} = Sm{0};
let Inst{15-12} = Sd{4-1};
let Inst{22} = Sd{0};
+
+ let hasSideEffects = 0;
}
class AVConv1IsH_Encode<bits<5> opcod1, bits<2> opcod2, bits<4> opcod3,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D83204.278662.patch
Type: text/x-patch
Size: 2014 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200717/6ca652aa/attachment.bin>
More information about the llvm-commits
mailing list