GBE: Support 64Bit register spill.
authorRuiling Song <ruiling.song@intel.com>
Fri, 14 Feb 2014 07:04:26 +0000 (15:04 +0800)
committerZhigang Gong <zhigang.gong@intel.com>
Fri, 14 Feb 2014 07:06:46 +0000 (15:06 +0800)
commit5362669330dda931179ac4b32d8dbce606d2fdd0
tree3ad4f070e6f71d35c35af4cf117c6b7d698f4e62
parent263f8897aa6ab3fabd31ff8e994bf72113987279
GBE: Support 64Bit register spill.

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.

Signed-off-by: Ruiling Song <ruiling.song@intel.com>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
backend/src/backend/gen_context.cpp
backend/src/backend/gen_insn_selection.cpp
backend/src/backend/gen_reg_allocation.cpp
backend/src/backend/gen_reg_allocation.hpp
src/cl_command_queue_gen7.c