mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 13:40:11 +01:00
aco: implement 64bit i2b for SI /CI
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
This commit is contained in:
parent
da7ff58835
commit
1e1356b2ad
1 changed files with 7 additions and 2 deletions
|
|
@ -2115,8 +2115,13 @@ void visit_alu_instr(isel_context *ctx, nir_alu_instr *instr)
|
|||
Definition(dst), Operand(0u), src).def(0).setHint(vcc);
|
||||
} else {
|
||||
assert(src.regClass() == s1 || src.regClass() == s2);
|
||||
Temp tmp = bld.sopc(src.size() == 2 ? aco_opcode::s_cmp_lg_u64 : aco_opcode::s_cmp_lg_u32,
|
||||
bld.scc(bld.def(s1)), Operand(0u), src);
|
||||
Temp tmp;
|
||||
if (src.regClass() == s2 && ctx->program->chip_class <= GFX7) {
|
||||
tmp = bld.sop2(aco_opcode::s_or_b64, bld.def(s2), bld.def(s1, scc), Operand(0u), src).def(1).getTemp();
|
||||
} else {
|
||||
tmp = bld.sopc(src.size() == 2 ? aco_opcode::s_cmp_lg_u64 : aco_opcode::s_cmp_lg_u32,
|
||||
bld.scc(bld.def(s1)), Operand(0u), src);
|
||||
}
|
||||
bool_to_vector_condition(ctx, tmp, dst);
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue