shader: Implement CC for ISET, FSET, PSET, CSET, and DSET

Throw when other instructions are missing CC.
This commit is contained in:
FernandoS27 2021-04-10 00:29:12 +02:00 committed by ameerj
parent 99cfd73ba7
commit ee8beff168
18 changed files with 136 additions and 13 deletions

View file

@ -13,8 +13,13 @@ void BFI(TranslatorVisitor& v, u64 insn, const IR::U32& src_a, const IR::U32& ba
u64 insn;
BitField<0, 8, IR::Reg> dest_reg;
BitField<8, 8, IR::Reg> insert_reg;
BitField<47, 1, u64> cc;
} const bfi{insn};
if (bfi.cc != 0) {
throw NotImplementedException("BFI CC");
}
const IR::U32 offset{v.ir.BitFieldExtract(src_a, v.ir.Imm32(0), v.ir.Imm32(8), false)};
const IR::U32 unsafe_count{v.ir.BitFieldExtract(src_a, v.ir.Imm32(8), v.ir.Imm32(8), false)};
const IR::U32 max_size{v.ir.Imm32(32)};