From: Pan Xiuli <[email protected]> We now can have a one reg size register using FAMILY_REG, refine the header and tmp to be one reg size.
Signed-off-by: Pan Xiuli <[email protected]> --- backend/src/backend/gen_insn_selection.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/backend/src/backend/gen_insn_selection.cpp b/backend/src/backend/gen_insn_selection.cpp index c14e0bc..21f8154 100644 --- a/backend/src/backend/gen_insn_selection.cpp +++ b/backend/src/backend/gen_insn_selection.cpp @@ -4675,7 +4675,7 @@ extern bool OCL_DEBUGINFO; // first defined by calling BVAR in program.cpp const uint32_t simdWidth = sel.ctx.getSimdWidth(); const Type type = insn.getValueType(); const uint32_t typeSize = type == TYPE_U32 ? 4 : 2; - const GenRegister header = GenRegister::retype(GenRegister::f8grf(sel.reg(FAMILY_DWORD)), GEN_TYPE_UD); + const GenRegister header = GenRegister::retype(GenRegister::f8grf(sel.reg(FAMILY_REG)), GEN_TYPE_UD); vector<GenRegister> valuesVec; for(uint32_t i = 0; i < vec_size; i++) valuesVec.push_back(sel.selReg(insn.getValue(i), type)); @@ -4685,7 +4685,7 @@ extern bool OCL_DEBUGINFO; // first defined by calling BVAR in program.cpp tmp_size = tmp_size > 4 ? 4 : tmp_size; vector<GenRegister> tmpVec; for(uint32_t i = 0; i < tmp_size; i++) - tmpVec.push_back(GenRegister::retype(GenRegister::f8grf(sel.reg(FAMILY_DWORD)), GEN_TYPE_UD)); + tmpVec.push_back(GenRegister::retype(GenRegister::f8grf(sel.reg(FAMILY_REG)), GEN_TYPE_UD)); sel.OBREAD(&valuesVec[0], vec_size, address, header, SI, &tmpVec[0], tmp_size); } @@ -5121,7 +5121,7 @@ extern bool OCL_DEBUGINFO; // first defined by calling BVAR in program.cpp const uint32_t simdWidth = sel.ctx.getSimdWidth(); const Type type = insn.getValueType(); const uint32_t typeSize = type == TYPE_U32 ? 4 : 2; - const GenRegister header = GenRegister::retype(GenRegister::f8grf(sel.reg(FAMILY_DWORD)), GEN_TYPE_UD); + const GenRegister header = GenRegister::retype(GenRegister::f8grf(sel.reg(FAMILY_REG)), GEN_TYPE_UD); vector<GenRegister> valuesVec; for(uint32_t i = 0; i < vec_size; i++) valuesVec.push_back(sel.selReg(insn.getValue(i), type)); @@ -5131,7 +5131,7 @@ extern bool OCL_DEBUGINFO; // first defined by calling BVAR in program.cpp tmp_size = tmp_size > 4 ? 4 : tmp_size; vector<GenRegister> tmpVec; for(uint32_t i = 0; i < tmp_size; i++) - tmpVec.push_back(GenRegister::retype(GenRegister::f8grf(sel.reg(FAMILY_DWORD)), GEN_TYPE_UD)); + tmpVec.push_back(GenRegister::retype(GenRegister::f8grf(sel.reg(FAMILY_REG)), GEN_TYPE_UD)); sel.OBWRITE(address, &valuesVec[0], vec_size, header, SI, &tmpVec[0], tmp_size); } @@ -7614,11 +7614,11 @@ extern bool OCL_DEBUGINFO; // first defined by calling BVAR in program.cpp for (uint32_t i = 0; i < vec_size; ++i) { valuesVec.push_back(sel.selReg(insn.getDst(i), type)); if(simdWidth == 16) - tmpVec.push_back(GenRegister::retype(GenRegister::f8grf(sel.reg(FAMILY_DWORD)), GEN_TYPE_UD)); + tmpVec.push_back(GenRegister::retype(GenRegister::f8grf(sel.reg(FAMILY_REG)), GEN_TYPE_UD)); } const GenRegister coordx = sel.selReg(insn.getSrc(0), TYPE_U32); const GenRegister coordy = sel.selReg(insn.getSrc(1), TYPE_U32); - const GenRegister header = GenRegister::retype(GenRegister::f8grf(sel.reg(FAMILY_DWORD)), GEN_TYPE_UD); + const GenRegister header = GenRegister::retype(GenRegister::f8grf(sel.reg(FAMILY_REG)), GEN_TYPE_UD); GenRegister *tmp = NULL; if(simdWidth == 16) tmp = &tmpVec[0]; @@ -7643,9 +7643,9 @@ extern bool OCL_DEBUGINFO; // first defined by calling BVAR in program.cpp for(uint32_t i = 0; i < vec_size; i++) { valuesVec.push_back(sel.selReg(insn.getSrc(2 + i), type)); - tmpVec.push_back(GenRegister::retype(GenRegister::f8grf(sel.reg(FAMILY_DWORD)), GEN_TYPE_UD)); + tmpVec.push_back(GenRegister::retype(GenRegister::f8grf(sel.reg(FAMILY_REG)), GEN_TYPE_UD)); } - const GenRegister header = GenRegister::retype(GenRegister::f8grf(sel.reg(FAMILY_DWORD)), GEN_TYPE_UD); + const GenRegister header = GenRegister::retype(GenRegister::f8grf(sel.reg(FAMILY_REG)), GEN_TYPE_UD); sel.MBWRITE(coordx, coordy, &valuesVec[0], header, &tmpVec[0], insn.getImageIndex(), vec_size); return true; } -- 2.7.4 _______________________________________________ Beignet mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/beignet
