diff options
author | Matt Turner <[email protected]> | 2017-06-14 11:03:19 -0700 |
---|---|---|
committer | Matt Turner <[email protected]> | 2018-02-28 11:15:47 -0800 |
commit | 2cff3242109078999c57d5e6772418c09e835826 (patch) | |
tree | 2a039fe05a88b4737fa7a88371a87eb5ec493bde /src/intel/compiler/brw_disasm.c | |
parent | 58611ff913df74e7f790b0c572b983a992e25a17 (diff) |
intel/compiler: Add Gen11+ native float type
This new type exposes the additional precision offered by the
accumulator register and will be used in the next patch to implement the
functionality of the PLN instruction using a pair of MAD instructions.
One weird thing to note: align1 ternary instructions may only have an
accumulator in the dst or src1 normally, but when src0's type is :NF
the accumulator is read.
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/intel/compiler/brw_disasm.c')
-rw-r--r-- | src/intel/compiler/brw_disasm.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/intel/compiler/brw_disasm.c b/src/intel/compiler/brw_disasm.c index 429ed781404..a9a108f8acd 100644 --- a/src/intel/compiler/brw_disasm.c +++ b/src/intel/compiler/brw_disasm.c @@ -1035,6 +1035,12 @@ src0_3src(FILE *file, const struct gen_device_info *devinfo, const brw_inst *ins reg_nr = brw_inst_3src_src0_reg_nr(devinfo, inst); subreg_nr = brw_inst_3src_a1_src0_subreg_nr(devinfo, inst); type = brw_inst_3src_a1_src0_type(devinfo, inst); + } else if (brw_inst_3src_a1_src0_type(devinfo, inst) == + BRW_REGISTER_TYPE_NF) { + _file = BRW_ARCHITECTURE_REGISTER_FILE; + reg_nr = brw_inst_3src_src0_reg_nr(devinfo, inst); + subreg_nr = brw_inst_3src_a1_src0_subreg_nr(devinfo, inst); + type = brw_inst_3src_a1_src0_type(devinfo, inst); } else { _file = BRW_IMMEDIATE_VALUE; uint16_t imm_val = brw_inst_3src_a1_src0_imm(devinfo, inst); @@ -1288,6 +1294,7 @@ imm(FILE *file, const struct gen_device_info *devinfo, enum brw_reg_type type, case BRW_REGISTER_TYPE_HF: string(file, "Half Float IMM"); break; + case BRW_REGISTER_TYPE_NF: case BRW_REGISTER_TYPE_UB: case BRW_REGISTER_TYPE_B: format(file, "*** invalid immediate type %d ", type); |