midgard_alu_op_iandnot = 0x74, /* (a, b) -> a & ~b, used for not/b2f */
midgard_alu_op_ixor = 0x76,
midgard_alu_op_imov = 0x7B,
+ midgard_alu_op_iabs = 0x7C,
midgard_alu_op_feq = 0x80,
midgard_alu_op_fne = 0x81,
midgard_alu_op_flt = 0x82,
midgard_alu_op_fle = 0x83,
midgard_alu_op_fball_eq = 0x88,
midgard_alu_op_bball_eq = 0x89,
+ midgard_alu_op_fball_lt = 0x8A, /* all(lessThan(.., ..)) */
+ midgard_alu_op_fball_lte = 0x8B, /* all(lessThanEqual(.., ..)) */
midgard_alu_op_bbany_neq = 0x90, /* used for bvec4(1) */
midgard_alu_op_fbany_neq = 0x91, /* bvec4(0) also */
+ midgard_alu_op_fbany_lt = 0x92, /* any(lessThan(.., ..)) */
+ midgard_alu_op_fbany_lte = 0x93, /* any(lessThanEqual(.., ..)) */
midgard_alu_op_f2i = 0x99,
midgard_alu_op_f2u8 = 0x9C,
midgard_alu_op_f2u = 0x9D,
+
midgard_alu_op_ieq = 0xA0,
midgard_alu_op_ine = 0xA1,
midgard_alu_op_ilt = 0xA4,
midgard_alu_op_ile = 0xA5,
midgard_alu_op_iball_eq = 0xA8,
midgard_alu_op_ball = 0xA9,
+ midgard_alu_op_uball_lt = 0xAA,
+ midgard_alu_op_uball_lte = 0xAB,
+ midgard_alu_op_iball_lt = 0xAC,
+ midgard_alu_op_iball_lte = 0xAD,
+ midgard_alu_op_ibany_eq = 0xB0,
midgard_alu_op_ibany_neq = 0xB1,
+ midgard_alu_op_ubany_lt = 0xB2,
+ midgard_alu_op_ubany_lte = 0xB3,
+ midgard_alu_op_ibany_lt = 0xB4, /* any(lessThan(.., ..)) */
+ midgard_alu_op_ibany_lte = 0xB5, /* any(lessThanEqual(.., ..)) */
midgard_alu_op_i2f = 0xB8,
midgard_alu_op_u2f = 0xBC,
midgard_alu_op_icsel = 0xC1,
[midgard_alu_op_isub] = "isub",
[midgard_alu_op_imul] = "imul",
[midgard_alu_op_imov] = "imov",
+ [midgard_alu_op_iabs] = "iabs",
[midgard_alu_op_iand] = "iand",
[midgard_alu_op_ior] = "ior",
[midgard_alu_op_inot] = "inot",
[midgard_alu_op_fball_eq] = "fball_eq",
[midgard_alu_op_fbany_neq] = "fbany_neq",
[midgard_alu_op_bball_eq] = "bball_eq",
+ [midgard_alu_op_fball_lt] = "fball_lt",
+ [midgard_alu_op_fball_lte] = "fball_lte",
[midgard_alu_op_bbany_neq] = "bbany_neq",
+ [midgard_alu_op_fbany_lt] = "fbany_lt",
+ [midgard_alu_op_fbany_lte] = "fbany_lte",
[midgard_alu_op_f2i] = "f2i",
[midgard_alu_op_f2u] = "f2u",
[midgard_alu_op_f2u8] = "f2u8",
[midgard_alu_op_ile] = "ile",
[midgard_alu_op_iball_eq] = "iball_eq",
[midgard_alu_op_ball] = "ball",
+ [midgard_alu_op_uball_lt] = "uball_lt",
+ [midgard_alu_op_uball_lte] = "uball_lte",
+ [midgard_alu_op_iball_lt] = "iball_lt",
+ [midgard_alu_op_iball_lte] = "iball_lte",
+ [midgard_alu_op_iball_eq] = "iball_eq",
[midgard_alu_op_ibany_neq] = "ibany_neq",
+ [midgard_alu_op_ubany_lt] = "ubany_lt",
+ [midgard_alu_op_ubany_lte] = "ubany_lte",
+ [midgard_alu_op_ibany_lt] = "ibany_lt",
+ [midgard_alu_op_ibany_lte] = "ibany_lte",
[midgard_alu_op_i2f] = "i2f",
[midgard_alu_op_u2f] = "u2f",
[midgard_alu_op_icsel] = "icsel",