i965/fs: Simplify FS_OPCODE_SET_OMASK stride mashing a bit.

In the first case, we can simply call stride(mask, 16, 8, 2) rather than
creating a new register with a different stride, then immediately
changing it a second time.

In the second case, the stride was already what we wanted, so we can
just use mask without any changes at all.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Kenneth Graunke 2014-02-10 15:37:09 -08:00
parent f948ad2a07
commit e95a4ed296
1 changed files with 2 additions and 4 deletions

View File

@ -1130,11 +1130,9 @@ fs_generator::generate_set_omask(fs_inst *inst,
brw_set_mask_control(p, BRW_MASK_DISABLE);
if (stride_8_8_1) {
brw_MOV(p, dst, stride(retype(brw_vec1_reg(mask.file, mask.nr, 0),
dst.type), 16, 8, 2));
brw_MOV(p, dst, retype(stride(mask, 16, 8, 2), dst.type));
} else if (stride_0_1_0) {
brw_MOV(p, dst, stride(retype(brw_vec1_reg(mask.file, mask.nr, 0),
dst.type), 0, 1, 0));
brw_MOV(p, dst, retype(mask, dst.type));
}
brw_pop_insn_state(p);
}