glasm: Add logical instructions on GLASM
This commit is contained in:
		@@ -437,10 +437,10 @@ void EmitGlobalAtomicMinF16x2(EmitContext& ctx);
 | 
			
		||||
void EmitGlobalAtomicMinF32x2(EmitContext& ctx);
 | 
			
		||||
void EmitGlobalAtomicMaxF16x2(EmitContext& ctx);
 | 
			
		||||
void EmitGlobalAtomicMaxF32x2(EmitContext& ctx);
 | 
			
		||||
void EmitLogicalOr(EmitContext& ctx, ScalarS32 a, ScalarS32 b);
 | 
			
		||||
void EmitLogicalAnd(EmitContext& ctx, ScalarS32 a, ScalarS32 b);
 | 
			
		||||
void EmitLogicalXor(EmitContext& ctx, ScalarS32 a, ScalarS32 b);
 | 
			
		||||
void EmitLogicalNot(EmitContext& ctx, ScalarS32 value);
 | 
			
		||||
void EmitLogicalOr(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
 | 
			
		||||
void EmitLogicalAnd(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
 | 
			
		||||
void EmitLogicalXor(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
 | 
			
		||||
void EmitLogicalNot(EmitContext& ctx, IR::Inst& inst, ScalarS32 value);
 | 
			
		||||
void EmitConvertS16F16(EmitContext& ctx, Register value);
 | 
			
		||||
void EmitConvertS16F32(EmitContext& ctx, Register value);
 | 
			
		||||
void EmitConvertS16F64(EmitContext& ctx, Register value);
 | 
			
		||||
 
 | 
			
		||||
@@ -572,20 +572,20 @@ void EmitGlobalAtomicMaxF32x2(EmitContext& ctx) {
 | 
			
		||||
    NotImplemented();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void EmitLogicalOr(EmitContext& ctx, ScalarS32 a, ScalarS32 b) {
 | 
			
		||||
    NotImplemented();
 | 
			
		||||
void EmitLogicalOr(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) {
 | 
			
		||||
    ctx.Add("OR.S {},{},{};", inst, a, b);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void EmitLogicalAnd(EmitContext& ctx, ScalarS32 a, ScalarS32 b) {
 | 
			
		||||
    NotImplemented();
 | 
			
		||||
void EmitLogicalAnd(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) {
 | 
			
		||||
    ctx.Add("AND.S {},{},{};", inst, a, b);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void EmitLogicalXor(EmitContext& ctx, ScalarS32 a, ScalarS32 b) {
 | 
			
		||||
    NotImplemented();
 | 
			
		||||
void EmitLogicalXor(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) {
 | 
			
		||||
    ctx.Add("XOR.S {},{},{};", inst, a, b);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void EmitLogicalNot(EmitContext& ctx, ScalarS32 value) {
 | 
			
		||||
    NotImplemented();
 | 
			
		||||
void EmitLogicalNot(EmitContext& ctx, IR::Inst& inst, ScalarS32 value) {
 | 
			
		||||
    ctx.Add("SEQ.S {},{},0;", inst, value);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void EmitConvertS16F16(EmitContext& ctx, Register value) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user