i965/vec4: split VEC4_OPCODE_FROM_DOUBLE into one opcode per destination's type
authorSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Fri, 24 Mar 2017 07:46:13 +0000 (08:46 +0100)
committerFrancisco Jerez <currojerez@riseup.net>
Fri, 14 Apr 2017 21:56:08 +0000 (14:56 -0700)
commit6e3265eae533a1bff4f23a4508c5d8e9ab23164d
treef6ce30b033ad42e549eac7acd636de9b14dc0aaa
parent50a5217637636f066feabefd7fe46d0ff7778a64
i965/vec4: split VEC4_OPCODE_FROM_DOUBLE into one opcode per destination's type

This way we can set the destination type as double to all these new opcodes,
avoiding any optimizer's confusion that was happening before.

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
[ Francisco Jerez: Drop no_spill workaround originally needed due to
  the bogus destination type of VEC4_OPCODE_FROM_DOUBLE. ]
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
src/intel/compiler/brw_eu_defines.h
src/intel/compiler/brw_shader.cpp
src/intel/compiler/brw_vec4.cpp
src/intel/compiler/brw_vec4_copy_propagation.cpp
src/intel/compiler/brw_vec4_generator.cpp
src/intel/compiler/brw_vec4_nir.cpp
src/intel/compiler/brw_vec4_reg_allocate.cpp