[Mesa-dev] [PATCH 1/4] panfrost/midgard: Add ult/ule ops
Alyssa Rosenzweig
alyssa at rosenzweig.io
Tue Mar 26 04:59:25 UTC 2019
Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
---
src/gallium/drivers/panfrost/midgard/helpers.h | 2 ++
src/gallium/drivers/panfrost/midgard/midgard.h | 4 ++++
src/gallium/drivers/panfrost/midgard/midgard_compile.c | 1 +
3 files changed, 7 insertions(+)
diff --git a/src/gallium/drivers/panfrost/midgard/helpers.h b/src/gallium/drivers/panfrost/midgard/helpers.h
index 01c88ed0fcf..0d553d87917 100644
--- a/src/gallium/drivers/panfrost/midgard/helpers.h
+++ b/src/gallium/drivers/panfrost/midgard/helpers.h
@@ -223,6 +223,8 @@ static unsigned alu_opcode_props[256] = {
[midgard_alu_op_ine] = UNITS_MOST,
[midgard_alu_op_ilt] = UNITS_MOST,
[midgard_alu_op_ile] = UNITS_MOST,
+ [midgard_alu_op_ule] = UNITS_MOST,
+ [midgard_alu_op_ult] = UNITS_MOST,
[midgard_alu_op_icsel] = UNITS_ADD,
[midgard_alu_op_fcsel_i] = UNITS_ADD,
diff --git a/src/gallium/drivers/panfrost/midgard/midgard.h b/src/gallium/drivers/panfrost/midgard/midgard.h
index c40c94bc378..eab7cb5eec0 100644
--- a/src/gallium/drivers/panfrost/midgard/midgard.h
+++ b/src/gallium/drivers/panfrost/midgard/midgard.h
@@ -103,6 +103,8 @@ typedef enum {
midgard_alu_op_ieq = 0xA0,
midgard_alu_op_ine = 0xA1,
+ midgard_alu_op_ult = 0xA2,
+ midgard_alu_op_ule = 0xA3,
midgard_alu_op_ilt = 0xA4,
midgard_alu_op_ile = 0xA5,
midgard_alu_op_iball_eq = 0xA8,
@@ -470,6 +472,8 @@ static char *alu_opcode_names[256] = {
[midgard_alu_op_f2u8] = "f2u8",
[midgard_alu_op_ieq] = "ieq",
[midgard_alu_op_ine] = "ine",
+ [midgard_alu_op_ult] = "ult",
+ [midgard_alu_op_ule] = "ule",
[midgard_alu_op_ilt] = "ilt",
[midgard_alu_op_ile] = "ile",
[midgard_alu_op_iball_eq] = "iball_eq",
diff --git a/src/gallium/drivers/panfrost/midgard/midgard_compile.c b/src/gallium/drivers/panfrost/midgard/midgard_compile.c
index dac5eeb2c1b..0c7bc28f00a 100644
--- a/src/gallium/drivers/panfrost/midgard/midgard_compile.c
+++ b/src/gallium/drivers/panfrost/midgard/midgard_compile.c
@@ -991,6 +991,7 @@ emit_alu(compiler_context *ctx, nir_alu_instr *instr)
ALU_CASE(ieq32, ieq);
ALU_CASE(ine32, ine);
ALU_CASE(ilt32, ilt);
+ ALU_CASE(ult32, ult);
/* We don't have a native b2f32 instruction. Instead, like many
* GPUs, we exploit booleans as 0/~0 for false/true, and
--
2.20.1
More information about the mesa-dev
mailing list