diff options
author | Samuel Iglesias Gonsálvez <siglesias@igalia.com> | 2017-03-24 08:46:13 +0100 |
---|---|---|
committer | Francisco Jerez <currojerez@riseup.net> | 2017-04-14 14:56:08 -0700 |
commit | 6e3265eae533a1bff4f23a4508c5d8e9ab23164d (patch) | |
tree | f6ce30b033ad42e549eac7acd636de9b14dc0aaa /src/intel/compiler/brw_vec4_copy_propagation.cpp | |
parent | 50a5217637636f066feabefd7fe46d0ff7778a64 (diff) |
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>
Diffstat (limited to 'src/intel/compiler/brw_vec4_copy_propagation.cpp')
-rw-r--r-- | src/intel/compiler/brw_vec4_copy_propagation.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/intel/compiler/brw_vec4_copy_propagation.cpp b/src/intel/compiler/brw_vec4_copy_propagation.cpp index e7f6f93f8b..c1ae32a293 100644 --- a/src/intel/compiler/brw_vec4_copy_propagation.cpp +++ b/src/intel/compiler/brw_vec4_copy_propagation.cpp @@ -293,7 +293,9 @@ static bool is_align1_opcode(unsigned opcode) { switch (opcode) { - case VEC4_OPCODE_FROM_DOUBLE: + case VEC4_OPCODE_DOUBLE_TO_F32: + case VEC4_OPCODE_DOUBLE_TO_D32: + case VEC4_OPCODE_DOUBLE_TO_U32: case VEC4_OPCODE_TO_DOUBLE: case VEC4_OPCODE_PICK_LOW_32BIT: case VEC4_OPCODE_PICK_HIGH_32BIT: |