mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-10 14:36:12 +00:00
[AArch64] Improve Exynos predicates
Expand the predicate using shifted arithmetic and logic instructions to also consider the respective not shifted instructions. llvm-svn: 350976
This commit is contained in:
parent
1b191b21b0
commit
949fd90c8b
@ -48,7 +48,10 @@ def ExynosArithFn : TIIPredicate<
|
||||
CheckExtBy3]>]>]>>>,
|
||||
MCOpcodeSwitchCase<
|
||||
IsArithShiftOp.ValidOpcodes,
|
||||
MCReturnStatement<ExynosCheckShift>>],
|
||||
MCReturnStatement<ExynosCheckShift>>,
|
||||
MCOpcodeSwitchCase<
|
||||
IsArithUnshiftOp.ValidOpcodes,
|
||||
MCReturnStatement<TruePred>>],
|
||||
MCReturnStatement<FalsePred>>>;
|
||||
def ExynosArithPred : MCSchedPredicate<ExynosArithFn>;
|
||||
|
||||
@ -58,7 +61,10 @@ def ExynosLogicFn : TIIPredicate<
|
||||
MCOpcodeSwitchStatement<
|
||||
[MCOpcodeSwitchCase<
|
||||
IsLogicShiftOp.ValidOpcodes,
|
||||
MCReturnStatement<ExynosCheckShift>>],
|
||||
MCReturnStatement<ExynosCheckShift>>,
|
||||
MCOpcodeSwitchCase<
|
||||
IsLogicUnshiftOp.ValidOpcodes,
|
||||
MCReturnStatement<TruePred>>],
|
||||
MCReturnStatement<FalsePred>>>;
|
||||
def ExynosLogicPred : MCSchedPredicate<ExynosLogicFn>;
|
||||
|
||||
@ -73,7 +79,10 @@ def ExynosLogicExFn : TIIPredicate<
|
||||
[ExynosCheckShift,
|
||||
CheckAll<
|
||||
[CheckShiftLSL,
|
||||
CheckShiftBy8]>]>>>],
|
||||
CheckShiftBy8]>]>>>,
|
||||
MCOpcodeSwitchCase<
|
||||
IsLogicUnshiftOp.ValidOpcodes,
|
||||
MCReturnStatement<TruePred>>],
|
||||
MCReturnStatement<FalsePred>>>;
|
||||
def ExynosLogicExPred : MCSchedPredicate<ExynosLogicExFn>;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user