diff options
author | Junyan He <junyan.he@linux.intel.com> | 2015-01-19 15:34:57 +0800 |
---|---|---|
committer | Zhigang Gong <zhigang.gong@intel.com> | 2015-01-20 16:31:25 +0800 |
commit | 8633536034c775976289fd8e59e4924b81211934 (patch) | |
tree | bd1ccc7f14a3d523e2a7c6d4b821b1d9b9e4e1a1 | |
parent | cb5404d781cf95e442032f9aa10f447773d9abec (diff) |
Add the logic for UPSAMPLE_LONG
Signed-off-by: Junyan He <junyan.he@linux.intel.com>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
-rw-r--r-- | backend/src/backend/gen8_context.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/backend/src/backend/gen8_context.cpp b/backend/src/backend/gen8_context.cpp index fca4f05d..07f8c479 100644 --- a/backend/src/backend/gen8_context.cpp +++ b/backend/src/backend/gen8_context.cpp @@ -84,6 +84,16 @@ namespace gbe /* Should never come to here, just use the common OPCODE. */ GBE_ASSERT(0); break; + case SEL_OP_UPSAMPLE_LONG: + { + const GenRegister dst = ra->genReg(insn.dst(0)); + const GenRegister src0 = ra->genReg(insn.src(0)); + const GenRegister src1 = ra->genReg(insn.src(1)); + p->MOV(dst, src0); + p->SHL(dst, dst, GenRegister::immud(32)); + p->ADD(dst, dst, src1); + break; + } default: GenContext::emitBinaryInstruction(insn); } |