From dcf5e19e6564662ef3f7a4c7d42acc46a24e62c6 Mon Sep 17 00:00:00 2001 From: Francisco Jerez Date: Fri, 26 Feb 2016 17:20:19 -0800 Subject: [PATCH] i965/vec4: Use swizzle() to swizzle immediates during constant propagation. Reviewed-by: Iago Toral Quiroga --- .../dri/i965/brw_vec4_copy_propagation.cpp | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp b/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp index 6bd992882b8..5c2516473a5 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp @@ -76,22 +76,6 @@ is_channel_updated(vec4_instruction *inst, src_reg *values[4], int ch) inst->dst.writemask & (1 << BRW_GET_SWZ(src->swizzle, ch))); } -static unsigned -swizzle_vf_imm(unsigned vf4, unsigned swizzle) -{ - union { - unsigned vf4; - uint8_t vf[4]; - } v = { vf4 }, ret; - - ret.vf[0] = v.vf[BRW_GET_SWZ(swizzle, 0)]; - ret.vf[1] = v.vf[BRW_GET_SWZ(swizzle, 1)]; - ret.vf[2] = v.vf[BRW_GET_SWZ(swizzle, 2)]; - ret.vf[3] = v.vf[BRW_GET_SWZ(swizzle, 3)]; - - return ret.vf4; -} - static bool is_logic_op(enum opcode opcode) { @@ -144,8 +128,7 @@ try_constant_propagate(const struct brw_device_info *devinfo, } } - if (value.type == BRW_REGISTER_TYPE_VF) - value.ud = swizzle_vf_imm(value.ud, inst->src[arg].swizzle); + value = swizzle(value, inst->src[arg].swizzle); switch (inst->opcode) { case BRW_OPCODE_MOV: -- 2.30.2