summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunyan He <junyan.he@linux.intel.com>2015-01-19 15:34:57 +0800
committerZhigang Gong <zhigang.gong@intel.com>2015-01-20 16:31:25 +0800
commit8633536034c775976289fd8e59e4924b81211934 (patch)
treebd1ccc7f14a3d523e2a7c6d4b821b1d9b9e4e1a1
parentcb5404d781cf95e442032f9aa10f447773d9abec (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.cpp10
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);
}