mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-18 11:24:01 +00:00
Allow use of the 16-bit literal move instruction in CMOVs for ARM mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115884 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1610,13 +1610,13 @@ bool ARMDecoderEmitter::ARMDEBackend::populateInstruction(
|
||||
// better off using the generic RSCri and RSCrs instructions.
|
||||
if (Name == "RSCSri" || Name == "RSCSrs") return false;
|
||||
|
||||
// MOVCCr, MOVCCs, MOVCCi, FCYPScc, FCYPDcc, FNEGScc, and FNEGDcc are used
|
||||
// in the compiler to implement conditional moves. We can ignore them in
|
||||
// favor of their more generic versions of instructions.
|
||||
// See also SDNode *ARMDAGToDAGISel::Select(SDValue Op).
|
||||
if (Name == "MOVCCr" || Name == "MOVCCs" || Name == "MOVCCi" ||
|
||||
Name == "FCPYScc" || Name == "FCPYDcc" ||
|
||||
Name == "FNEGScc" || Name == "FNEGDcc")
|
||||
// MOVCCr, MOVCCs, MOVCCi, MOVCCi16, FCYPScc, FCYPDcc, FNEGScc, and
|
||||
// FNEGDcc are used in the compiler to implement conditional moves.
|
||||
// We can ignore them in favor of their more generic versions of
|
||||
// instructions. See also SDNode *ARMDAGToDAGISel::Select(SDValue Op).
|
||||
if (Name == "MOVCCr" || Name == "MOVCCs" || Name == "MOVCCi" ||
|
||||
Name == "MOVCCi16" || Name == "FCPYScc" || Name == "FCPYDcc" ||
|
||||
Name == "FNEGScc" || Name == "FNEGDcc")
|
||||
return false;
|
||||
|
||||
// Ditto for VMOVDcc, VMOVScc, VNEGDcc, and VNEGScc.
|
||||
|
Reference in New Issue
Block a user