GBE: Change 64bit integer storage in register
authorRuiling Song <ruiling.song@intel.com>
Thu, 29 May 2014 02:29:33 +0000 (10:29 +0800)
committerZhigang Gong <zhigang.gong@intel.com>
Thu, 29 May 2014 06:49:03 +0000 (14:49 +0800)
commitcf636eef3ddce82562cb87a8ec974f44c746a14b
tree87facb6f7610d1b2fa5c26f99025e4c91cdb54c8
parent80b2acab298377da1e0f53dcfed8ec758c6aa53d
GBE: Change 64bit integer storage in register

Previously, we store low/high half of 64bit together, which need several
32bit instructions to do one 64bit instruction. Now we simply change its
storage in register, low 32bit of all lanes are stored together, and then the
high 32bit of all lanes. This will make long support cleaner and less
32bit instructions needed.

v2:
fix a typo when getRegAtrrib().
Refine SelectionVector alignment.

Signed-off-by: Ruiling Song <ruiling.song@intel.com>
Reviewed-by: "Yang, Rong R" <rong.r.yang@intel.com>
backend/src/backend/gen_context.cpp
backend/src/backend/gen_encoder.cpp
backend/src/backend/gen_encoder.hpp
backend/src/backend/gen_insn_selection.cpp
backend/src/backend/gen_reg_allocation.cpp
backend/src/backend/gen_register.hpp
backend/src/llvm/llvm_gen_backend.cpp