summaryrefslogtreecommitdiff
path: root/src/intel/compiler/brw_vec4_copy_propagation.cpp
diff options
context:
space:
mode:
authorSamuel Iglesias Gonsálvez <siglesias@igalia.com>2017-03-24 08:46:13 +0100
committerFrancisco Jerez <currojerez@riseup.net>2017-04-14 14:56:08 -0700
commit6e3265eae533a1bff4f23a4508c5d8e9ab23164d (patch)
treef6ce30b033ad42e549eac7acd636de9b14dc0aaa /src/intel/compiler/brw_vec4_copy_propagation.cpp
parent50a5217637636f066feabefd7fe46d0ff7778a64 (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.cpp4
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: