this series improves the dual issueing code for nvc0 and newer gpus. the pass has some outstanding runtime complexity issues I still need to solve, but I included the patch for the sake of completeness.
patches 2-3 can be merged without the 1st and 4th one, but the performance gains without the compiler pass aren't as big as with it. Karol Herbst (4): nv50: add target->hasDualIssueing() nvc0/ir: don't dual issue instructions which depend on each other nvc0/ir: dual issue two min/max instructions nv50: add PostRADualIssue Pass src/gallium/drivers/nouveau/codegen/nv50_ir.cpp | 11 +++- src/gallium/drivers/nouveau/codegen/nv50_ir.h | 1 + .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 59 ++++++++++++++++++++++ .../drivers/nouveau/codegen/nv50_ir_target.h | 1 + .../nouveau/codegen/nv50_ir_target_nvc0.cpp | 25 +++++++-- .../drivers/nouveau/codegen/nv50_ir_target_nvc0.h | 1 + 6 files changed, 93 insertions(+), 5 deletions(-) -- 2.9.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev