aboutsummaryrefslogtreecommitdiffstats
path: root/src/compiler/nir/nir_lower_alu_to_scalar.c
diff options
context:
space:
mode:
authorNeil Roberts <[email protected]>2019-01-30 16:31:40 +0100
committerNeil Roberts <[email protected]>2019-11-20 14:09:43 +0100
commitf6b5abe91a78f78f07a3c9bbd5b2ea6a2f0fb736 (patch)
tree847d9f7ba99048370e5c540122a3b0f54e3c4d2a /src/compiler/nir/nir_lower_alu_to_scalar.c
parent634eb9c04b35c45684b0d1ebacb04e52458d4fa9 (diff)
nir/lower_alu_to_scalar: Support lowering 8- and 16-bit reduce ops
Reviewed-by: Rob Clark <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/compiler/nir/nir_lower_alu_to_scalar.c')
-rw-r--r--src/compiler/nir/nir_lower_alu_to_scalar.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/compiler/nir/nir_lower_alu_to_scalar.c b/src/compiler/nir/nir_lower_alu_to_scalar.c
index c0b7cc604ef..f672699b5a4 100644
--- a/src/compiler/nir/nir_lower_alu_to_scalar.c
+++ b/src/compiler/nir/nir_lower_alu_to_scalar.c
@@ -214,6 +214,14 @@ lower_alu_instr_scalar(nir_builder *b, nir_instr *instr, void *_data)
LOWER_REDUCTION(nir_op_ball_iequal, nir_op_ieq, nir_op_iand);
LOWER_REDUCTION(nir_op_bany_fnequal, nir_op_fne, nir_op_ior);
LOWER_REDUCTION(nir_op_bany_inequal, nir_op_ine, nir_op_ior);
+ LOWER_REDUCTION(nir_op_b8all_fequal, nir_op_feq8, nir_op_iand);
+ LOWER_REDUCTION(nir_op_b8all_iequal, nir_op_ieq8, nir_op_iand);
+ LOWER_REDUCTION(nir_op_b8any_fnequal, nir_op_fne8, nir_op_ior);
+ LOWER_REDUCTION(nir_op_b8any_inequal, nir_op_ine8, nir_op_ior);
+ LOWER_REDUCTION(nir_op_b16all_fequal, nir_op_feq16, nir_op_iand);
+ LOWER_REDUCTION(nir_op_b16all_iequal, nir_op_ieq16, nir_op_iand);
+ LOWER_REDUCTION(nir_op_b16any_fnequal, nir_op_fne16, nir_op_ior);
+ LOWER_REDUCTION(nir_op_b16any_inequal, nir_op_ine16, nir_op_ior);
LOWER_REDUCTION(nir_op_b32all_fequal, nir_op_feq32, nir_op_iand);
LOWER_REDUCTION(nir_op_b32all_iequal, nir_op_ieq32, nir_op_iand);
LOWER_REDUCTION(nir_op_b32any_fnequal, nir_op_fne32, nir_op_ior);