support sends (split send) for untyped write

Graphics / Beignet - Guo, Yejun [intel.com] - 30 November 2016 03:26 UTC

sends is a new instruction starting from gen9 to split the registers of address and data for write, the register pressure can be loosed since they are not necessary to be continuous any more.

more patches for sends will be sent out.

we can choose send or sends based on hasSends() in selection stage, only enabeld as default for skylake now.

v2: add function setSendsOperands
v3: reuse function setDPUntypedRW

80453f9 support sends (split send) for untyped write
backend/src/backend/gen75_encoder.cpp | 2 +-
backend/src/backend/gen75_encoder.hpp | 2 +-
backend/src/backend/gen8_context.cpp | 21 +++++---
backend/src/backend/gen8_encoder.cpp | 2 +-
backend/src/backend/gen8_encoder.hpp | 2 +-
backend/src/backend/gen9_encoder.cpp | 77 ++++++++++++++++++++++++++++
backend/src/backend/gen9_encoder.hpp | 4 +-
backend/src/backend/gen_context.cpp | 41 +++++++++------
backend/src/backend/gen_encoder.cpp | 14 ++++-
backend/src/backend/gen_encoder.hpp | 4 +-
backend/src/backend/gen_insn_selection.cpp | 22 +++++++-
backend/src/backend/gen_insn_selection.hpp | 1 +
12 files changed, 159 insertions(+), 33 deletions(-)

Upstream: cgit.freedesktop.org


  • Share