diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2016-06-14 14:46:25 -0700 |
---|---|---|
committer | Jordan Justen <jordan.l.justen@intel.com> | 2016-08-18 16:33:49 -0700 |
commit | 79767345ffc3faecb8866710c9bdb8fed0b36937 (patch) | |
tree | ab988572e4ec2d029d5fffea89442a1b21eb249a | |
parent | e7cf0b2fce2fe149c471248552f44a6488195c3a (diff) |
nir/builder: Add nir_ball_fequal and nir_bany_fnequal helpers.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
-rw-r--r-- | src/compiler/nir/nir_builder.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/compiler/nir/nir_builder.h b/src/compiler/nir/nir_builder.h index affa29cb025..60d34f12631 100644 --- a/src/compiler/nir/nir_builder.h +++ b/src/compiler/nir/nir_builder.h @@ -253,6 +253,46 @@ nir_vec(nir_builder *build, nir_ssa_def **comp, unsigned num_components) } } +static inline nir_ssa_def * +nir_ball_fequal(nir_builder *b, nir_ssa_def *x, nir_ssa_def *y) +{ + assert(x->num_components == y->num_components); + + switch (x->num_components) { + case 4: + return nir_ball_fequal4(b, x, y); + case 3: + return nir_ball_fequal3(b, x, y); + case 2: + return nir_ball_fequal2(b, x, y); + case 1: + return nir_feq(b, x, y); + default: + unreachable("bad component count"); + return NULL; + } +} + +static inline nir_ssa_def * +nir_bany_fnequal(nir_builder *b, nir_ssa_def *x, nir_ssa_def *y) +{ + assert(x->num_components == y->num_components); + + switch (x->num_components) { + case 4: + return nir_bany_fnequal4(b, x, y); + case 3: + return nir_bany_fnequal3(b, x, y); + case 2: + return nir_bany_fnequal2(b, x, y); + case 1: + return nir_fne(b, x, y); + default: + unreachable("bad component count"); + return NULL; + } +} + /** * Similar to nir_fmov, but takes a nir_alu_src instead of a nir_ssa_def. */ |