glasm: Implement undef instructions
This commit is contained in:
		| @@ -74,11 +74,11 @@ void EmitIsHelperInvocation(EmitContext& ctx, IR::Inst& inst); | |||||||
| void EmitYDirection(EmitContext& ctx); | void EmitYDirection(EmitContext& ctx); | ||||||
| void EmitLoadLocal(EmitContext& ctx, IR::Inst& inst, ScalarU32 word_offset); | void EmitLoadLocal(EmitContext& ctx, IR::Inst& inst, ScalarU32 word_offset); | ||||||
| void EmitWriteLocal(EmitContext& ctx, ScalarU32 word_offset, ScalarU32 value); | void EmitWriteLocal(EmitContext& ctx, ScalarU32 word_offset, ScalarU32 value); | ||||||
| void EmitUndefU1(EmitContext& ctx); | void EmitUndefU1(EmitContext& ctx, IR::Inst& inst); | ||||||
| void EmitUndefU8(EmitContext& ctx); | void EmitUndefU8(EmitContext& ctx, IR::Inst& inst); | ||||||
| void EmitUndefU16(EmitContext& ctx); | void EmitUndefU16(EmitContext& ctx, IR::Inst& inst); | ||||||
| void EmitUndefU32(EmitContext& ctx); | void EmitUndefU32(EmitContext& ctx, IR::Inst& inst); | ||||||
| void EmitUndefU64(EmitContext& ctx); | void EmitUndefU64(EmitContext& ctx, IR::Inst& inst); | ||||||
| void EmitLoadGlobalU8(EmitContext& ctx, IR::Inst& inst, Register address); | void EmitLoadGlobalU8(EmitContext& ctx, IR::Inst& inst, Register address); | ||||||
| void EmitLoadGlobalS8(EmitContext& ctx, IR::Inst& inst, Register address); | void EmitLoadGlobalS8(EmitContext& ctx, IR::Inst& inst, Register address); | ||||||
| void EmitLoadGlobalU16(EmitContext& ctx, IR::Inst& inst, Register address); | void EmitLoadGlobalU16(EmitContext& ctx, IR::Inst& inst, Register address); | ||||||
|   | |||||||
| @@ -209,24 +209,24 @@ void EmitYDirection(EmitContext& ctx) { | |||||||
|     NotImplemented(); |     NotImplemented(); | ||||||
| } | } | ||||||
|  |  | ||||||
| void EmitUndefU1(EmitContext& ctx) { | void EmitUndefU1(EmitContext& ctx, IR::Inst& inst) { | ||||||
|     NotImplemented(); |     ctx.Add("MOV.S {}.x,0;", inst); | ||||||
| } | } | ||||||
|  |  | ||||||
| void EmitUndefU8(EmitContext& ctx) { | void EmitUndefU8(EmitContext& ctx, IR::Inst& inst) { | ||||||
|     NotImplemented(); |     ctx.Add("MOV.S {}.x,0;", inst); | ||||||
| } | } | ||||||
|  |  | ||||||
| void EmitUndefU16(EmitContext& ctx) { | void EmitUndefU16(EmitContext& ctx, IR::Inst& inst) { | ||||||
|     NotImplemented(); |     ctx.Add("MOV.S {}.x,0;", inst); | ||||||
| } | } | ||||||
|  |  | ||||||
| void EmitUndefU32(EmitContext& ctx) { | void EmitUndefU32(EmitContext& ctx, IR::Inst& inst) { | ||||||
|     NotImplemented(); |     ctx.Add("MOV.S {}.x,0;\n", inst); | ||||||
| } | } | ||||||
|  |  | ||||||
| void EmitUndefU64(EmitContext& ctx) { | void EmitUndefU64(EmitContext& ctx, IR::Inst& inst) { | ||||||
|     NotImplemented(); |     ctx.LongAdd("MOV.S64 {}.x,0;", inst); | ||||||
| } | } | ||||||
|  |  | ||||||
| void EmitGetZeroFromOp(EmitContext& ctx) { | void EmitGetZeroFromOp(EmitContext& ctx) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user