From: Timur Kristóf Date: Thu, 21 Nov 2019 11:26:36 +0000 (+0100) Subject: aco: Fix operand of s_bcnt1_i32_b64 in emit_boolean_reduce. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9a43d26b743dada4bbb2d208d6e34b20f115f500;p=mesa.git aco: Fix operand of s_bcnt1_i32_b64 in emit_boolean_reduce. Signed-off-by: Timur Kristóf Reviewed-by: Rhys Perry Reviewed-by: Daniel Schürmann --- diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index 807cc02264c..9eb8fff92df 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -5223,7 +5223,7 @@ Temp emit_boolean_reduce(isel_context *ctx, nir_op op, unsigned cluster_size, Te } else if (op == nir_op_ixor && cluster_size == 64) { //subgroupXor(val) -> s_bcnt1_i32_b64(val & exec) & 1 Temp tmp = bld.sop2(aco_opcode::s_and_b64, bld.def(s2), bld.def(s1, scc), src, Operand(exec, s2)); - tmp = bld.sop1(aco_opcode::s_bcnt1_i32_b64, bld.def(s2), bld.def(s1, scc), tmp); + tmp = bld.sop1(aco_opcode::s_bcnt1_i32_b64, bld.def(s1), bld.def(s1, scc), tmp); tmp = bld.sop2(aco_opcode::s_and_b32, bld.def(s1), bld.def(s1, scc), tmp, Operand(1u)).def(1).getTemp(); return bool_to_vector_condition(ctx, tmp); } else {