LGTM. Thanks. Yan Wang
On Mon, 2016-11-21 at 18:16 +0800, Guo, Yejun wrote: > tmp0 is added into src in selection stage, and just ignored at > context > stage, it is redundant. > > Signed-off-by: Guo, Yejun <yejun....@intel.com> > --- > backend/src/backend/gen_context.cpp | 2 -- > backend/src/backend/gen_insn_selection.cpp | 54 +++++++++----------- > ---------- > 2 files changed, 15 insertions(+), 41 deletions(-) > > diff --git a/backend/src/backend/gen_context.cpp > b/backend/src/backend/gen_context.cpp > index c38b7af..186c8d9 100644 > --- a/backend/src/backend/gen_context.cpp > +++ b/backend/src/backend/gen_context.cpp > @@ -3474,8 +3474,6 @@ namespace gbe > const GenRegister tmp1 = ra->genReg(insn.dst(2)); > GenRegister src; > uint32_t srcNum = insn.srcNum; > - if (insn.extra.continueFlag) > - srcNum--; > > GenRegister addr = GenRegister::retype(tmp0, GEN_TYPE_UD); > GenRegister data = GenRegister::retype(tmp1, GEN_TYPE_UD); > diff --git a/backend/src/backend/gen_insn_selection.cpp > b/backend/src/backend/gen_insn_selection.cpp > index c14e0bc..1808c7b 100644 > --- a/backend/src/backend/gen_insn_selection.cpp > +++ b/backend/src/backend/gen_insn_selection.cpp > @@ -2131,49 +2131,25 @@ namespace gbe > > void Selection::Opaque::PRINTF(GenRegister dst, uint8_t bti, > GenRegister tmp0, GenRegister tmp1, > GenRegister src[8], int srcNum, uint16_t num, bool > isContinue, uint32_t totalSize) { > - if (isContinue) { > - SelectionInstruction *insn = this->appendInsn(SEL_OP_PRINTF, > 3, srcNum + 1); > - SelectionVector *vector = this->appendVector(); > - > - for (int i = 0; i < srcNum; i++) > - insn->src(i) = src[i]; > - > - insn->src(srcNum) = tmp0; > - > - insn->dst(0) = dst; > - insn->dst(1) = tmp0; > - insn->dst(2) = tmp1; > - > - vector->regNum = 2; > - vector->reg = &insn->dst(1); > - vector->offsetID = 0; > - vector->isSrc = 0; > - > - insn->extra.printfSize = static_cast<uint16_t>(totalSize); > - insn->extra.continueFlag = isContinue; > - insn->extra.printfBTI = bti; > - insn->extra.printfNum = num; > - } else { > - SelectionInstruction *insn = this->appendInsn(SEL_OP_PRINTF, > 3, srcNum); > - SelectionVector *vector = this->appendVector(); > + SelectionInstruction *insn = this->appendInsn(SEL_OP_PRINTF, 3, > srcNum); > + SelectionVector *vector = this->appendVector(); > > - for (int i = 0; i < srcNum; i++) > - insn->src(i) = src[i]; > + for (int i = 0; i < srcNum; i++) > + insn->src(i) = src[i]; > > - insn->dst(0) = dst; > - insn->dst(1) = tmp0; > - insn->dst(2) = tmp1; > + insn->dst(0) = dst; > + insn->dst(1) = tmp0; > + insn->dst(2) = tmp1; > > - vector->regNum = 2; > - vector->reg = &insn->dst(1); > - vector->offsetID = 0; > - vector->isSrc = 0; > + vector->regNum = 2; > + vector->reg = &insn->dst(1); > + vector->offsetID = 0; > + vector->isSrc = 0; > > - insn->extra.printfSize = static_cast<uint16_t>(totalSize); > - insn->extra.continueFlag = isContinue; > - insn->extra.printfBTI = bti; > - insn->extra.printfNum = num; > - } > + insn->extra.printfSize = static_cast<uint16_t>(totalSize); > + insn->extra.continueFlag = isContinue; > + insn->extra.printfBTI = bti; > + insn->extra.printfNum = num; > } > > void Selection::Opaque::WORKGROUP_OP(uint32_t wg_op, _______________________________________________ Beignet mailing list Beignet@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/beignet