2016-08-13 17:43 GMT+02:00 Tobias Klausmann <tobias.johannes.klausm...@mni.thm.de>: > Hi Karol, > > one question inline. > > > On 13.08.2016 12:02, Karol Herbst wrote: >> >> min/max pairs can be dual issued on Kepler1 >> >> changes for ./GpuTest /test=pixmark_piano /benchmark /no_scorebox /msaa=0 >> /benchmark_duration_ms=60000 /width=1024 /height=640: >> >> without dual_issue pass: >> inst_executed: 1.03G >> inst_issued1: 614M -> 580M >> inst_issued2: 213M -> 230M >> >> score: 1021 -> 1030 >> >> with dual_issue pass: >> inst_executed: 1.03G >> inst_issued1: 535M -> 500M >> inst_issued2: 254M -> 271M >> >> score: 1052 -> 1056 >> >> Signed-off-by: Karol Herbst <karolher...@gmail.com> >> --- >> .../drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp | 14 >> ++++++++++++-- >> 1 file changed, 12 insertions(+), 2 deletions(-) >> >> diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp >> b/src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp >> index 8ce8c19..ea44e6f 100644 >> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp >> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp >> @@ -628,9 +628,19 @@ bool TargetNVC0::canDualIssue(const Instruction *a, >> const Instruction *b) const >> if (a->op == OP_MOV || b->op == OP_MOV) >> return true; >> if (clA == clB) { >> - // only F32 arith or integer additions >> - if (clA != OPCLASS_ARITH) >> + switch (clA) { >> + // there might be more > > > are there more?
no clue. those OPCLASS don't really map to the hw unit used to execute those instructions. max/min are treated like arithm on kepler, and I just assumed there is something. > >> + case OPCLASS_COMPARE: >> + if ((a->op == OP_MIN || a->op == OP_MAX) && >> + (b->op == OP_MIN || b->op == OP_MAX)) >> + break; >> + return false; >> + case OPCLASS_ARITH: >> + break; >> + default: >> return false; >> + } >> + // only F32 arith or integer additions >> return (a->dType == TYPE_F32 || a->op == OP_ADD || >> b->dType == TYPE_F32 || b->op == OP_ADD); >> } > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev