intel/compiler: lower some 16-bit float operations to 32-bit
authorIago Toral Quiroga <itoral@igalia.com>
Thu, 26 Apr 2018 08:12:12 +0000 (10:12 +0200)
committerJuan A. Suarez Romero <jasuarez@igalia.com>
Thu, 18 Apr 2019 09:05:18 +0000 (11:05 +0200)
The hardware doesn't support half-float for these.

Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/compiler/brw_nir.c

index e694165d78eb038f4d862c3d4f4af37d9d864bc1..c45e7d5787b0fabb14e52946908d6a052cab6f3d 100644 (file)
@@ -637,6 +637,11 @@ lower_bit_size_callback(const nir_alu_instr *alu, UNUSED void *data)
    case nir_op_irem:
    case nir_op_udiv:
    case nir_op_umod:
+   case nir_op_fceil:
+   case nir_op_ffloor:
+   case nir_op_ffract:
+   case nir_op_fround_even:
+   case nir_op_ftrunc:
       return 32;
    default:
       return 0;