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 <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Ian Romanick
2016-10-14 18:17:16 -07:00
parent 330fc2413c
commit 6c3af04363
5 changed files with 822 additions and 0 deletions

View File

@@ -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);