forked from Mirror/Ryujinx
ee22517d92
* Add Compare instruction * Add BranchIf instruction * Use test when BranchIf & Compare against 0 * Propagate Compare into BranchIfTrue/False use - Propagate Compare operations into their BranchIfTrue/False use and turn these into a BranchIf. - Clean up Comparison enum. * Replace BranchIfTrue/False with BranchIf * Use BranchIf in EmitPtPointerLoad - Using BranchIf early instead of BranchIfTrue/False improves LCQ and reduces the amount of work needed by the Optimizer. EmitPtPointerLoader was a/the big producer of BranchIfTrue/False. - Fix asserts firing when assembling BitwiseAnd because of type mismatch in EmitStoreExclusive. This is harmless and should not cause any diffs. * Increment PPTC interval version * Improve IRDumper for BranchIf & Compare * Use BranchIf in EmitNativeCall * Clean up * Do not emit test when immediately preceded by and
71 lines
No EOL
1.4 KiB
C#
71 lines
No EOL
1.4 KiB
C#
namespace ARMeilleure.IntermediateRepresentation
|
|
{
|
|
enum Instruction
|
|
{
|
|
Add,
|
|
BitwiseAnd,
|
|
BitwiseExclusiveOr,
|
|
BitwiseNot,
|
|
BitwiseOr,
|
|
Branch,
|
|
BranchIf,
|
|
ByteSwap,
|
|
Call,
|
|
Compare,
|
|
CompareAndSwap,
|
|
CompareAndSwap16,
|
|
CompareAndSwap8,
|
|
ConditionalSelect,
|
|
ConvertI64ToI32,
|
|
ConvertToFP,
|
|
ConvertToFPUI,
|
|
Copy,
|
|
CountLeadingZeros,
|
|
Divide,
|
|
DivideUI,
|
|
Load,
|
|
Load16,
|
|
Load8,
|
|
LoadArgument,
|
|
Multiply,
|
|
Multiply64HighSI,
|
|
Multiply64HighUI,
|
|
Negate,
|
|
Return,
|
|
RotateRight,
|
|
ShiftLeft,
|
|
ShiftRightSI,
|
|
ShiftRightUI,
|
|
SignExtend16,
|
|
SignExtend32,
|
|
SignExtend8,
|
|
StackAlloc,
|
|
Store,
|
|
Store16,
|
|
Store8,
|
|
Subtract,
|
|
Tailcall,
|
|
VectorCreateScalar,
|
|
VectorExtract,
|
|
VectorExtract16,
|
|
VectorExtract8,
|
|
VectorInsert,
|
|
VectorInsert16,
|
|
VectorInsert8,
|
|
VectorOne,
|
|
VectorZero,
|
|
VectorZeroUpper64,
|
|
VectorZeroUpper96,
|
|
ZeroExtend16,
|
|
ZeroExtend32,
|
|
ZeroExtend8,
|
|
|
|
Clobber,
|
|
Extended,
|
|
Fill,
|
|
LoadFromContext,
|
|
Spill,
|
|
SpillArg,
|
|
StoreToContext
|
|
}
|
|
} |