mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 07:08:04 +02:00
aco/ra: don't swap p_create_vector operand with definition blocker for scc
SCC is 1-bit, and we can't copy a 32-bit value into it. Fixes dEQP-VK.spirv_assembly.type.scalar.i32.iequal_tesse with ACO_DEBUG=noopt. No fossil-db changes. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Fixes:9476986e6f("aco/ra: special-case get_reg_for_create_vector_copy()") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20240> (cherry picked from commita05dd58309)
This commit is contained in:
parent
6922882d8f
commit
2c73855937
2 changed files with 2 additions and 2 deletions
|
|
@ -1831,7 +1831,7 @@
|
|||
"description": "aco/ra: don't swap p_create_vector operand with definition blocker for scc",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "9476986e6f6fe49ef8bc511f4ebeca4232263888"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1091,7 +1091,7 @@ get_reg_for_create_vector_copy(ra_ctx& ctx, RegisterFile& reg_file,
|
|||
assignment& op = ctx.assignments[instr->operands[i].tempId()];
|
||||
/* if everything matches, create parallelcopy for the killed operand */
|
||||
if (!intersects(def_reg, PhysRegInterval{op.reg, op.rc.size()}) &&
|
||||
reg_file.get_id(op.reg) == instr->operands[i].tempId()) {
|
||||
op.reg != scc && reg_file.get_id(op.reg) == instr->operands[i].tempId()) {
|
||||
Definition pc_def = Definition(reg, info.rc);
|
||||
parallelcopies.emplace_back(instr->operands[i], pc_def);
|
||||
return {op.reg, true};
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue