i965: Don't change F->VF if dest type is DF.

We change the immediate source type to VF to allow instruction
compaction, but there are no entires in the compaction table for DF, so
there's no point in doing this.

Additionally, I mixing floating-point types is now allowed except for
F and VF.
This commit is contained in:
Matt Turner 2016-12-21 11:12:39 -05:00
parent a72dea9483
commit cbc39e541f

View file

@ -405,7 +405,8 @@ brw_set_src0(struct brw_codegen *p, brw_inst *inst, struct brw_reg reg)
* If we see a 0.0:F, change the type to VF so that it can be compacted.
*/
if (brw_inst_imm_ud(devinfo, inst) == 0x0 &&
brw_inst_src0_reg_type(devinfo, inst) == BRW_HW_REG_TYPE_F) {
brw_inst_src0_reg_type(devinfo, inst) == BRW_HW_REG_TYPE_F &&
brw_inst_dst_reg_type(devinfo, inst) != GEN7_HW_REG_NON_IMM_TYPE_DF) {
brw_inst_set_src0_reg_type(devinfo, inst, BRW_HW_REG_IMM_TYPE_VF);
}