mirror of
				https://github.com/Ryujinx/Ryujinx.git
				synced 2025-10-25 21:13:55 -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
		
			
				
	
	
		
			25 lines
		
	
	
		
			578 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			578 B
		
	
	
	
		
			C#
		
	
	
	
	
	
| namespace ARMeilleure.IntermediateRepresentation
 | |
| {
 | |
|     enum Comparison
 | |
|     {
 | |
|         Equal             = 0,
 | |
|         NotEqual          = 1,
 | |
|         Greater           = 2,
 | |
|         LessOrEqual       = 3,
 | |
|         GreaterUI         = 4,
 | |
|         LessOrEqualUI     = 5,
 | |
|         GreaterOrEqual    = 6,
 | |
|         Less              = 7,
 | |
|         GreaterOrEqualUI  = 8,
 | |
|         LessUI            = 9
 | |
|     }
 | |
| 
 | |
|     static class ComparisonExtensions
 | |
|     {
 | |
|         public static Comparison Invert(this Comparison comp)
 | |
|         {
 | |
|             return (Comparison)((int)comp ^ 1);
 | |
|         }
 | |
|     }
 | |
| }
 |