nir/algebraic: support for power-of-two optimizations
Some optimizations, like converting integer multiply/divide into left/ right shifts, have additional constraints on the search expression. Like requiring that a variable is a constant power of two. Support these cases by allowing a fxn name to be appended to the search var expression (ie. "a#32(is_power_of_two)"). Signed-off-by: Rob Clark <robclark@freedesktop.org> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
@@ -1651,6 +1651,9 @@ typedef struct nir_shader_compiler_options {
|
||||
/* lower {slt,sge,seq,sne} to {flt,fge,feq,fne} + b2f: */
|
||||
bool lower_scmp;
|
||||
|
||||
/** enables rules to lower idiv by power-of-two: */
|
||||
bool lower_idiv;
|
||||
|
||||
/* Does the native fdot instruction replicate its result for four
|
||||
* components? If so, then opt_algebraic_late will turn all fdotN
|
||||
* instructions into fdot_replicatedN instructions.
|
||||
|
Reference in New Issue
Block a user