forked from eden-emu/eden
		
	glasm: Implement int64 add and subtract
This commit is contained in:
		
							parent
							
								
									7fdf0d7d33
								
							
						
					
					
						commit
						0794273870
					
				
					 2 changed files with 6 additions and 8 deletions
				
			
		|  | @ -299,9 +299,9 @@ void EmitFPIsNan16(EmitContext& ctx, Register value); | ||||||
| void EmitFPIsNan32(EmitContext& ctx, IR::Inst& inst, ScalarF32 value); | void EmitFPIsNan32(EmitContext& ctx, IR::Inst& inst, ScalarF32 value); | ||||||
| void EmitFPIsNan64(EmitContext& ctx, IR::Inst& inst, ScalarF64 value); | void EmitFPIsNan64(EmitContext& ctx, IR::Inst& inst, ScalarF64 value); | ||||||
| void EmitIAdd32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b); | void EmitIAdd32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b); | ||||||
| void EmitIAdd64(EmitContext& ctx, Register a, Register b); | void EmitIAdd64(EmitContext& ctx, IR::Inst& inst, Register a, Register b); | ||||||
| void EmitISub32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b); | void EmitISub32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b); | ||||||
| void EmitISub64(EmitContext& ctx, Register a, Register b); | void EmitISub64(EmitContext& ctx, IR::Inst& inst, Register a, Register b); | ||||||
| void EmitIMul32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b); | void EmitIMul32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b); | ||||||
| void EmitINeg32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value); | void EmitINeg32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value); | ||||||
| void EmitINeg64(EmitContext& ctx, IR::Inst& inst, Register value); | void EmitINeg64(EmitContext& ctx, IR::Inst& inst, Register value); | ||||||
|  |  | ||||||
|  | @ -37,18 +37,16 @@ void EmitIAdd32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) { | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void EmitIAdd64([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] Register a, | void EmitIAdd64(EmitContext& ctx, IR::Inst& inst, Register a, Register b) { | ||||||
|                 [[maybe_unused]] Register b) { |     ctx.LongAdd("ADD.S64 {}.x,{}.x,{}.x;", inst, a, b); | ||||||
|     throw NotImplementedException("GLASM instruction"); |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void EmitISub32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) { | void EmitISub32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) { | ||||||
|     ctx.Add("SUB.S {}.x,{},{};", inst, a, b); |     ctx.Add("SUB.S {}.x,{},{};", inst, a, b); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void EmitISub64([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] Register a, | void EmitISub64(EmitContext& ctx, IR::Inst& inst, Register a, Register b) { | ||||||
|                 [[maybe_unused]] Register b) { |     ctx.LongAdd("SUB.S64 {}.x,{}.x,{}.x;", inst, a, b); | ||||||
|     throw NotImplementedException("GLASM instruction"); |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void EmitIMul32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) { | void EmitIMul32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 ReinUsesLisp
						ReinUsesLisp