mirror of
				https://github.com/Ryujinx/Ryujinx.git
				synced 2025-10-25 04:52:27 -07:00 
			
		
		
		
	* 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
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			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
 | |
|     }
 | |
| } |