glasm: Implement BFE.CC

This commit is contained in:
ReinUsesLisp 2021-05-18 21:30:24 -03:00 committed by ameerj
parent 2e0d56da7e
commit 98ed8ff103

View File

@ -122,6 +122,14 @@ void EmitBitFieldUExtract(EmitContext& ctx, IR::Inst& inst, ScalarU32 base, Scal
"BFE.U {},RC,{};", "BFE.U {},RC,{};",
count, offset, ret, base); count, offset, ret, base);
} }
if (const auto zero = inst.GetAssociatedPseudoOperation(IR::Opcode::GetZeroFromOp)) {
ctx.Add("SEQ.S {},{},0;", *zero, ret);
zero->Invalidate();
}
if (const auto sign = inst.GetAssociatedPseudoOperation(IR::Opcode::GetSignFromOp)) {
ctx.Add("SLT.S {},{},0;", *sign, ret);
sign->Invalidate();
}
} }
void EmitBitReverse32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value) { void EmitBitReverse32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value) {