diff options
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64SchedPredExynos.td')
-rw-r--r-- | llvm/lib/Target/AArch64/AArch64SchedPredExynos.td | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td b/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td index 0c1d82d354c09..fcda2394bacf7 100644 --- a/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td +++ b/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td @@ -50,6 +50,9 @@ def ExynosArithFn : TIIPredicate< MCReturnStatement<ExynosCheckShift>>, MCOpcodeSwitchCase< IsArithUnshiftOp.ValidOpcodes, + MCReturnStatement<TruePred>>, + MCOpcodeSwitchCase< + IsArithImmOp.ValidOpcodes, MCReturnStatement<TruePred>>], MCReturnStatement<FalsePred>>>; def ExynosArithPred : MCSchedPredicate<ExynosArithFn>; @@ -63,6 +66,9 @@ def ExynosLogicFn : TIIPredicate< MCReturnStatement<ExynosCheckShift>>, MCOpcodeSwitchCase< IsLogicUnshiftOp.ValidOpcodes, + MCReturnStatement<TruePred>>, + MCOpcodeSwitchCase< + IsLogicImmOp.ValidOpcodes, MCReturnStatement<TruePred>>], MCReturnStatement<FalsePred>>>; def ExynosLogicPred : MCSchedPredicate<ExynosLogicFn>; @@ -81,6 +87,9 @@ def ExynosLogicExFn : TIIPredicate< CheckShiftBy8]>]>>>, MCOpcodeSwitchCase< IsLogicUnshiftOp.ValidOpcodes, + MCReturnStatement<TruePred>>, + MCOpcodeSwitchCase< + IsLogicImmOp.ValidOpcodes, MCReturnStatement<TruePred>>], MCReturnStatement<FalsePred>>>; def ExynosLogicExPred : MCSchedPredicate<ExynosLogicExFn>; @@ -100,7 +109,10 @@ def ExynosScaledIdxFn : TIIPredicate<"isExynosScaledAddr", def ExynosScaledIdxPred : MCSchedPredicate<ExynosScaledIdxFn>; // Identify FP instructions. -def ExynosFPPred : MCSchedPredicate<CheckAny<[CheckDForm, CheckQForm]>>; +def ExynosFPPred : MCSchedPredicate<CheckAny<[CheckHForm, + CheckSForm, + CheckDForm, + CheckQForm]>>; // Identify 128-bit NEON instructions. def ExynosQFormPred : MCSchedPredicate<CheckQForm>; |