summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPan Xiuli <xiuli.pan@intel.com>2016-07-13 11:00:56 +0800
committerYang Rong <rong.r.yang@intel.com>2016-07-20 17:35:36 +0800
commit92798c013b398212dfcc59c7bfc712c35f408065 (patch)
tree3974acc235c40689f426e98e63de00ce7b3cad3e
parente855157eeb2be3896cdfc1cd1dd7690d00c2352f (diff)
downloadbeignet-92798c013b398212dfcc59c7bfc712c35f408065.tar.gz
Backend: Change disable compact to compact version
This chagne is basic for gen8+ instruction compact. Signed-off-by: Pan Xiuli <xiuli.pan@intel.com> Reviewed-by: Yang Rong <rong.r.yang@intel.com>
-rw-r--r--backend/src/backend/gen8_encoder.hpp2
-rw-r--r--backend/src/backend/gen_encoder.hpp2
-rw-r--r--backend/src/backend/gen_insn_compact.cpp4
3 files changed, 4 insertions, 4 deletions
diff --git a/backend/src/backend/gen8_encoder.hpp b/backend/src/backend/gen8_encoder.hpp
index 8c447ea8..12b37652 100644
--- a/backend/src/backend/gen8_encoder.hpp
+++ b/backend/src/backend/gen8_encoder.hpp
@@ -55,7 +55,7 @@ namespace gbe
virtual void setDst(GenNativeInstruction *insn, GenRegister dest);
virtual void setSrc0(GenNativeInstruction *insn, GenRegister reg);
virtual void setSrc1(GenNativeInstruction *insn, GenRegister reg);
- virtual bool disableCompact() { return true; }
+ virtual uint32_t getCompactVersion() { return 8; }
virtual void alu3(uint32_t opcode, GenRegister dst,
GenRegister src0, GenRegister src1, GenRegister src2);
virtual bool canHandleLong(uint32_t opcode, GenRegister dst, GenRegister src0,
diff --git a/backend/src/backend/gen_encoder.hpp b/backend/src/backend/gen_encoder.hpp
index 4979305d..0f835ca0 100644
--- a/backend/src/backend/gen_encoder.hpp
+++ b/backend/src/backend/gen_encoder.hpp
@@ -261,7 +261,7 @@ namespace gbe
virtual void setSrc0(GenNativeInstruction *insn, GenRegister reg) = 0;
virtual void setSrc1(GenNativeInstruction *insn, GenRegister reg) = 0;
GenCompactInstruction *nextCompact(uint32_t opcode);
- virtual bool disableCompact() { return false; }
+ virtual uint32_t getCompactVersion() { return 7; }
GenNativeInstruction *next(uint32_t opcode);
uint32_t n_instruction(void) const { return store.size(); }
virtual bool canHandleLong(uint32_t opcode, GenRegister dst, GenRegister src0,
diff --git a/backend/src/backend/gen_insn_compact.cpp b/backend/src/backend/gen_insn_compact.cpp
index d692fffb..7be33ba9 100644
--- a/backend/src/backend/gen_insn_compact.cpp
+++ b/backend/src/backend/gen_insn_compact.cpp
@@ -440,7 +440,7 @@ namespace gbe {
}
bool compactAlu1(GenEncoder *p, uint32_t opcode, GenRegister dst, GenRegister src, uint32_t condition, bool split) {
- if(p->disableCompact())
+ if(p->getCompactVersion() == 8)
return false;
if(split) {
@@ -478,7 +478,7 @@ namespace gbe {
}
bool compactAlu2(GenEncoder *p, uint32_t opcode, GenRegister dst, GenRegister src0, GenRegister src1, uint32_t condition, bool split) {
- if(p->disableCompact())
+ if(p->getCompactVersion() == 8)
return false;
if(split) {