summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorConnor Abbott <[email protected]>2015-08-03 14:53:05 -0700
committerSamuel Iglesias Gonsálvez <[email protected]>2016-05-10 11:25:05 +0200
commit0f2e227d5ce6de4697ba94ed57f5ff7ca2d86f69 (patch)
tree5586597ba9e3de0b2e6cd58a27cc43fe89067983
parent0f1690fd9514f7a282141a7ad57a06b334b6c1a4 (diff)
i965/fs: don't propagate 64-bit immediates
They can only be used with 1-src instructions, which practically (since we should've constant-propagated away all 1-src instructions with 64-bit immediates in NIR) means that they must be kept in separate MOV's and can't be propagated. Reviewed-by: Kenneth Graunke <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
index 2e8c84fa34e..4d727c131d5 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
@@ -508,6 +508,8 @@ fs_visitor::try_constant_propagate(fs_inst *inst, acp_entry *entry)
if (entry->src.file != IMM)
return false;
+ if (type_sz(entry->src.type) > 4)
+ return false;
if (entry->saturate)
return false;