summaryrefslogtreecommitdiff
path: root/src/amd/compiler/aco_reduce_assign.cpp
diff options
context:
space:
mode:
authorDaniel Schürmann <daniel@schuermann.dev>2019-11-20 18:57:23 +0100
committerDaniel Schürmann <daniel@schuermann.dev>2019-12-07 11:23:11 +0100
commit9254fb4fc72ed289ffded28ef067b4582973e90c (patch)
tree65946beed34fe0301ac772a3534b6b22f1c14539 /src/amd/compiler/aco_reduce_assign.cpp
parent8ad43d88384dcf4d3aa6ac95b2dddedc80ecf457 (diff)
downloadmesa-9254fb4fc72ed289ffded28ef067b4582973e90c.tar.gz
aco: don't use a scalar temporary for reductions on GFX10
This patch also adds the scalar temporary for scans on SI/CI Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Diffstat (limited to 'src/amd/compiler/aco_reduce_assign.cpp')
-rw-r--r--src/amd/compiler/aco_reduce_assign.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/amd/compiler/aco_reduce_assign.cpp b/src/amd/compiler/aco_reduce_assign.cpp
index 68a0dc15761..f1015b13316 100644
--- a/src/amd/compiler/aco_reduce_assign.cpp
+++ b/src/amd/compiler/aco_reduce_assign.cpp
@@ -153,7 +153,7 @@ void setup_reduce_temp(Program* program)
instr->definitions[1] = bld.def(s2);
/* scalar identity temporary */
- bool need_sitmp = program->chip_class >= GFX10 && cluster_size == 64;
+ bool need_sitmp = (program->chip_class <= GFX7 || program->chip_class >= GFX10) && instr->opcode != aco_opcode::p_reduce;
if (instr->opcode == aco_opcode::p_exclusive_scan) {
need_sitmp |=
(op == imin32 || op == imin64 || op == imax32 || op == imax64 ||