intel/compiler: add instruction setters for Src1Type and Src2Type.
authorIago Toral Quiroga <itoral@igalia.com>
Mon, 21 May 2018 12:34:01 +0000 (14:34 +0200)
committerJuan A. Suarez Romero <jasuarez@igalia.com>
Thu, 18 Apr 2019 09:05:18 +0000 (11:05 +0200)
The original SrcType is a 3-bit field that takes a subset of the types
supported for the hardware for 3-source instructions. Since gen8,
when the half-float type was added, 3-source floating point operations
can use use mixed precision mode, where not all the operands have the
same floating-point precision. While the precision for the first operand
is taken from the type in SrcType, the bits in Src1Type (bit 36) and
Src2Type (bit 35) define the precision for the other operands
(0: normal precision, 1: half precision).

Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/compiler/brw_inst.h

index 71316f122152f14cf2ee56cfff1bf018632ad7db..1f55d45125dafdd2d87c0749fc184742051b6875 100644 (file)
@@ -222,6 +222,8 @@ F8(3src_src1_negate,        39, 39, 40, 40)
 F8(3src_src1_abs,           38, 38, 39, 39)
 F8(3src_src0_negate,        37, 37, 38, 38)
 F8(3src_src0_abs,           36, 36, 37, 37)
+F8(3src_a16_src1_type,      -1, -1, 36, 36)
+F8(3src_a16_src2_type,      -1, -1, 35, 35)
 F8(3src_a16_flag_reg_nr,    34, 34, 33, 33)
 F8(3src_a16_flag_subreg_nr, 33, 33, 32, 32)
 FF(3src_a16_dst_reg_file,