panfrost/midgard: Add ult/ule ops

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
This commit is contained in:
Alyssa Rosenzweig 2019-03-26 04:00:33 +00:00
parent f277bd3c22
commit b8739c24ee
3 changed files with 7 additions and 0 deletions

View file

@ -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,

View file

@ -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",

View file

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