Now we support DWORD & QWORD register spill/fill.
v2: only add poolOffset by 1 when we meet QWord register and poolOffset is 1.
v3: allocate reserved register pool unifiedly for src and dst register. when it spill a qword register, payload register should be retyped as dword per bottom/top logic. put a limit on the scratch space memory size.
v4: fix a typo. increase the reserved register from 6 to 8 for some complex instruction.
5362669 GBE: Support 64Bit register spill.
backend/src/backend/gen_context.cpp | 45 ++++++++++++++++++----
backend/src/backend/gen_insn_selection.cpp | 56 +++++++++++++++-------------
backend/src/backend/gen_reg_allocation.cpp | 18 +++++----
backend/src/backend/gen_reg_allocation.hpp | 1 +
src/cl_command_queue_gen7.c | 3 +-
5 files changed, 82 insertions(+), 41 deletions(-)
Upstream: cgit.freedesktop.org