summaryrefslogtreecommitdiffstats
path: root/src/compiler/glsl/ir_optimization.h
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2016-10-14 18:17:16 -0700
committerIan Romanick <[email protected]>2017-01-20 15:41:23 -0800
commit6c3af043633997633d03e5409939263162076e81 (patch)
treef9131a40077f0e3315cf473f2bdda5e86fd256b5 /src/compiler/glsl/ir_optimization.h
parent330fc2413c61f0bd9c7bb9f3a0ecd91b09de267a (diff)
glsl: Add a lowering pass for 64-bit integer multiplication
v2: Rename lower_64bit.cpp and lower_64bit_test.cpp to lower_int64. Suggested by Matt. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]>
Diffstat (limited to 'src/compiler/glsl/ir_optimization.h')
-rw-r--r--src/compiler/glsl/ir_optimization.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/compiler/glsl/ir_optimization.h b/src/compiler/glsl/ir_optimization.h
index 0d6c4e6a66a..6fc7ff8ffa6 100644
--- a/src/compiler/glsl/ir_optimization.h
+++ b/src/compiler/glsl/ir_optimization.h
@@ -50,6 +50,9 @@
#define FIND_MSB_TO_FLOAT_CAST 0x40000
#define IMUL_HIGH_TO_MUL 0x80000
+/* Opertaions for lower_64bit_integer_instructions() */
+#define MUL64 (1U << 0)
+
/**
* \see class lower_packing_builtins_visitor
*/
@@ -162,3 +165,6 @@ void propagate_invariance(exec_list *instructions);
ir_rvalue *
compare_index_block(exec_list *instructions, ir_variable *index,
unsigned base, unsigned components, void *mem_ctx);
+
+bool lower_64bit_integer_instructions(exec_list *instructions,
+ unsigned what_to_lower);