diff options
author | Junyan He <junyan.he@linux.intel.com> | 2015-12-01 16:10:28 +0800 |
---|---|---|
committer | Yang Rong <rong.r.yang@intel.com> | 2015-12-14 15:11:01 +0800 |
commit | 1bdab2377bb0597bb92a8006233f49c8341e5ea3 (patch) | |
tree | 2e8ac8cbd2a11a931e6b3ba5976a01ef1dcb6928 | |
parent | 1236620cc6b5ad5687132e22ff888070e75332eb (diff) |
Backend: Add sr0 reg helper function.
sr0 is used to specify the state reigster where we can get the
state of each EU thread.
Signed-off-by: Junyan He <junyan.he@linux.intel.com>
Reviewed-by: Yang Rong <rong.r.yang@intel.com>
-rw-r--r-- | backend/src/backend/gen75_context.cpp | 8 | ||||
-rw-r--r-- | backend/src/backend/gen_register.hpp | 10 |
2 files changed, 11 insertions, 7 deletions
diff --git a/backend/src/backend/gen75_context.cpp b/backend/src/backend/gen75_context.cpp index 7d407c36..fa8b0295 100644 --- a/backend/src/backend/gen75_context.cpp +++ b/backend/src/backend/gen75_context.cpp @@ -44,13 +44,7 @@ namespace gbe p->push(); p->curr.execWidth = 1; p->curr.predicate = GEN_PREDICATE_NONE; - GenRegister sr0 = GenRegister(GEN_ARCHITECTURE_REGISTER_FILE, - GEN_ARF_STATE, - 1, - GEN_TYPE_UD, - GEN_VERTICAL_STRIDE_8, - GEN_WIDTH_8, - GEN_HORIZONTAL_STRIDE_1); + GenRegister sr0 = GenRegister::sr(0, 1); p->SHR(sr0, slm_index, GenRegister::immud(16)); p->pop(); } diff --git a/backend/src/backend/gen_register.hpp b/backend/src/backend/gen_register.hpp index 5c813be9..aa0744b3 100644 --- a/backend/src/backend/gen_register.hpp +++ b/backend/src/backend/gen_register.hpp @@ -828,6 +828,16 @@ namespace gbe GEN_HORIZONTAL_STRIDE_0); } + static INLINE GenRegister sr(uint32_t nr, uint32_t subnr = 0) { + return GenRegister(GEN_ARCHITECTURE_REGISTER_FILE, + GEN_ARF_STATE | nr, + subnr, + GEN_TYPE_UD, + GEN_VERTICAL_STRIDE_8, + GEN_WIDTH_8, + GEN_HORIZONTAL_STRIDE_1); + } + static INLINE GenRegister notification0(uint32_t subnr) { return GenRegister(GEN_ARCHITECTURE_REGISTER_FILE, GEN_ARF_NOTIFICATION_COUNT, |