nir_opcodes.c revision 10e230b6
110e230b6Smaya 210e230b6Smaya#include "nir.h" 310e230b6Smaya 410e230b6Smayanir_op 510e230b6Smayanir_type_conversion_op(nir_alu_type src, nir_alu_type dst, nir_rounding_mode rnd) 610e230b6Smaya{ 710e230b6Smaya nir_alu_type src_base = (nir_alu_type) nir_alu_type_get_base_type(src); 810e230b6Smaya nir_alu_type dst_base = (nir_alu_type) nir_alu_type_get_base_type(dst); 910e230b6Smaya unsigned src_bit_size = nir_alu_type_get_type_size(src); 1010e230b6Smaya unsigned dst_bit_size = nir_alu_type_get_type_size(dst); 1110e230b6Smaya 1210e230b6Smaya if (src == dst && src_base == nir_type_float) { 1310e230b6Smaya return nir_op_fmov; 1410e230b6Smaya } else if (src == dst && src_base == nir_type_bool) { 1510e230b6Smaya return nir_op_imov; 1610e230b6Smaya } else if ((src_base == nir_type_int || src_base == nir_type_uint) && 1710e230b6Smaya (dst_base == nir_type_int || dst_base == nir_type_uint) && 1810e230b6Smaya src_bit_size == dst_bit_size) { 1910e230b6Smaya /* Integer <-> integer conversions with the same bit-size on both 2010e230b6Smaya * ends are just no-op moves. 2110e230b6Smaya */ 2210e230b6Smaya return nir_op_imov; 2310e230b6Smaya } 2410e230b6Smaya 2510e230b6Smaya switch (src_base) { 2610e230b6Smaya case nir_type_int: 2710e230b6Smaya switch (dst_base) { 2810e230b6Smaya case nir_type_int: 2910e230b6Smaya case nir_type_uint: 3010e230b6Smaya 3110e230b6Smaya switch (dst_bit_size) { 3210e230b6Smaya case 1: 3310e230b6Smaya assert(rnd == nir_rounding_mode_undef); 3410e230b6Smaya return nir_op_i2i1; 3510e230b6Smaya case 8: 3610e230b6Smaya assert(rnd == nir_rounding_mode_undef); 3710e230b6Smaya return nir_op_i2i8; 3810e230b6Smaya case 16: 3910e230b6Smaya assert(rnd == nir_rounding_mode_undef); 4010e230b6Smaya return nir_op_i2i16; 4110e230b6Smaya case 32: 4210e230b6Smaya assert(rnd == nir_rounding_mode_undef); 4310e230b6Smaya return nir_op_i2i32; 4410e230b6Smaya case 64: 4510e230b6Smaya assert(rnd == nir_rounding_mode_undef); 4610e230b6Smaya return nir_op_i2i64; 4710e230b6Smaya default: 4810e230b6Smaya unreachable("Invalid nir alu bit size"); 4910e230b6Smaya } 5010e230b6Smaya case nir_type_float: 5110e230b6Smaya switch (dst_bit_size) { 5210e230b6Smaya case 16: 5310e230b6Smaya assert(rnd == nir_rounding_mode_undef); 5410e230b6Smaya return nir_op_i2f16; 5510e230b6Smaya case 32: 5610e230b6Smaya assert(rnd == nir_rounding_mode_undef); 5710e230b6Smaya return nir_op_i2f32; 5810e230b6Smaya case 64: 5910e230b6Smaya assert(rnd == nir_rounding_mode_undef); 6010e230b6Smaya return nir_op_i2f64; 6110e230b6Smaya default: 6210e230b6Smaya unreachable("Invalid nir alu bit size"); 6310e230b6Smaya } 6410e230b6Smaya case nir_type_bool: 6510e230b6Smaya switch (dst_bit_size) { 6610e230b6Smaya case 1: 6710e230b6Smaya assert(rnd == nir_rounding_mode_undef); 6810e230b6Smaya return nir_op_i2b1; 6910e230b6Smaya case 32: 7010e230b6Smaya assert(rnd == nir_rounding_mode_undef); 7110e230b6Smaya return nir_op_i2b32; 7210e230b6Smaya default: 7310e230b6Smaya unreachable("Invalid nir alu bit size"); 7410e230b6Smaya } 7510e230b6Smaya default: 7610e230b6Smaya unreachable("Invalid nir alu base type"); 7710e230b6Smaya } 7810e230b6Smaya case nir_type_uint: 7910e230b6Smaya switch (dst_base) { 8010e230b6Smaya case nir_type_int: 8110e230b6Smaya case nir_type_uint: 8210e230b6Smaya 8310e230b6Smaya switch (dst_bit_size) { 8410e230b6Smaya case 1: 8510e230b6Smaya assert(rnd == nir_rounding_mode_undef); 8610e230b6Smaya return nir_op_u2u1; 8710e230b6Smaya case 8: 8810e230b6Smaya assert(rnd == nir_rounding_mode_undef); 8910e230b6Smaya return nir_op_u2u8; 9010e230b6Smaya case 16: 9110e230b6Smaya assert(rnd == nir_rounding_mode_undef); 9210e230b6Smaya return nir_op_u2u16; 9310e230b6Smaya case 32: 9410e230b6Smaya assert(rnd == nir_rounding_mode_undef); 9510e230b6Smaya return nir_op_u2u32; 9610e230b6Smaya case 64: 9710e230b6Smaya assert(rnd == nir_rounding_mode_undef); 9810e230b6Smaya return nir_op_u2u64; 9910e230b6Smaya default: 10010e230b6Smaya unreachable("Invalid nir alu bit size"); 10110e230b6Smaya } 10210e230b6Smaya case nir_type_float: 10310e230b6Smaya switch (dst_bit_size) { 10410e230b6Smaya case 16: 10510e230b6Smaya assert(rnd == nir_rounding_mode_undef); 10610e230b6Smaya return nir_op_u2f16; 10710e230b6Smaya case 32: 10810e230b6Smaya assert(rnd == nir_rounding_mode_undef); 10910e230b6Smaya return nir_op_u2f32; 11010e230b6Smaya case 64: 11110e230b6Smaya assert(rnd == nir_rounding_mode_undef); 11210e230b6Smaya return nir_op_u2f64; 11310e230b6Smaya default: 11410e230b6Smaya unreachable("Invalid nir alu bit size"); 11510e230b6Smaya } 11610e230b6Smaya case nir_type_bool: 11710e230b6Smaya 11810e230b6Smaya switch (dst_bit_size) { 11910e230b6Smaya case 1: 12010e230b6Smaya assert(rnd == nir_rounding_mode_undef); 12110e230b6Smaya return nir_op_i2b1; 12210e230b6Smaya case 32: 12310e230b6Smaya assert(rnd == nir_rounding_mode_undef); 12410e230b6Smaya return nir_op_i2b32; 12510e230b6Smaya default: 12610e230b6Smaya unreachable("Invalid nir alu bit size"); 12710e230b6Smaya } 12810e230b6Smaya default: 12910e230b6Smaya unreachable("Invalid nir alu base type"); 13010e230b6Smaya } 13110e230b6Smaya case nir_type_float: 13210e230b6Smaya switch (dst_base) { 13310e230b6Smaya case nir_type_int: 13410e230b6Smaya switch (dst_bit_size) { 13510e230b6Smaya case 1: 13610e230b6Smaya assert(rnd == nir_rounding_mode_undef); 13710e230b6Smaya return nir_op_f2i1; 13810e230b6Smaya case 8: 13910e230b6Smaya assert(rnd == nir_rounding_mode_undef); 14010e230b6Smaya return nir_op_f2i8; 14110e230b6Smaya case 16: 14210e230b6Smaya assert(rnd == nir_rounding_mode_undef); 14310e230b6Smaya return nir_op_f2i16; 14410e230b6Smaya case 32: 14510e230b6Smaya assert(rnd == nir_rounding_mode_undef); 14610e230b6Smaya return nir_op_f2i32; 14710e230b6Smaya case 64: 14810e230b6Smaya assert(rnd == nir_rounding_mode_undef); 14910e230b6Smaya return nir_op_f2i64; 15010e230b6Smaya default: 15110e230b6Smaya unreachable("Invalid nir alu bit size"); 15210e230b6Smaya } 15310e230b6Smaya case nir_type_uint: 15410e230b6Smaya switch (dst_bit_size) { 15510e230b6Smaya case 1: 15610e230b6Smaya assert(rnd == nir_rounding_mode_undef); 15710e230b6Smaya return nir_op_f2u1; 15810e230b6Smaya case 8: 15910e230b6Smaya assert(rnd == nir_rounding_mode_undef); 16010e230b6Smaya return nir_op_f2u8; 16110e230b6Smaya case 16: 16210e230b6Smaya assert(rnd == nir_rounding_mode_undef); 16310e230b6Smaya return nir_op_f2u16; 16410e230b6Smaya case 32: 16510e230b6Smaya assert(rnd == nir_rounding_mode_undef); 16610e230b6Smaya return nir_op_f2u32; 16710e230b6Smaya case 64: 16810e230b6Smaya assert(rnd == nir_rounding_mode_undef); 16910e230b6Smaya return nir_op_f2u64; 17010e230b6Smaya default: 17110e230b6Smaya unreachable("Invalid nir alu bit size"); 17210e230b6Smaya } 17310e230b6Smaya case nir_type_float: 17410e230b6Smaya switch (dst_bit_size) { 17510e230b6Smaya case 16: 17610e230b6Smaya switch(rnd) { 17710e230b6Smaya case nir_rounding_mode_rtne: 17810e230b6Smaya return nir_op_f2f16_rtne; 17910e230b6Smaya case nir_rounding_mode_rtz: 18010e230b6Smaya return nir_op_f2f16_rtz; 18110e230b6Smaya case nir_rounding_mode_undef: 18210e230b6Smaya return nir_op_f2f16; 18310e230b6Smaya default: 18410e230b6Smaya unreachable("Invalid 16-bit nir rounding mode"); 18510e230b6Smaya } 18610e230b6Smaya case 32: 18710e230b6Smaya assert(rnd == nir_rounding_mode_undef); 18810e230b6Smaya return nir_op_f2f32; 18910e230b6Smaya case 64: 19010e230b6Smaya assert(rnd == nir_rounding_mode_undef); 19110e230b6Smaya return nir_op_f2f64; 19210e230b6Smaya default: 19310e230b6Smaya unreachable("Invalid nir alu bit size"); 19410e230b6Smaya } 19510e230b6Smaya case nir_type_bool: 19610e230b6Smaya switch (dst_bit_size) { 19710e230b6Smaya case 1: 19810e230b6Smaya assert(rnd == nir_rounding_mode_undef); 19910e230b6Smaya return nir_op_f2b1; 20010e230b6Smaya case 32: 20110e230b6Smaya assert(rnd == nir_rounding_mode_undef); 20210e230b6Smaya return nir_op_f2b32; 20310e230b6Smaya default: 20410e230b6Smaya unreachable("Invalid nir alu bit size"); 20510e230b6Smaya } 20610e230b6Smaya default: 20710e230b6Smaya unreachable("Invalid nir alu base type"); 20810e230b6Smaya } 20910e230b6Smaya case nir_type_bool: 21010e230b6Smaya switch (dst_base) { 21110e230b6Smaya case nir_type_int: 21210e230b6Smaya case nir_type_uint: 21310e230b6Smaya 21410e230b6Smaya switch (dst_bit_size) { 21510e230b6Smaya case 1: 21610e230b6Smaya assert(rnd == nir_rounding_mode_undef); 21710e230b6Smaya return nir_op_b2i1; 21810e230b6Smaya case 8: 21910e230b6Smaya assert(rnd == nir_rounding_mode_undef); 22010e230b6Smaya return nir_op_b2i8; 22110e230b6Smaya case 16: 22210e230b6Smaya assert(rnd == nir_rounding_mode_undef); 22310e230b6Smaya return nir_op_b2i16; 22410e230b6Smaya case 32: 22510e230b6Smaya assert(rnd == nir_rounding_mode_undef); 22610e230b6Smaya return nir_op_b2i32; 22710e230b6Smaya case 64: 22810e230b6Smaya assert(rnd == nir_rounding_mode_undef); 22910e230b6Smaya return nir_op_b2i64; 23010e230b6Smaya default: 23110e230b6Smaya unreachable("Invalid nir alu bit size"); 23210e230b6Smaya } 23310e230b6Smaya case nir_type_float: 23410e230b6Smaya switch (dst_bit_size) { 23510e230b6Smaya case 16: 23610e230b6Smaya assert(rnd == nir_rounding_mode_undef); 23710e230b6Smaya return nir_op_b2f16; 23810e230b6Smaya case 32: 23910e230b6Smaya assert(rnd == nir_rounding_mode_undef); 24010e230b6Smaya return nir_op_b2f32; 24110e230b6Smaya case 64: 24210e230b6Smaya assert(rnd == nir_rounding_mode_undef); 24310e230b6Smaya return nir_op_b2f64; 24410e230b6Smaya default: 24510e230b6Smaya unreachable("Invalid nir alu bit size"); 24610e230b6Smaya } 24710e230b6Smaya case nir_type_bool: 24810e230b6Smaya 24910e230b6Smaya switch (dst_bit_size) { 25010e230b6Smaya case 1: 25110e230b6Smaya assert(rnd == nir_rounding_mode_undef); 25210e230b6Smaya return nir_op_b2i1; 25310e230b6Smaya case 8: 25410e230b6Smaya assert(rnd == nir_rounding_mode_undef); 25510e230b6Smaya return nir_op_b2i8; 25610e230b6Smaya case 16: 25710e230b6Smaya assert(rnd == nir_rounding_mode_undef); 25810e230b6Smaya return nir_op_b2i16; 25910e230b6Smaya case 32: 26010e230b6Smaya assert(rnd == nir_rounding_mode_undef); 26110e230b6Smaya return nir_op_b2i32; 26210e230b6Smaya case 64: 26310e230b6Smaya assert(rnd == nir_rounding_mode_undef); 26410e230b6Smaya return nir_op_b2i64; 26510e230b6Smaya default: 26610e230b6Smaya unreachable("Invalid nir alu bit size"); 26710e230b6Smaya } 26810e230b6Smaya default: 26910e230b6Smaya unreachable("Invalid nir alu base type"); 27010e230b6Smaya } 27110e230b6Smaya default: 27210e230b6Smaya unreachable("Invalid nir alu base type"); 27310e230b6Smaya } 27410e230b6Smaya} 27510e230b6Smaya 27610e230b6Smayaconst nir_op_info nir_op_infos[nir_num_opcodes] = { 27710e230b6Smaya{ 27810e230b6Smaya .name = "b2f16", 27910e230b6Smaya .num_inputs = 1, 28010e230b6Smaya .output_size = 0, 28110e230b6Smaya .output_type = nir_type_float16, 28210e230b6Smaya .input_sizes = { 28310e230b6Smaya 0 28410e230b6Smaya }, 28510e230b6Smaya .input_types = { 28610e230b6Smaya nir_type_bool 28710e230b6Smaya }, 28810e230b6Smaya .is_conversion = true, 28910e230b6Smaya .algebraic_properties = 29010e230b6Smaya 0 29110e230b6Smaya}, 29210e230b6Smaya{ 29310e230b6Smaya .name = "b2f32", 29410e230b6Smaya .num_inputs = 1, 29510e230b6Smaya .output_size = 0, 29610e230b6Smaya .output_type = nir_type_float32, 29710e230b6Smaya .input_sizes = { 29810e230b6Smaya 0 29910e230b6Smaya }, 30010e230b6Smaya .input_types = { 30110e230b6Smaya nir_type_bool 30210e230b6Smaya }, 30310e230b6Smaya .is_conversion = true, 30410e230b6Smaya .algebraic_properties = 30510e230b6Smaya 0 30610e230b6Smaya}, 30710e230b6Smaya{ 30810e230b6Smaya .name = "b2f64", 30910e230b6Smaya .num_inputs = 1, 31010e230b6Smaya .output_size = 0, 31110e230b6Smaya .output_type = nir_type_float64, 31210e230b6Smaya .input_sizes = { 31310e230b6Smaya 0 31410e230b6Smaya }, 31510e230b6Smaya .input_types = { 31610e230b6Smaya nir_type_bool 31710e230b6Smaya }, 31810e230b6Smaya .is_conversion = true, 31910e230b6Smaya .algebraic_properties = 32010e230b6Smaya 0 32110e230b6Smaya}, 32210e230b6Smaya{ 32310e230b6Smaya .name = "b2i1", 32410e230b6Smaya .num_inputs = 1, 32510e230b6Smaya .output_size = 0, 32610e230b6Smaya .output_type = nir_type_int1, 32710e230b6Smaya .input_sizes = { 32810e230b6Smaya 0 32910e230b6Smaya }, 33010e230b6Smaya .input_types = { 33110e230b6Smaya nir_type_bool 33210e230b6Smaya }, 33310e230b6Smaya .is_conversion = true, 33410e230b6Smaya .algebraic_properties = 33510e230b6Smaya 0 33610e230b6Smaya}, 33710e230b6Smaya{ 33810e230b6Smaya .name = "b2i16", 33910e230b6Smaya .num_inputs = 1, 34010e230b6Smaya .output_size = 0, 34110e230b6Smaya .output_type = nir_type_int16, 34210e230b6Smaya .input_sizes = { 34310e230b6Smaya 0 34410e230b6Smaya }, 34510e230b6Smaya .input_types = { 34610e230b6Smaya nir_type_bool 34710e230b6Smaya }, 34810e230b6Smaya .is_conversion = true, 34910e230b6Smaya .algebraic_properties = 35010e230b6Smaya 0 35110e230b6Smaya}, 35210e230b6Smaya{ 35310e230b6Smaya .name = "b2i32", 35410e230b6Smaya .num_inputs = 1, 35510e230b6Smaya .output_size = 0, 35610e230b6Smaya .output_type = nir_type_int32, 35710e230b6Smaya .input_sizes = { 35810e230b6Smaya 0 35910e230b6Smaya }, 36010e230b6Smaya .input_types = { 36110e230b6Smaya nir_type_bool 36210e230b6Smaya }, 36310e230b6Smaya .is_conversion = true, 36410e230b6Smaya .algebraic_properties = 36510e230b6Smaya 0 36610e230b6Smaya}, 36710e230b6Smaya{ 36810e230b6Smaya .name = "b2i64", 36910e230b6Smaya .num_inputs = 1, 37010e230b6Smaya .output_size = 0, 37110e230b6Smaya .output_type = nir_type_int64, 37210e230b6Smaya .input_sizes = { 37310e230b6Smaya 0 37410e230b6Smaya }, 37510e230b6Smaya .input_types = { 37610e230b6Smaya nir_type_bool 37710e230b6Smaya }, 37810e230b6Smaya .is_conversion = true, 37910e230b6Smaya .algebraic_properties = 38010e230b6Smaya 0 38110e230b6Smaya}, 38210e230b6Smaya{ 38310e230b6Smaya .name = "b2i8", 38410e230b6Smaya .num_inputs = 1, 38510e230b6Smaya .output_size = 0, 38610e230b6Smaya .output_type = nir_type_int8, 38710e230b6Smaya .input_sizes = { 38810e230b6Smaya 0 38910e230b6Smaya }, 39010e230b6Smaya .input_types = { 39110e230b6Smaya nir_type_bool 39210e230b6Smaya }, 39310e230b6Smaya .is_conversion = true, 39410e230b6Smaya .algebraic_properties = 39510e230b6Smaya 0 39610e230b6Smaya}, 39710e230b6Smaya{ 39810e230b6Smaya .name = "b32all_fequal2", 39910e230b6Smaya .num_inputs = 2, 40010e230b6Smaya .output_size = 1, 40110e230b6Smaya .output_type = nir_type_bool32, 40210e230b6Smaya .input_sizes = { 40310e230b6Smaya 2, 2 40410e230b6Smaya }, 40510e230b6Smaya .input_types = { 40610e230b6Smaya nir_type_float, nir_type_float 40710e230b6Smaya }, 40810e230b6Smaya .is_conversion = false, 40910e230b6Smaya .algebraic_properties = 41010e230b6Smaya NIR_OP_IS_COMMUTATIVE 41110e230b6Smaya}, 41210e230b6Smaya{ 41310e230b6Smaya .name = "b32all_fequal3", 41410e230b6Smaya .num_inputs = 2, 41510e230b6Smaya .output_size = 1, 41610e230b6Smaya .output_type = nir_type_bool32, 41710e230b6Smaya .input_sizes = { 41810e230b6Smaya 3, 3 41910e230b6Smaya }, 42010e230b6Smaya .input_types = { 42110e230b6Smaya nir_type_float, nir_type_float 42210e230b6Smaya }, 42310e230b6Smaya .is_conversion = false, 42410e230b6Smaya .algebraic_properties = 42510e230b6Smaya NIR_OP_IS_COMMUTATIVE 42610e230b6Smaya}, 42710e230b6Smaya{ 42810e230b6Smaya .name = "b32all_fequal4", 42910e230b6Smaya .num_inputs = 2, 43010e230b6Smaya .output_size = 1, 43110e230b6Smaya .output_type = nir_type_bool32, 43210e230b6Smaya .input_sizes = { 43310e230b6Smaya 4, 4 43410e230b6Smaya }, 43510e230b6Smaya .input_types = { 43610e230b6Smaya nir_type_float, nir_type_float 43710e230b6Smaya }, 43810e230b6Smaya .is_conversion = false, 43910e230b6Smaya .algebraic_properties = 44010e230b6Smaya NIR_OP_IS_COMMUTATIVE 44110e230b6Smaya}, 44210e230b6Smaya{ 44310e230b6Smaya .name = "b32all_iequal2", 44410e230b6Smaya .num_inputs = 2, 44510e230b6Smaya .output_size = 1, 44610e230b6Smaya .output_type = nir_type_bool32, 44710e230b6Smaya .input_sizes = { 44810e230b6Smaya 2, 2 44910e230b6Smaya }, 45010e230b6Smaya .input_types = { 45110e230b6Smaya nir_type_int, nir_type_int 45210e230b6Smaya }, 45310e230b6Smaya .is_conversion = false, 45410e230b6Smaya .algebraic_properties = 45510e230b6Smaya NIR_OP_IS_COMMUTATIVE 45610e230b6Smaya}, 45710e230b6Smaya{ 45810e230b6Smaya .name = "b32all_iequal3", 45910e230b6Smaya .num_inputs = 2, 46010e230b6Smaya .output_size = 1, 46110e230b6Smaya .output_type = nir_type_bool32, 46210e230b6Smaya .input_sizes = { 46310e230b6Smaya 3, 3 46410e230b6Smaya }, 46510e230b6Smaya .input_types = { 46610e230b6Smaya nir_type_int, nir_type_int 46710e230b6Smaya }, 46810e230b6Smaya .is_conversion = false, 46910e230b6Smaya .algebraic_properties = 47010e230b6Smaya NIR_OP_IS_COMMUTATIVE 47110e230b6Smaya}, 47210e230b6Smaya{ 47310e230b6Smaya .name = "b32all_iequal4", 47410e230b6Smaya .num_inputs = 2, 47510e230b6Smaya .output_size = 1, 47610e230b6Smaya .output_type = nir_type_bool32, 47710e230b6Smaya .input_sizes = { 47810e230b6Smaya 4, 4 47910e230b6Smaya }, 48010e230b6Smaya .input_types = { 48110e230b6Smaya nir_type_int, nir_type_int 48210e230b6Smaya }, 48310e230b6Smaya .is_conversion = false, 48410e230b6Smaya .algebraic_properties = 48510e230b6Smaya NIR_OP_IS_COMMUTATIVE 48610e230b6Smaya}, 48710e230b6Smaya{ 48810e230b6Smaya .name = "b32any_fnequal2", 48910e230b6Smaya .num_inputs = 2, 49010e230b6Smaya .output_size = 1, 49110e230b6Smaya .output_type = nir_type_bool32, 49210e230b6Smaya .input_sizes = { 49310e230b6Smaya 2, 2 49410e230b6Smaya }, 49510e230b6Smaya .input_types = { 49610e230b6Smaya nir_type_float, nir_type_float 49710e230b6Smaya }, 49810e230b6Smaya .is_conversion = false, 49910e230b6Smaya .algebraic_properties = 50010e230b6Smaya NIR_OP_IS_COMMUTATIVE 50110e230b6Smaya}, 50210e230b6Smaya{ 50310e230b6Smaya .name = "b32any_fnequal3", 50410e230b6Smaya .num_inputs = 2, 50510e230b6Smaya .output_size = 1, 50610e230b6Smaya .output_type = nir_type_bool32, 50710e230b6Smaya .input_sizes = { 50810e230b6Smaya 3, 3 50910e230b6Smaya }, 51010e230b6Smaya .input_types = { 51110e230b6Smaya nir_type_float, nir_type_float 51210e230b6Smaya }, 51310e230b6Smaya .is_conversion = false, 51410e230b6Smaya .algebraic_properties = 51510e230b6Smaya NIR_OP_IS_COMMUTATIVE 51610e230b6Smaya}, 51710e230b6Smaya{ 51810e230b6Smaya .name = "b32any_fnequal4", 51910e230b6Smaya .num_inputs = 2, 52010e230b6Smaya .output_size = 1, 52110e230b6Smaya .output_type = nir_type_bool32, 52210e230b6Smaya .input_sizes = { 52310e230b6Smaya 4, 4 52410e230b6Smaya }, 52510e230b6Smaya .input_types = { 52610e230b6Smaya nir_type_float, nir_type_float 52710e230b6Smaya }, 52810e230b6Smaya .is_conversion = false, 52910e230b6Smaya .algebraic_properties = 53010e230b6Smaya NIR_OP_IS_COMMUTATIVE 53110e230b6Smaya}, 53210e230b6Smaya{ 53310e230b6Smaya .name = "b32any_inequal2", 53410e230b6Smaya .num_inputs = 2, 53510e230b6Smaya .output_size = 1, 53610e230b6Smaya .output_type = nir_type_bool32, 53710e230b6Smaya .input_sizes = { 53810e230b6Smaya 2, 2 53910e230b6Smaya }, 54010e230b6Smaya .input_types = { 54110e230b6Smaya nir_type_int, nir_type_int 54210e230b6Smaya }, 54310e230b6Smaya .is_conversion = false, 54410e230b6Smaya .algebraic_properties = 54510e230b6Smaya NIR_OP_IS_COMMUTATIVE 54610e230b6Smaya}, 54710e230b6Smaya{ 54810e230b6Smaya .name = "b32any_inequal3", 54910e230b6Smaya .num_inputs = 2, 55010e230b6Smaya .output_size = 1, 55110e230b6Smaya .output_type = nir_type_bool32, 55210e230b6Smaya .input_sizes = { 55310e230b6Smaya 3, 3 55410e230b6Smaya }, 55510e230b6Smaya .input_types = { 55610e230b6Smaya nir_type_int, nir_type_int 55710e230b6Smaya }, 55810e230b6Smaya .is_conversion = false, 55910e230b6Smaya .algebraic_properties = 56010e230b6Smaya NIR_OP_IS_COMMUTATIVE 56110e230b6Smaya}, 56210e230b6Smaya{ 56310e230b6Smaya .name = "b32any_inequal4", 56410e230b6Smaya .num_inputs = 2, 56510e230b6Smaya .output_size = 1, 56610e230b6Smaya .output_type = nir_type_bool32, 56710e230b6Smaya .input_sizes = { 56810e230b6Smaya 4, 4 56910e230b6Smaya }, 57010e230b6Smaya .input_types = { 57110e230b6Smaya nir_type_int, nir_type_int 57210e230b6Smaya }, 57310e230b6Smaya .is_conversion = false, 57410e230b6Smaya .algebraic_properties = 57510e230b6Smaya NIR_OP_IS_COMMUTATIVE 57610e230b6Smaya}, 57710e230b6Smaya{ 57810e230b6Smaya .name = "b32csel", 57910e230b6Smaya .num_inputs = 3, 58010e230b6Smaya .output_size = 0, 58110e230b6Smaya .output_type = nir_type_uint, 58210e230b6Smaya .input_sizes = { 58310e230b6Smaya 0, 0, 0 58410e230b6Smaya }, 58510e230b6Smaya .input_types = { 58610e230b6Smaya nir_type_bool32, nir_type_uint, nir_type_uint 58710e230b6Smaya }, 58810e230b6Smaya .is_conversion = false, 58910e230b6Smaya .algebraic_properties = 59010e230b6Smaya 0 59110e230b6Smaya}, 59210e230b6Smaya{ 59310e230b6Smaya .name = "ball_fequal2", 59410e230b6Smaya .num_inputs = 2, 59510e230b6Smaya .output_size = 1, 59610e230b6Smaya .output_type = nir_type_bool1, 59710e230b6Smaya .input_sizes = { 59810e230b6Smaya 2, 2 59910e230b6Smaya }, 60010e230b6Smaya .input_types = { 60110e230b6Smaya nir_type_float, nir_type_float 60210e230b6Smaya }, 60310e230b6Smaya .is_conversion = false, 60410e230b6Smaya .algebraic_properties = 60510e230b6Smaya NIR_OP_IS_COMMUTATIVE 60610e230b6Smaya}, 60710e230b6Smaya{ 60810e230b6Smaya .name = "ball_fequal3", 60910e230b6Smaya .num_inputs = 2, 61010e230b6Smaya .output_size = 1, 61110e230b6Smaya .output_type = nir_type_bool1, 61210e230b6Smaya .input_sizes = { 61310e230b6Smaya 3, 3 61410e230b6Smaya }, 61510e230b6Smaya .input_types = { 61610e230b6Smaya nir_type_float, nir_type_float 61710e230b6Smaya }, 61810e230b6Smaya .is_conversion = false, 61910e230b6Smaya .algebraic_properties = 62010e230b6Smaya NIR_OP_IS_COMMUTATIVE 62110e230b6Smaya}, 62210e230b6Smaya{ 62310e230b6Smaya .name = "ball_fequal4", 62410e230b6Smaya .num_inputs = 2, 62510e230b6Smaya .output_size = 1, 62610e230b6Smaya .output_type = nir_type_bool1, 62710e230b6Smaya .input_sizes = { 62810e230b6Smaya 4, 4 62910e230b6Smaya }, 63010e230b6Smaya .input_types = { 63110e230b6Smaya nir_type_float, nir_type_float 63210e230b6Smaya }, 63310e230b6Smaya .is_conversion = false, 63410e230b6Smaya .algebraic_properties = 63510e230b6Smaya NIR_OP_IS_COMMUTATIVE 63610e230b6Smaya}, 63710e230b6Smaya{ 63810e230b6Smaya .name = "ball_iequal2", 63910e230b6Smaya .num_inputs = 2, 64010e230b6Smaya .output_size = 1, 64110e230b6Smaya .output_type = nir_type_bool1, 64210e230b6Smaya .input_sizes = { 64310e230b6Smaya 2, 2 64410e230b6Smaya }, 64510e230b6Smaya .input_types = { 64610e230b6Smaya nir_type_int, nir_type_int 64710e230b6Smaya }, 64810e230b6Smaya .is_conversion = false, 64910e230b6Smaya .algebraic_properties = 65010e230b6Smaya NIR_OP_IS_COMMUTATIVE 65110e230b6Smaya}, 65210e230b6Smaya{ 65310e230b6Smaya .name = "ball_iequal3", 65410e230b6Smaya .num_inputs = 2, 65510e230b6Smaya .output_size = 1, 65610e230b6Smaya .output_type = nir_type_bool1, 65710e230b6Smaya .input_sizes = { 65810e230b6Smaya 3, 3 65910e230b6Smaya }, 66010e230b6Smaya .input_types = { 66110e230b6Smaya nir_type_int, nir_type_int 66210e230b6Smaya }, 66310e230b6Smaya .is_conversion = false, 66410e230b6Smaya .algebraic_properties = 66510e230b6Smaya NIR_OP_IS_COMMUTATIVE 66610e230b6Smaya}, 66710e230b6Smaya{ 66810e230b6Smaya .name = "ball_iequal4", 66910e230b6Smaya .num_inputs = 2, 67010e230b6Smaya .output_size = 1, 67110e230b6Smaya .output_type = nir_type_bool1, 67210e230b6Smaya .input_sizes = { 67310e230b6Smaya 4, 4 67410e230b6Smaya }, 67510e230b6Smaya .input_types = { 67610e230b6Smaya nir_type_int, nir_type_int 67710e230b6Smaya }, 67810e230b6Smaya .is_conversion = false, 67910e230b6Smaya .algebraic_properties = 68010e230b6Smaya NIR_OP_IS_COMMUTATIVE 68110e230b6Smaya}, 68210e230b6Smaya{ 68310e230b6Smaya .name = "bany_fnequal2", 68410e230b6Smaya .num_inputs = 2, 68510e230b6Smaya .output_size = 1, 68610e230b6Smaya .output_type = nir_type_bool1, 68710e230b6Smaya .input_sizes = { 68810e230b6Smaya 2, 2 68910e230b6Smaya }, 69010e230b6Smaya .input_types = { 69110e230b6Smaya nir_type_float, nir_type_float 69210e230b6Smaya }, 69310e230b6Smaya .is_conversion = false, 69410e230b6Smaya .algebraic_properties = 69510e230b6Smaya NIR_OP_IS_COMMUTATIVE 69610e230b6Smaya}, 69710e230b6Smaya{ 69810e230b6Smaya .name = "bany_fnequal3", 69910e230b6Smaya .num_inputs = 2, 70010e230b6Smaya .output_size = 1, 70110e230b6Smaya .output_type = nir_type_bool1, 70210e230b6Smaya .input_sizes = { 70310e230b6Smaya 3, 3 70410e230b6Smaya }, 70510e230b6Smaya .input_types = { 70610e230b6Smaya nir_type_float, nir_type_float 70710e230b6Smaya }, 70810e230b6Smaya .is_conversion = false, 70910e230b6Smaya .algebraic_properties = 71010e230b6Smaya NIR_OP_IS_COMMUTATIVE 71110e230b6Smaya}, 71210e230b6Smaya{ 71310e230b6Smaya .name = "bany_fnequal4", 71410e230b6Smaya .num_inputs = 2, 71510e230b6Smaya .output_size = 1, 71610e230b6Smaya .output_type = nir_type_bool1, 71710e230b6Smaya .input_sizes = { 71810e230b6Smaya 4, 4 71910e230b6Smaya }, 72010e230b6Smaya .input_types = { 72110e230b6Smaya nir_type_float, nir_type_float 72210e230b6Smaya }, 72310e230b6Smaya .is_conversion = false, 72410e230b6Smaya .algebraic_properties = 72510e230b6Smaya NIR_OP_IS_COMMUTATIVE 72610e230b6Smaya}, 72710e230b6Smaya{ 72810e230b6Smaya .name = "bany_inequal2", 72910e230b6Smaya .num_inputs = 2, 73010e230b6Smaya .output_size = 1, 73110e230b6Smaya .output_type = nir_type_bool1, 73210e230b6Smaya .input_sizes = { 73310e230b6Smaya 2, 2 73410e230b6Smaya }, 73510e230b6Smaya .input_types = { 73610e230b6Smaya nir_type_int, nir_type_int 73710e230b6Smaya }, 73810e230b6Smaya .is_conversion = false, 73910e230b6Smaya .algebraic_properties = 74010e230b6Smaya NIR_OP_IS_COMMUTATIVE 74110e230b6Smaya}, 74210e230b6Smaya{ 74310e230b6Smaya .name = "bany_inequal3", 74410e230b6Smaya .num_inputs = 2, 74510e230b6Smaya .output_size = 1, 74610e230b6Smaya .output_type = nir_type_bool1, 74710e230b6Smaya .input_sizes = { 74810e230b6Smaya 3, 3 74910e230b6Smaya }, 75010e230b6Smaya .input_types = { 75110e230b6Smaya nir_type_int, nir_type_int 75210e230b6Smaya }, 75310e230b6Smaya .is_conversion = false, 75410e230b6Smaya .algebraic_properties = 75510e230b6Smaya NIR_OP_IS_COMMUTATIVE 75610e230b6Smaya}, 75710e230b6Smaya{ 75810e230b6Smaya .name = "bany_inequal4", 75910e230b6Smaya .num_inputs = 2, 76010e230b6Smaya .output_size = 1, 76110e230b6Smaya .output_type = nir_type_bool1, 76210e230b6Smaya .input_sizes = { 76310e230b6Smaya 4, 4 76410e230b6Smaya }, 76510e230b6Smaya .input_types = { 76610e230b6Smaya nir_type_int, nir_type_int 76710e230b6Smaya }, 76810e230b6Smaya .is_conversion = false, 76910e230b6Smaya .algebraic_properties = 77010e230b6Smaya NIR_OP_IS_COMMUTATIVE 77110e230b6Smaya}, 77210e230b6Smaya{ 77310e230b6Smaya .name = "bcsel", 77410e230b6Smaya .num_inputs = 3, 77510e230b6Smaya .output_size = 0, 77610e230b6Smaya .output_type = nir_type_uint, 77710e230b6Smaya .input_sizes = { 77810e230b6Smaya 0, 0, 0 77910e230b6Smaya }, 78010e230b6Smaya .input_types = { 78110e230b6Smaya nir_type_bool1, nir_type_uint, nir_type_uint 78210e230b6Smaya }, 78310e230b6Smaya .is_conversion = false, 78410e230b6Smaya .algebraic_properties = 78510e230b6Smaya 0 78610e230b6Smaya}, 78710e230b6Smaya{ 78810e230b6Smaya .name = "bfi", 78910e230b6Smaya .num_inputs = 3, 79010e230b6Smaya .output_size = 0, 79110e230b6Smaya .output_type = nir_type_uint32, 79210e230b6Smaya .input_sizes = { 79310e230b6Smaya 0, 0, 0 79410e230b6Smaya }, 79510e230b6Smaya .input_types = { 79610e230b6Smaya nir_type_uint32, nir_type_uint32, nir_type_uint32 79710e230b6Smaya }, 79810e230b6Smaya .is_conversion = false, 79910e230b6Smaya .algebraic_properties = 80010e230b6Smaya 0 80110e230b6Smaya}, 80210e230b6Smaya{ 80310e230b6Smaya .name = "bfm", 80410e230b6Smaya .num_inputs = 2, 80510e230b6Smaya .output_size = 0, 80610e230b6Smaya .output_type = nir_type_uint32, 80710e230b6Smaya .input_sizes = { 80810e230b6Smaya 0, 0 80910e230b6Smaya }, 81010e230b6Smaya .input_types = { 81110e230b6Smaya nir_type_int32, nir_type_int32 81210e230b6Smaya }, 81310e230b6Smaya .is_conversion = false, 81410e230b6Smaya .algebraic_properties = 81510e230b6Smaya 0 81610e230b6Smaya}, 81710e230b6Smaya{ 81810e230b6Smaya .name = "bit_count", 81910e230b6Smaya .num_inputs = 1, 82010e230b6Smaya .output_size = 0, 82110e230b6Smaya .output_type = nir_type_uint32, 82210e230b6Smaya .input_sizes = { 82310e230b6Smaya 0 82410e230b6Smaya }, 82510e230b6Smaya .input_types = { 82610e230b6Smaya nir_type_uint 82710e230b6Smaya }, 82810e230b6Smaya .is_conversion = false, 82910e230b6Smaya .algebraic_properties = 83010e230b6Smaya 0 83110e230b6Smaya}, 83210e230b6Smaya{ 83310e230b6Smaya .name = "bitfield_insert", 83410e230b6Smaya .num_inputs = 4, 83510e230b6Smaya .output_size = 0, 83610e230b6Smaya .output_type = nir_type_uint32, 83710e230b6Smaya .input_sizes = { 83810e230b6Smaya 0, 0, 0, 0 83910e230b6Smaya }, 84010e230b6Smaya .input_types = { 84110e230b6Smaya nir_type_uint32, nir_type_uint32, nir_type_int32, nir_type_int32 84210e230b6Smaya }, 84310e230b6Smaya .is_conversion = false, 84410e230b6Smaya .algebraic_properties = 84510e230b6Smaya 0 84610e230b6Smaya}, 84710e230b6Smaya{ 84810e230b6Smaya .name = "bitfield_reverse", 84910e230b6Smaya .num_inputs = 1, 85010e230b6Smaya .output_size = 0, 85110e230b6Smaya .output_type = nir_type_uint32, 85210e230b6Smaya .input_sizes = { 85310e230b6Smaya 0 85410e230b6Smaya }, 85510e230b6Smaya .input_types = { 85610e230b6Smaya nir_type_uint32 85710e230b6Smaya }, 85810e230b6Smaya .is_conversion = false, 85910e230b6Smaya .algebraic_properties = 86010e230b6Smaya 0 86110e230b6Smaya}, 86210e230b6Smaya{ 86310e230b6Smaya .name = "cube_face_coord", 86410e230b6Smaya .num_inputs = 1, 86510e230b6Smaya .output_size = 2, 86610e230b6Smaya .output_type = nir_type_float32, 86710e230b6Smaya .input_sizes = { 86810e230b6Smaya 3 86910e230b6Smaya }, 87010e230b6Smaya .input_types = { 87110e230b6Smaya nir_type_float32 87210e230b6Smaya }, 87310e230b6Smaya .is_conversion = false, 87410e230b6Smaya .algebraic_properties = 87510e230b6Smaya 0 87610e230b6Smaya}, 87710e230b6Smaya{ 87810e230b6Smaya .name = "cube_face_index", 87910e230b6Smaya .num_inputs = 1, 88010e230b6Smaya .output_size = 1, 88110e230b6Smaya .output_type = nir_type_float32, 88210e230b6Smaya .input_sizes = { 88310e230b6Smaya 3 88410e230b6Smaya }, 88510e230b6Smaya .input_types = { 88610e230b6Smaya nir_type_float32 88710e230b6Smaya }, 88810e230b6Smaya .is_conversion = false, 88910e230b6Smaya .algebraic_properties = 89010e230b6Smaya 0 89110e230b6Smaya}, 89210e230b6Smaya{ 89310e230b6Smaya .name = "extract_i16", 89410e230b6Smaya .num_inputs = 2, 89510e230b6Smaya .output_size = 0, 89610e230b6Smaya .output_type = nir_type_int, 89710e230b6Smaya .input_sizes = { 89810e230b6Smaya 0, 0 89910e230b6Smaya }, 90010e230b6Smaya .input_types = { 90110e230b6Smaya nir_type_int, nir_type_int 90210e230b6Smaya }, 90310e230b6Smaya .is_conversion = false, 90410e230b6Smaya .algebraic_properties = 90510e230b6Smaya 0 90610e230b6Smaya}, 90710e230b6Smaya{ 90810e230b6Smaya .name = "extract_i8", 90910e230b6Smaya .num_inputs = 2, 91010e230b6Smaya .output_size = 0, 91110e230b6Smaya .output_type = nir_type_int, 91210e230b6Smaya .input_sizes = { 91310e230b6Smaya 0, 0 91410e230b6Smaya }, 91510e230b6Smaya .input_types = { 91610e230b6Smaya nir_type_int, nir_type_int 91710e230b6Smaya }, 91810e230b6Smaya .is_conversion = false, 91910e230b6Smaya .algebraic_properties = 92010e230b6Smaya 0 92110e230b6Smaya}, 92210e230b6Smaya{ 92310e230b6Smaya .name = "extract_u16", 92410e230b6Smaya .num_inputs = 2, 92510e230b6Smaya .output_size = 0, 92610e230b6Smaya .output_type = nir_type_uint, 92710e230b6Smaya .input_sizes = { 92810e230b6Smaya 0, 0 92910e230b6Smaya }, 93010e230b6Smaya .input_types = { 93110e230b6Smaya nir_type_uint, nir_type_uint 93210e230b6Smaya }, 93310e230b6Smaya .is_conversion = false, 93410e230b6Smaya .algebraic_properties = 93510e230b6Smaya 0 93610e230b6Smaya}, 93710e230b6Smaya{ 93810e230b6Smaya .name = "extract_u8", 93910e230b6Smaya .num_inputs = 2, 94010e230b6Smaya .output_size = 0, 94110e230b6Smaya .output_type = nir_type_uint, 94210e230b6Smaya .input_sizes = { 94310e230b6Smaya 0, 0 94410e230b6Smaya }, 94510e230b6Smaya .input_types = { 94610e230b6Smaya nir_type_uint, nir_type_uint 94710e230b6Smaya }, 94810e230b6Smaya .is_conversion = false, 94910e230b6Smaya .algebraic_properties = 95010e230b6Smaya 0 95110e230b6Smaya}, 95210e230b6Smaya{ 95310e230b6Smaya .name = "f2b1", 95410e230b6Smaya .num_inputs = 1, 95510e230b6Smaya .output_size = 0, 95610e230b6Smaya .output_type = nir_type_bool1, 95710e230b6Smaya .input_sizes = { 95810e230b6Smaya 0 95910e230b6Smaya }, 96010e230b6Smaya .input_types = { 96110e230b6Smaya nir_type_float 96210e230b6Smaya }, 96310e230b6Smaya .is_conversion = true, 96410e230b6Smaya .algebraic_properties = 96510e230b6Smaya 0 96610e230b6Smaya}, 96710e230b6Smaya{ 96810e230b6Smaya .name = "f2b32", 96910e230b6Smaya .num_inputs = 1, 97010e230b6Smaya .output_size = 0, 97110e230b6Smaya .output_type = nir_type_bool32, 97210e230b6Smaya .input_sizes = { 97310e230b6Smaya 0 97410e230b6Smaya }, 97510e230b6Smaya .input_types = { 97610e230b6Smaya nir_type_float 97710e230b6Smaya }, 97810e230b6Smaya .is_conversion = true, 97910e230b6Smaya .algebraic_properties = 98010e230b6Smaya 0 98110e230b6Smaya}, 98210e230b6Smaya{ 98310e230b6Smaya .name = "f2f16", 98410e230b6Smaya .num_inputs = 1, 98510e230b6Smaya .output_size = 0, 98610e230b6Smaya .output_type = nir_type_float16, 98710e230b6Smaya .input_sizes = { 98810e230b6Smaya 0 98910e230b6Smaya }, 99010e230b6Smaya .input_types = { 99110e230b6Smaya nir_type_float 99210e230b6Smaya }, 99310e230b6Smaya .is_conversion = true, 99410e230b6Smaya .algebraic_properties = 99510e230b6Smaya 0 99610e230b6Smaya}, 99710e230b6Smaya{ 99810e230b6Smaya .name = "f2f16_rtne", 99910e230b6Smaya .num_inputs = 1, 100010e230b6Smaya .output_size = 0, 100110e230b6Smaya .output_type = nir_type_float16, 100210e230b6Smaya .input_sizes = { 100310e230b6Smaya 0 100410e230b6Smaya }, 100510e230b6Smaya .input_types = { 100610e230b6Smaya nir_type_float 100710e230b6Smaya }, 100810e230b6Smaya .is_conversion = true, 100910e230b6Smaya .algebraic_properties = 101010e230b6Smaya 0 101110e230b6Smaya}, 101210e230b6Smaya{ 101310e230b6Smaya .name = "f2f16_rtz", 101410e230b6Smaya .num_inputs = 1, 101510e230b6Smaya .output_size = 0, 101610e230b6Smaya .output_type = nir_type_float16, 101710e230b6Smaya .input_sizes = { 101810e230b6Smaya 0 101910e230b6Smaya }, 102010e230b6Smaya .input_types = { 102110e230b6Smaya nir_type_float 102210e230b6Smaya }, 102310e230b6Smaya .is_conversion = true, 102410e230b6Smaya .algebraic_properties = 102510e230b6Smaya 0 102610e230b6Smaya}, 102710e230b6Smaya{ 102810e230b6Smaya .name = "f2f32", 102910e230b6Smaya .num_inputs = 1, 103010e230b6Smaya .output_size = 0, 103110e230b6Smaya .output_type = nir_type_float32, 103210e230b6Smaya .input_sizes = { 103310e230b6Smaya 0 103410e230b6Smaya }, 103510e230b6Smaya .input_types = { 103610e230b6Smaya nir_type_float 103710e230b6Smaya }, 103810e230b6Smaya .is_conversion = true, 103910e230b6Smaya .algebraic_properties = 104010e230b6Smaya 0 104110e230b6Smaya}, 104210e230b6Smaya{ 104310e230b6Smaya .name = "f2f64", 104410e230b6Smaya .num_inputs = 1, 104510e230b6Smaya .output_size = 0, 104610e230b6Smaya .output_type = nir_type_float64, 104710e230b6Smaya .input_sizes = { 104810e230b6Smaya 0 104910e230b6Smaya }, 105010e230b6Smaya .input_types = { 105110e230b6Smaya nir_type_float 105210e230b6Smaya }, 105310e230b6Smaya .is_conversion = true, 105410e230b6Smaya .algebraic_properties = 105510e230b6Smaya 0 105610e230b6Smaya}, 105710e230b6Smaya{ 105810e230b6Smaya .name = "f2i1", 105910e230b6Smaya .num_inputs = 1, 106010e230b6Smaya .output_size = 0, 106110e230b6Smaya .output_type = nir_type_int1, 106210e230b6Smaya .input_sizes = { 106310e230b6Smaya 0 106410e230b6Smaya }, 106510e230b6Smaya .input_types = { 106610e230b6Smaya nir_type_float 106710e230b6Smaya }, 106810e230b6Smaya .is_conversion = true, 106910e230b6Smaya .algebraic_properties = 107010e230b6Smaya 0 107110e230b6Smaya}, 107210e230b6Smaya{ 107310e230b6Smaya .name = "f2i16", 107410e230b6Smaya .num_inputs = 1, 107510e230b6Smaya .output_size = 0, 107610e230b6Smaya .output_type = nir_type_int16, 107710e230b6Smaya .input_sizes = { 107810e230b6Smaya 0 107910e230b6Smaya }, 108010e230b6Smaya .input_types = { 108110e230b6Smaya nir_type_float 108210e230b6Smaya }, 108310e230b6Smaya .is_conversion = true, 108410e230b6Smaya .algebraic_properties = 108510e230b6Smaya 0 108610e230b6Smaya}, 108710e230b6Smaya{ 108810e230b6Smaya .name = "f2i32", 108910e230b6Smaya .num_inputs = 1, 109010e230b6Smaya .output_size = 0, 109110e230b6Smaya .output_type = nir_type_int32, 109210e230b6Smaya .input_sizes = { 109310e230b6Smaya 0 109410e230b6Smaya }, 109510e230b6Smaya .input_types = { 109610e230b6Smaya nir_type_float 109710e230b6Smaya }, 109810e230b6Smaya .is_conversion = true, 109910e230b6Smaya .algebraic_properties = 110010e230b6Smaya 0 110110e230b6Smaya}, 110210e230b6Smaya{ 110310e230b6Smaya .name = "f2i64", 110410e230b6Smaya .num_inputs = 1, 110510e230b6Smaya .output_size = 0, 110610e230b6Smaya .output_type = nir_type_int64, 110710e230b6Smaya .input_sizes = { 110810e230b6Smaya 0 110910e230b6Smaya }, 111010e230b6Smaya .input_types = { 111110e230b6Smaya nir_type_float 111210e230b6Smaya }, 111310e230b6Smaya .is_conversion = true, 111410e230b6Smaya .algebraic_properties = 111510e230b6Smaya 0 111610e230b6Smaya}, 111710e230b6Smaya{ 111810e230b6Smaya .name = "f2i8", 111910e230b6Smaya .num_inputs = 1, 112010e230b6Smaya .output_size = 0, 112110e230b6Smaya .output_type = nir_type_int8, 112210e230b6Smaya .input_sizes = { 112310e230b6Smaya 0 112410e230b6Smaya }, 112510e230b6Smaya .input_types = { 112610e230b6Smaya nir_type_float 112710e230b6Smaya }, 112810e230b6Smaya .is_conversion = true, 112910e230b6Smaya .algebraic_properties = 113010e230b6Smaya 0 113110e230b6Smaya}, 113210e230b6Smaya{ 113310e230b6Smaya .name = "f2u1", 113410e230b6Smaya .num_inputs = 1, 113510e230b6Smaya .output_size = 0, 113610e230b6Smaya .output_type = nir_type_uint1, 113710e230b6Smaya .input_sizes = { 113810e230b6Smaya 0 113910e230b6Smaya }, 114010e230b6Smaya .input_types = { 114110e230b6Smaya nir_type_float 114210e230b6Smaya }, 114310e230b6Smaya .is_conversion = true, 114410e230b6Smaya .algebraic_properties = 114510e230b6Smaya 0 114610e230b6Smaya}, 114710e230b6Smaya{ 114810e230b6Smaya .name = "f2u16", 114910e230b6Smaya .num_inputs = 1, 115010e230b6Smaya .output_size = 0, 115110e230b6Smaya .output_type = nir_type_uint16, 115210e230b6Smaya .input_sizes = { 115310e230b6Smaya 0 115410e230b6Smaya }, 115510e230b6Smaya .input_types = { 115610e230b6Smaya nir_type_float 115710e230b6Smaya }, 115810e230b6Smaya .is_conversion = true, 115910e230b6Smaya .algebraic_properties = 116010e230b6Smaya 0 116110e230b6Smaya}, 116210e230b6Smaya{ 116310e230b6Smaya .name = "f2u32", 116410e230b6Smaya .num_inputs = 1, 116510e230b6Smaya .output_size = 0, 116610e230b6Smaya .output_type = nir_type_uint32, 116710e230b6Smaya .input_sizes = { 116810e230b6Smaya 0 116910e230b6Smaya }, 117010e230b6Smaya .input_types = { 117110e230b6Smaya nir_type_float 117210e230b6Smaya }, 117310e230b6Smaya .is_conversion = true, 117410e230b6Smaya .algebraic_properties = 117510e230b6Smaya 0 117610e230b6Smaya}, 117710e230b6Smaya{ 117810e230b6Smaya .name = "f2u64", 117910e230b6Smaya .num_inputs = 1, 118010e230b6Smaya .output_size = 0, 118110e230b6Smaya .output_type = nir_type_uint64, 118210e230b6Smaya .input_sizes = { 118310e230b6Smaya 0 118410e230b6Smaya }, 118510e230b6Smaya .input_types = { 118610e230b6Smaya nir_type_float 118710e230b6Smaya }, 118810e230b6Smaya .is_conversion = true, 118910e230b6Smaya .algebraic_properties = 119010e230b6Smaya 0 119110e230b6Smaya}, 119210e230b6Smaya{ 119310e230b6Smaya .name = "f2u8", 119410e230b6Smaya .num_inputs = 1, 119510e230b6Smaya .output_size = 0, 119610e230b6Smaya .output_type = nir_type_uint8, 119710e230b6Smaya .input_sizes = { 119810e230b6Smaya 0 119910e230b6Smaya }, 120010e230b6Smaya .input_types = { 120110e230b6Smaya nir_type_float 120210e230b6Smaya }, 120310e230b6Smaya .is_conversion = true, 120410e230b6Smaya .algebraic_properties = 120510e230b6Smaya 0 120610e230b6Smaya}, 120710e230b6Smaya{ 120810e230b6Smaya .name = "fabs", 120910e230b6Smaya .num_inputs = 1, 121010e230b6Smaya .output_size = 0, 121110e230b6Smaya .output_type = nir_type_float, 121210e230b6Smaya .input_sizes = { 121310e230b6Smaya 0 121410e230b6Smaya }, 121510e230b6Smaya .input_types = { 121610e230b6Smaya nir_type_float 121710e230b6Smaya }, 121810e230b6Smaya .is_conversion = false, 121910e230b6Smaya .algebraic_properties = 122010e230b6Smaya 0 122110e230b6Smaya}, 122210e230b6Smaya{ 122310e230b6Smaya .name = "fadd", 122410e230b6Smaya .num_inputs = 2, 122510e230b6Smaya .output_size = 0, 122610e230b6Smaya .output_type = nir_type_float, 122710e230b6Smaya .input_sizes = { 122810e230b6Smaya 0, 0 122910e230b6Smaya }, 123010e230b6Smaya .input_types = { 123110e230b6Smaya nir_type_float, nir_type_float 123210e230b6Smaya }, 123310e230b6Smaya .is_conversion = false, 123410e230b6Smaya .algebraic_properties = 123510e230b6Smaya NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 123610e230b6Smaya}, 123710e230b6Smaya{ 123810e230b6Smaya .name = "fall_equal2", 123910e230b6Smaya .num_inputs = 2, 124010e230b6Smaya .output_size = 1, 124110e230b6Smaya .output_type = nir_type_float32, 124210e230b6Smaya .input_sizes = { 124310e230b6Smaya 2, 2 124410e230b6Smaya }, 124510e230b6Smaya .input_types = { 124610e230b6Smaya nir_type_float32, nir_type_float32 124710e230b6Smaya }, 124810e230b6Smaya .is_conversion = false, 124910e230b6Smaya .algebraic_properties = 125010e230b6Smaya NIR_OP_IS_COMMUTATIVE 125110e230b6Smaya}, 125210e230b6Smaya{ 125310e230b6Smaya .name = "fall_equal3", 125410e230b6Smaya .num_inputs = 2, 125510e230b6Smaya .output_size = 1, 125610e230b6Smaya .output_type = nir_type_float32, 125710e230b6Smaya .input_sizes = { 125810e230b6Smaya 3, 3 125910e230b6Smaya }, 126010e230b6Smaya .input_types = { 126110e230b6Smaya nir_type_float32, nir_type_float32 126210e230b6Smaya }, 126310e230b6Smaya .is_conversion = false, 126410e230b6Smaya .algebraic_properties = 126510e230b6Smaya NIR_OP_IS_COMMUTATIVE 126610e230b6Smaya}, 126710e230b6Smaya{ 126810e230b6Smaya .name = "fall_equal4", 126910e230b6Smaya .num_inputs = 2, 127010e230b6Smaya .output_size = 1, 127110e230b6Smaya .output_type = nir_type_float32, 127210e230b6Smaya .input_sizes = { 127310e230b6Smaya 4, 4 127410e230b6Smaya }, 127510e230b6Smaya .input_types = { 127610e230b6Smaya nir_type_float32, nir_type_float32 127710e230b6Smaya }, 127810e230b6Smaya .is_conversion = false, 127910e230b6Smaya .algebraic_properties = 128010e230b6Smaya NIR_OP_IS_COMMUTATIVE 128110e230b6Smaya}, 128210e230b6Smaya{ 128310e230b6Smaya .name = "fand", 128410e230b6Smaya .num_inputs = 2, 128510e230b6Smaya .output_size = 0, 128610e230b6Smaya .output_type = nir_type_float32, 128710e230b6Smaya .input_sizes = { 128810e230b6Smaya 0, 0 128910e230b6Smaya }, 129010e230b6Smaya .input_types = { 129110e230b6Smaya nir_type_float32, nir_type_float32 129210e230b6Smaya }, 129310e230b6Smaya .is_conversion = false, 129410e230b6Smaya .algebraic_properties = 129510e230b6Smaya NIR_OP_IS_COMMUTATIVE 129610e230b6Smaya}, 129710e230b6Smaya{ 129810e230b6Smaya .name = "fany_nequal2", 129910e230b6Smaya .num_inputs = 2, 130010e230b6Smaya .output_size = 1, 130110e230b6Smaya .output_type = nir_type_float32, 130210e230b6Smaya .input_sizes = { 130310e230b6Smaya 2, 2 130410e230b6Smaya }, 130510e230b6Smaya .input_types = { 130610e230b6Smaya nir_type_float32, nir_type_float32 130710e230b6Smaya }, 130810e230b6Smaya .is_conversion = false, 130910e230b6Smaya .algebraic_properties = 131010e230b6Smaya NIR_OP_IS_COMMUTATIVE 131110e230b6Smaya}, 131210e230b6Smaya{ 131310e230b6Smaya .name = "fany_nequal3", 131410e230b6Smaya .num_inputs = 2, 131510e230b6Smaya .output_size = 1, 131610e230b6Smaya .output_type = nir_type_float32, 131710e230b6Smaya .input_sizes = { 131810e230b6Smaya 3, 3 131910e230b6Smaya }, 132010e230b6Smaya .input_types = { 132110e230b6Smaya nir_type_float32, nir_type_float32 132210e230b6Smaya }, 132310e230b6Smaya .is_conversion = false, 132410e230b6Smaya .algebraic_properties = 132510e230b6Smaya NIR_OP_IS_COMMUTATIVE 132610e230b6Smaya}, 132710e230b6Smaya{ 132810e230b6Smaya .name = "fany_nequal4", 132910e230b6Smaya .num_inputs = 2, 133010e230b6Smaya .output_size = 1, 133110e230b6Smaya .output_type = nir_type_float32, 133210e230b6Smaya .input_sizes = { 133310e230b6Smaya 4, 4 133410e230b6Smaya }, 133510e230b6Smaya .input_types = { 133610e230b6Smaya nir_type_float32, nir_type_float32 133710e230b6Smaya }, 133810e230b6Smaya .is_conversion = false, 133910e230b6Smaya .algebraic_properties = 134010e230b6Smaya NIR_OP_IS_COMMUTATIVE 134110e230b6Smaya}, 134210e230b6Smaya{ 134310e230b6Smaya .name = "fceil", 134410e230b6Smaya .num_inputs = 1, 134510e230b6Smaya .output_size = 0, 134610e230b6Smaya .output_type = nir_type_float, 134710e230b6Smaya .input_sizes = { 134810e230b6Smaya 0 134910e230b6Smaya }, 135010e230b6Smaya .input_types = { 135110e230b6Smaya nir_type_float 135210e230b6Smaya }, 135310e230b6Smaya .is_conversion = false, 135410e230b6Smaya .algebraic_properties = 135510e230b6Smaya 0 135610e230b6Smaya}, 135710e230b6Smaya{ 135810e230b6Smaya .name = "fcos", 135910e230b6Smaya .num_inputs = 1, 136010e230b6Smaya .output_size = 0, 136110e230b6Smaya .output_type = nir_type_float, 136210e230b6Smaya .input_sizes = { 136310e230b6Smaya 0 136410e230b6Smaya }, 136510e230b6Smaya .input_types = { 136610e230b6Smaya nir_type_float 136710e230b6Smaya }, 136810e230b6Smaya .is_conversion = false, 136910e230b6Smaya .algebraic_properties = 137010e230b6Smaya 0 137110e230b6Smaya}, 137210e230b6Smaya{ 137310e230b6Smaya .name = "fcsel", 137410e230b6Smaya .num_inputs = 3, 137510e230b6Smaya .output_size = 0, 137610e230b6Smaya .output_type = nir_type_float32, 137710e230b6Smaya .input_sizes = { 137810e230b6Smaya 0, 0, 0 137910e230b6Smaya }, 138010e230b6Smaya .input_types = { 138110e230b6Smaya nir_type_float32, nir_type_float32, nir_type_float32 138210e230b6Smaya }, 138310e230b6Smaya .is_conversion = false, 138410e230b6Smaya .algebraic_properties = 138510e230b6Smaya 0 138610e230b6Smaya}, 138710e230b6Smaya{ 138810e230b6Smaya .name = "fddx", 138910e230b6Smaya .num_inputs = 1, 139010e230b6Smaya .output_size = 0, 139110e230b6Smaya .output_type = nir_type_float, 139210e230b6Smaya .input_sizes = { 139310e230b6Smaya 0 139410e230b6Smaya }, 139510e230b6Smaya .input_types = { 139610e230b6Smaya nir_type_float 139710e230b6Smaya }, 139810e230b6Smaya .is_conversion = false, 139910e230b6Smaya .algebraic_properties = 140010e230b6Smaya 0 140110e230b6Smaya}, 140210e230b6Smaya{ 140310e230b6Smaya .name = "fddx_coarse", 140410e230b6Smaya .num_inputs = 1, 140510e230b6Smaya .output_size = 0, 140610e230b6Smaya .output_type = nir_type_float, 140710e230b6Smaya .input_sizes = { 140810e230b6Smaya 0 140910e230b6Smaya }, 141010e230b6Smaya .input_types = { 141110e230b6Smaya nir_type_float 141210e230b6Smaya }, 141310e230b6Smaya .is_conversion = false, 141410e230b6Smaya .algebraic_properties = 141510e230b6Smaya 0 141610e230b6Smaya}, 141710e230b6Smaya{ 141810e230b6Smaya .name = "fddx_fine", 141910e230b6Smaya .num_inputs = 1, 142010e230b6Smaya .output_size = 0, 142110e230b6Smaya .output_type = nir_type_float, 142210e230b6Smaya .input_sizes = { 142310e230b6Smaya 0 142410e230b6Smaya }, 142510e230b6Smaya .input_types = { 142610e230b6Smaya nir_type_float 142710e230b6Smaya }, 142810e230b6Smaya .is_conversion = false, 142910e230b6Smaya .algebraic_properties = 143010e230b6Smaya 0 143110e230b6Smaya}, 143210e230b6Smaya{ 143310e230b6Smaya .name = "fddy", 143410e230b6Smaya .num_inputs = 1, 143510e230b6Smaya .output_size = 0, 143610e230b6Smaya .output_type = nir_type_float, 143710e230b6Smaya .input_sizes = { 143810e230b6Smaya 0 143910e230b6Smaya }, 144010e230b6Smaya .input_types = { 144110e230b6Smaya nir_type_float 144210e230b6Smaya }, 144310e230b6Smaya .is_conversion = false, 144410e230b6Smaya .algebraic_properties = 144510e230b6Smaya 0 144610e230b6Smaya}, 144710e230b6Smaya{ 144810e230b6Smaya .name = "fddy_coarse", 144910e230b6Smaya .num_inputs = 1, 145010e230b6Smaya .output_size = 0, 145110e230b6Smaya .output_type = nir_type_float, 145210e230b6Smaya .input_sizes = { 145310e230b6Smaya 0 145410e230b6Smaya }, 145510e230b6Smaya .input_types = { 145610e230b6Smaya nir_type_float 145710e230b6Smaya }, 145810e230b6Smaya .is_conversion = false, 145910e230b6Smaya .algebraic_properties = 146010e230b6Smaya 0 146110e230b6Smaya}, 146210e230b6Smaya{ 146310e230b6Smaya .name = "fddy_fine", 146410e230b6Smaya .num_inputs = 1, 146510e230b6Smaya .output_size = 0, 146610e230b6Smaya .output_type = nir_type_float, 146710e230b6Smaya .input_sizes = { 146810e230b6Smaya 0 146910e230b6Smaya }, 147010e230b6Smaya .input_types = { 147110e230b6Smaya nir_type_float 147210e230b6Smaya }, 147310e230b6Smaya .is_conversion = false, 147410e230b6Smaya .algebraic_properties = 147510e230b6Smaya 0 147610e230b6Smaya}, 147710e230b6Smaya{ 147810e230b6Smaya .name = "fdiv", 147910e230b6Smaya .num_inputs = 2, 148010e230b6Smaya .output_size = 0, 148110e230b6Smaya .output_type = nir_type_float, 148210e230b6Smaya .input_sizes = { 148310e230b6Smaya 0, 0 148410e230b6Smaya }, 148510e230b6Smaya .input_types = { 148610e230b6Smaya nir_type_float, nir_type_float 148710e230b6Smaya }, 148810e230b6Smaya .is_conversion = false, 148910e230b6Smaya .algebraic_properties = 149010e230b6Smaya 0 149110e230b6Smaya}, 149210e230b6Smaya{ 149310e230b6Smaya .name = "fdot2", 149410e230b6Smaya .num_inputs = 2, 149510e230b6Smaya .output_size = 1, 149610e230b6Smaya .output_type = nir_type_float, 149710e230b6Smaya .input_sizes = { 149810e230b6Smaya 2, 2 149910e230b6Smaya }, 150010e230b6Smaya .input_types = { 150110e230b6Smaya nir_type_float, nir_type_float 150210e230b6Smaya }, 150310e230b6Smaya .is_conversion = false, 150410e230b6Smaya .algebraic_properties = 150510e230b6Smaya NIR_OP_IS_COMMUTATIVE 150610e230b6Smaya}, 150710e230b6Smaya{ 150810e230b6Smaya .name = "fdot3", 150910e230b6Smaya .num_inputs = 2, 151010e230b6Smaya .output_size = 1, 151110e230b6Smaya .output_type = nir_type_float, 151210e230b6Smaya .input_sizes = { 151310e230b6Smaya 3, 3 151410e230b6Smaya }, 151510e230b6Smaya .input_types = { 151610e230b6Smaya nir_type_float, nir_type_float 151710e230b6Smaya }, 151810e230b6Smaya .is_conversion = false, 151910e230b6Smaya .algebraic_properties = 152010e230b6Smaya NIR_OP_IS_COMMUTATIVE 152110e230b6Smaya}, 152210e230b6Smaya{ 152310e230b6Smaya .name = "fdot4", 152410e230b6Smaya .num_inputs = 2, 152510e230b6Smaya .output_size = 1, 152610e230b6Smaya .output_type = nir_type_float, 152710e230b6Smaya .input_sizes = { 152810e230b6Smaya 4, 4 152910e230b6Smaya }, 153010e230b6Smaya .input_types = { 153110e230b6Smaya nir_type_float, nir_type_float 153210e230b6Smaya }, 153310e230b6Smaya .is_conversion = false, 153410e230b6Smaya .algebraic_properties = 153510e230b6Smaya NIR_OP_IS_COMMUTATIVE 153610e230b6Smaya}, 153710e230b6Smaya{ 153810e230b6Smaya .name = "fdot_replicated2", 153910e230b6Smaya .num_inputs = 2, 154010e230b6Smaya .output_size = 4, 154110e230b6Smaya .output_type = nir_type_float, 154210e230b6Smaya .input_sizes = { 154310e230b6Smaya 2, 2 154410e230b6Smaya }, 154510e230b6Smaya .input_types = { 154610e230b6Smaya nir_type_float, nir_type_float 154710e230b6Smaya }, 154810e230b6Smaya .is_conversion = false, 154910e230b6Smaya .algebraic_properties = 155010e230b6Smaya NIR_OP_IS_COMMUTATIVE 155110e230b6Smaya}, 155210e230b6Smaya{ 155310e230b6Smaya .name = "fdot_replicated3", 155410e230b6Smaya .num_inputs = 2, 155510e230b6Smaya .output_size = 4, 155610e230b6Smaya .output_type = nir_type_float, 155710e230b6Smaya .input_sizes = { 155810e230b6Smaya 3, 3 155910e230b6Smaya }, 156010e230b6Smaya .input_types = { 156110e230b6Smaya nir_type_float, nir_type_float 156210e230b6Smaya }, 156310e230b6Smaya .is_conversion = false, 156410e230b6Smaya .algebraic_properties = 156510e230b6Smaya NIR_OP_IS_COMMUTATIVE 156610e230b6Smaya}, 156710e230b6Smaya{ 156810e230b6Smaya .name = "fdot_replicated4", 156910e230b6Smaya .num_inputs = 2, 157010e230b6Smaya .output_size = 4, 157110e230b6Smaya .output_type = nir_type_float, 157210e230b6Smaya .input_sizes = { 157310e230b6Smaya 4, 4 157410e230b6Smaya }, 157510e230b6Smaya .input_types = { 157610e230b6Smaya nir_type_float, nir_type_float 157710e230b6Smaya }, 157810e230b6Smaya .is_conversion = false, 157910e230b6Smaya .algebraic_properties = 158010e230b6Smaya NIR_OP_IS_COMMUTATIVE 158110e230b6Smaya}, 158210e230b6Smaya{ 158310e230b6Smaya .name = "fdph", 158410e230b6Smaya .num_inputs = 2, 158510e230b6Smaya .output_size = 1, 158610e230b6Smaya .output_type = nir_type_float, 158710e230b6Smaya .input_sizes = { 158810e230b6Smaya 3, 4 158910e230b6Smaya }, 159010e230b6Smaya .input_types = { 159110e230b6Smaya nir_type_float, nir_type_float 159210e230b6Smaya }, 159310e230b6Smaya .is_conversion = false, 159410e230b6Smaya .algebraic_properties = 159510e230b6Smaya 0 159610e230b6Smaya}, 159710e230b6Smaya{ 159810e230b6Smaya .name = "fdph_replicated", 159910e230b6Smaya .num_inputs = 2, 160010e230b6Smaya .output_size = 4, 160110e230b6Smaya .output_type = nir_type_float, 160210e230b6Smaya .input_sizes = { 160310e230b6Smaya 3, 4 160410e230b6Smaya }, 160510e230b6Smaya .input_types = { 160610e230b6Smaya nir_type_float, nir_type_float 160710e230b6Smaya }, 160810e230b6Smaya .is_conversion = false, 160910e230b6Smaya .algebraic_properties = 161010e230b6Smaya 0 161110e230b6Smaya}, 161210e230b6Smaya{ 161310e230b6Smaya .name = "feq", 161410e230b6Smaya .num_inputs = 2, 161510e230b6Smaya .output_size = 0, 161610e230b6Smaya .output_type = nir_type_bool1, 161710e230b6Smaya .input_sizes = { 161810e230b6Smaya 0, 0 161910e230b6Smaya }, 162010e230b6Smaya .input_types = { 162110e230b6Smaya nir_type_float, nir_type_float 162210e230b6Smaya }, 162310e230b6Smaya .is_conversion = false, 162410e230b6Smaya .algebraic_properties = 162510e230b6Smaya NIR_OP_IS_COMMUTATIVE 162610e230b6Smaya}, 162710e230b6Smaya{ 162810e230b6Smaya .name = "feq32", 162910e230b6Smaya .num_inputs = 2, 163010e230b6Smaya .output_size = 0, 163110e230b6Smaya .output_type = nir_type_bool32, 163210e230b6Smaya .input_sizes = { 163310e230b6Smaya 0, 0 163410e230b6Smaya }, 163510e230b6Smaya .input_types = { 163610e230b6Smaya nir_type_float, nir_type_float 163710e230b6Smaya }, 163810e230b6Smaya .is_conversion = false, 163910e230b6Smaya .algebraic_properties = 164010e230b6Smaya NIR_OP_IS_COMMUTATIVE 164110e230b6Smaya}, 164210e230b6Smaya{ 164310e230b6Smaya .name = "fexp2", 164410e230b6Smaya .num_inputs = 1, 164510e230b6Smaya .output_size = 0, 164610e230b6Smaya .output_type = nir_type_float, 164710e230b6Smaya .input_sizes = { 164810e230b6Smaya 0 164910e230b6Smaya }, 165010e230b6Smaya .input_types = { 165110e230b6Smaya nir_type_float 165210e230b6Smaya }, 165310e230b6Smaya .is_conversion = false, 165410e230b6Smaya .algebraic_properties = 165510e230b6Smaya 0 165610e230b6Smaya}, 165710e230b6Smaya{ 165810e230b6Smaya .name = "ffloor", 165910e230b6Smaya .num_inputs = 1, 166010e230b6Smaya .output_size = 0, 166110e230b6Smaya .output_type = nir_type_float, 166210e230b6Smaya .input_sizes = { 166310e230b6Smaya 0 166410e230b6Smaya }, 166510e230b6Smaya .input_types = { 166610e230b6Smaya nir_type_float 166710e230b6Smaya }, 166810e230b6Smaya .is_conversion = false, 166910e230b6Smaya .algebraic_properties = 167010e230b6Smaya 0 167110e230b6Smaya}, 167210e230b6Smaya{ 167310e230b6Smaya .name = "ffma", 167410e230b6Smaya .num_inputs = 3, 167510e230b6Smaya .output_size = 0, 167610e230b6Smaya .output_type = nir_type_float, 167710e230b6Smaya .input_sizes = { 167810e230b6Smaya 0, 0, 0 167910e230b6Smaya }, 168010e230b6Smaya .input_types = { 168110e230b6Smaya nir_type_float, nir_type_float, nir_type_float 168210e230b6Smaya }, 168310e230b6Smaya .is_conversion = false, 168410e230b6Smaya .algebraic_properties = 168510e230b6Smaya 0 168610e230b6Smaya}, 168710e230b6Smaya{ 168810e230b6Smaya .name = "ffract", 168910e230b6Smaya .num_inputs = 1, 169010e230b6Smaya .output_size = 0, 169110e230b6Smaya .output_type = nir_type_float, 169210e230b6Smaya .input_sizes = { 169310e230b6Smaya 0 169410e230b6Smaya }, 169510e230b6Smaya .input_types = { 169610e230b6Smaya nir_type_float 169710e230b6Smaya }, 169810e230b6Smaya .is_conversion = false, 169910e230b6Smaya .algebraic_properties = 170010e230b6Smaya 0 170110e230b6Smaya}, 170210e230b6Smaya{ 170310e230b6Smaya .name = "fge", 170410e230b6Smaya .num_inputs = 2, 170510e230b6Smaya .output_size = 0, 170610e230b6Smaya .output_type = nir_type_bool1, 170710e230b6Smaya .input_sizes = { 170810e230b6Smaya 0, 0 170910e230b6Smaya }, 171010e230b6Smaya .input_types = { 171110e230b6Smaya nir_type_float, nir_type_float 171210e230b6Smaya }, 171310e230b6Smaya .is_conversion = false, 171410e230b6Smaya .algebraic_properties = 171510e230b6Smaya 0 171610e230b6Smaya}, 171710e230b6Smaya{ 171810e230b6Smaya .name = "fge32", 171910e230b6Smaya .num_inputs = 2, 172010e230b6Smaya .output_size = 0, 172110e230b6Smaya .output_type = nir_type_bool32, 172210e230b6Smaya .input_sizes = { 172310e230b6Smaya 0, 0 172410e230b6Smaya }, 172510e230b6Smaya .input_types = { 172610e230b6Smaya nir_type_float, nir_type_float 172710e230b6Smaya }, 172810e230b6Smaya .is_conversion = false, 172910e230b6Smaya .algebraic_properties = 173010e230b6Smaya 0 173110e230b6Smaya}, 173210e230b6Smaya{ 173310e230b6Smaya .name = "find_lsb", 173410e230b6Smaya .num_inputs = 1, 173510e230b6Smaya .output_size = 0, 173610e230b6Smaya .output_type = nir_type_int32, 173710e230b6Smaya .input_sizes = { 173810e230b6Smaya 0 173910e230b6Smaya }, 174010e230b6Smaya .input_types = { 174110e230b6Smaya nir_type_int 174210e230b6Smaya }, 174310e230b6Smaya .is_conversion = false, 174410e230b6Smaya .algebraic_properties = 174510e230b6Smaya 0 174610e230b6Smaya}, 174710e230b6Smaya{ 174810e230b6Smaya .name = "flog2", 174910e230b6Smaya .num_inputs = 1, 175010e230b6Smaya .output_size = 0, 175110e230b6Smaya .output_type = nir_type_float, 175210e230b6Smaya .input_sizes = { 175310e230b6Smaya 0 175410e230b6Smaya }, 175510e230b6Smaya .input_types = { 175610e230b6Smaya nir_type_float 175710e230b6Smaya }, 175810e230b6Smaya .is_conversion = false, 175910e230b6Smaya .algebraic_properties = 176010e230b6Smaya 0 176110e230b6Smaya}, 176210e230b6Smaya{ 176310e230b6Smaya .name = "flrp", 176410e230b6Smaya .num_inputs = 3, 176510e230b6Smaya .output_size = 0, 176610e230b6Smaya .output_type = nir_type_float, 176710e230b6Smaya .input_sizes = { 176810e230b6Smaya 0, 0, 0 176910e230b6Smaya }, 177010e230b6Smaya .input_types = { 177110e230b6Smaya nir_type_float, nir_type_float, nir_type_float 177210e230b6Smaya }, 177310e230b6Smaya .is_conversion = false, 177410e230b6Smaya .algebraic_properties = 177510e230b6Smaya 0 177610e230b6Smaya}, 177710e230b6Smaya{ 177810e230b6Smaya .name = "flt", 177910e230b6Smaya .num_inputs = 2, 178010e230b6Smaya .output_size = 0, 178110e230b6Smaya .output_type = nir_type_bool1, 178210e230b6Smaya .input_sizes = { 178310e230b6Smaya 0, 0 178410e230b6Smaya }, 178510e230b6Smaya .input_types = { 178610e230b6Smaya nir_type_float, nir_type_float 178710e230b6Smaya }, 178810e230b6Smaya .is_conversion = false, 178910e230b6Smaya .algebraic_properties = 179010e230b6Smaya 0 179110e230b6Smaya}, 179210e230b6Smaya{ 179310e230b6Smaya .name = "flt32", 179410e230b6Smaya .num_inputs = 2, 179510e230b6Smaya .output_size = 0, 179610e230b6Smaya .output_type = nir_type_bool32, 179710e230b6Smaya .input_sizes = { 179810e230b6Smaya 0, 0 179910e230b6Smaya }, 180010e230b6Smaya .input_types = { 180110e230b6Smaya nir_type_float, nir_type_float 180210e230b6Smaya }, 180310e230b6Smaya .is_conversion = false, 180410e230b6Smaya .algebraic_properties = 180510e230b6Smaya 0 180610e230b6Smaya}, 180710e230b6Smaya{ 180810e230b6Smaya .name = "fmax", 180910e230b6Smaya .num_inputs = 2, 181010e230b6Smaya .output_size = 0, 181110e230b6Smaya .output_type = nir_type_float, 181210e230b6Smaya .input_sizes = { 181310e230b6Smaya 0, 0 181410e230b6Smaya }, 181510e230b6Smaya .input_types = { 181610e230b6Smaya nir_type_float, nir_type_float 181710e230b6Smaya }, 181810e230b6Smaya .is_conversion = false, 181910e230b6Smaya .algebraic_properties = 182010e230b6Smaya 0 182110e230b6Smaya}, 182210e230b6Smaya{ 182310e230b6Smaya .name = "fmax3", 182410e230b6Smaya .num_inputs = 3, 182510e230b6Smaya .output_size = 0, 182610e230b6Smaya .output_type = nir_type_float, 182710e230b6Smaya .input_sizes = { 182810e230b6Smaya 0, 0, 0 182910e230b6Smaya }, 183010e230b6Smaya .input_types = { 183110e230b6Smaya nir_type_float, nir_type_float, nir_type_float 183210e230b6Smaya }, 183310e230b6Smaya .is_conversion = false, 183410e230b6Smaya .algebraic_properties = 183510e230b6Smaya 0 183610e230b6Smaya}, 183710e230b6Smaya{ 183810e230b6Smaya .name = "fmed3", 183910e230b6Smaya .num_inputs = 3, 184010e230b6Smaya .output_size = 0, 184110e230b6Smaya .output_type = nir_type_float, 184210e230b6Smaya .input_sizes = { 184310e230b6Smaya 0, 0, 0 184410e230b6Smaya }, 184510e230b6Smaya .input_types = { 184610e230b6Smaya nir_type_float, nir_type_float, nir_type_float 184710e230b6Smaya }, 184810e230b6Smaya .is_conversion = false, 184910e230b6Smaya .algebraic_properties = 185010e230b6Smaya 0 185110e230b6Smaya}, 185210e230b6Smaya{ 185310e230b6Smaya .name = "fmin", 185410e230b6Smaya .num_inputs = 2, 185510e230b6Smaya .output_size = 0, 185610e230b6Smaya .output_type = nir_type_float, 185710e230b6Smaya .input_sizes = { 185810e230b6Smaya 0, 0 185910e230b6Smaya }, 186010e230b6Smaya .input_types = { 186110e230b6Smaya nir_type_float, nir_type_float 186210e230b6Smaya }, 186310e230b6Smaya .is_conversion = false, 186410e230b6Smaya .algebraic_properties = 186510e230b6Smaya 0 186610e230b6Smaya}, 186710e230b6Smaya{ 186810e230b6Smaya .name = "fmin3", 186910e230b6Smaya .num_inputs = 3, 187010e230b6Smaya .output_size = 0, 187110e230b6Smaya .output_type = nir_type_float, 187210e230b6Smaya .input_sizes = { 187310e230b6Smaya 0, 0, 0 187410e230b6Smaya }, 187510e230b6Smaya .input_types = { 187610e230b6Smaya nir_type_float, nir_type_float, nir_type_float 187710e230b6Smaya }, 187810e230b6Smaya .is_conversion = false, 187910e230b6Smaya .algebraic_properties = 188010e230b6Smaya 0 188110e230b6Smaya}, 188210e230b6Smaya{ 188310e230b6Smaya .name = "fmod", 188410e230b6Smaya .num_inputs = 2, 188510e230b6Smaya .output_size = 0, 188610e230b6Smaya .output_type = nir_type_float, 188710e230b6Smaya .input_sizes = { 188810e230b6Smaya 0, 0 188910e230b6Smaya }, 189010e230b6Smaya .input_types = { 189110e230b6Smaya nir_type_float, nir_type_float 189210e230b6Smaya }, 189310e230b6Smaya .is_conversion = false, 189410e230b6Smaya .algebraic_properties = 189510e230b6Smaya 0 189610e230b6Smaya}, 189710e230b6Smaya{ 189810e230b6Smaya .name = "fmov", 189910e230b6Smaya .num_inputs = 1, 190010e230b6Smaya .output_size = 0, 190110e230b6Smaya .output_type = nir_type_float, 190210e230b6Smaya .input_sizes = { 190310e230b6Smaya 0 190410e230b6Smaya }, 190510e230b6Smaya .input_types = { 190610e230b6Smaya nir_type_float 190710e230b6Smaya }, 190810e230b6Smaya .is_conversion = false, 190910e230b6Smaya .algebraic_properties = 191010e230b6Smaya 0 191110e230b6Smaya}, 191210e230b6Smaya{ 191310e230b6Smaya .name = "fmul", 191410e230b6Smaya .num_inputs = 2, 191510e230b6Smaya .output_size = 0, 191610e230b6Smaya .output_type = nir_type_float, 191710e230b6Smaya .input_sizes = { 191810e230b6Smaya 0, 0 191910e230b6Smaya }, 192010e230b6Smaya .input_types = { 192110e230b6Smaya nir_type_float, nir_type_float 192210e230b6Smaya }, 192310e230b6Smaya .is_conversion = false, 192410e230b6Smaya .algebraic_properties = 192510e230b6Smaya NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 192610e230b6Smaya}, 192710e230b6Smaya{ 192810e230b6Smaya .name = "fne", 192910e230b6Smaya .num_inputs = 2, 193010e230b6Smaya .output_size = 0, 193110e230b6Smaya .output_type = nir_type_bool1, 193210e230b6Smaya .input_sizes = { 193310e230b6Smaya 0, 0 193410e230b6Smaya }, 193510e230b6Smaya .input_types = { 193610e230b6Smaya nir_type_float, nir_type_float 193710e230b6Smaya }, 193810e230b6Smaya .is_conversion = false, 193910e230b6Smaya .algebraic_properties = 194010e230b6Smaya NIR_OP_IS_COMMUTATIVE 194110e230b6Smaya}, 194210e230b6Smaya{ 194310e230b6Smaya .name = "fne32", 194410e230b6Smaya .num_inputs = 2, 194510e230b6Smaya .output_size = 0, 194610e230b6Smaya .output_type = nir_type_bool32, 194710e230b6Smaya .input_sizes = { 194810e230b6Smaya 0, 0 194910e230b6Smaya }, 195010e230b6Smaya .input_types = { 195110e230b6Smaya nir_type_float, nir_type_float 195210e230b6Smaya }, 195310e230b6Smaya .is_conversion = false, 195410e230b6Smaya .algebraic_properties = 195510e230b6Smaya NIR_OP_IS_COMMUTATIVE 195610e230b6Smaya}, 195710e230b6Smaya{ 195810e230b6Smaya .name = "fneg", 195910e230b6Smaya .num_inputs = 1, 196010e230b6Smaya .output_size = 0, 196110e230b6Smaya .output_type = nir_type_float, 196210e230b6Smaya .input_sizes = { 196310e230b6Smaya 0 196410e230b6Smaya }, 196510e230b6Smaya .input_types = { 196610e230b6Smaya nir_type_float 196710e230b6Smaya }, 196810e230b6Smaya .is_conversion = false, 196910e230b6Smaya .algebraic_properties = 197010e230b6Smaya 0 197110e230b6Smaya}, 197210e230b6Smaya{ 197310e230b6Smaya .name = "fnoise1_1", 197410e230b6Smaya .num_inputs = 1, 197510e230b6Smaya .output_size = 1, 197610e230b6Smaya .output_type = nir_type_float, 197710e230b6Smaya .input_sizes = { 197810e230b6Smaya 1 197910e230b6Smaya }, 198010e230b6Smaya .input_types = { 198110e230b6Smaya nir_type_float 198210e230b6Smaya }, 198310e230b6Smaya .is_conversion = false, 198410e230b6Smaya .algebraic_properties = 198510e230b6Smaya 0 198610e230b6Smaya}, 198710e230b6Smaya{ 198810e230b6Smaya .name = "fnoise1_2", 198910e230b6Smaya .num_inputs = 1, 199010e230b6Smaya .output_size = 1, 199110e230b6Smaya .output_type = nir_type_float, 199210e230b6Smaya .input_sizes = { 199310e230b6Smaya 2 199410e230b6Smaya }, 199510e230b6Smaya .input_types = { 199610e230b6Smaya nir_type_float 199710e230b6Smaya }, 199810e230b6Smaya .is_conversion = false, 199910e230b6Smaya .algebraic_properties = 200010e230b6Smaya 0 200110e230b6Smaya}, 200210e230b6Smaya{ 200310e230b6Smaya .name = "fnoise1_3", 200410e230b6Smaya .num_inputs = 1, 200510e230b6Smaya .output_size = 1, 200610e230b6Smaya .output_type = nir_type_float, 200710e230b6Smaya .input_sizes = { 200810e230b6Smaya 3 200910e230b6Smaya }, 201010e230b6Smaya .input_types = { 201110e230b6Smaya nir_type_float 201210e230b6Smaya }, 201310e230b6Smaya .is_conversion = false, 201410e230b6Smaya .algebraic_properties = 201510e230b6Smaya 0 201610e230b6Smaya}, 201710e230b6Smaya{ 201810e230b6Smaya .name = "fnoise1_4", 201910e230b6Smaya .num_inputs = 1, 202010e230b6Smaya .output_size = 1, 202110e230b6Smaya .output_type = nir_type_float, 202210e230b6Smaya .input_sizes = { 202310e230b6Smaya 4 202410e230b6Smaya }, 202510e230b6Smaya .input_types = { 202610e230b6Smaya nir_type_float 202710e230b6Smaya }, 202810e230b6Smaya .is_conversion = false, 202910e230b6Smaya .algebraic_properties = 203010e230b6Smaya 0 203110e230b6Smaya}, 203210e230b6Smaya{ 203310e230b6Smaya .name = "fnoise2_1", 203410e230b6Smaya .num_inputs = 1, 203510e230b6Smaya .output_size = 2, 203610e230b6Smaya .output_type = nir_type_float, 203710e230b6Smaya .input_sizes = { 203810e230b6Smaya 1 203910e230b6Smaya }, 204010e230b6Smaya .input_types = { 204110e230b6Smaya nir_type_float 204210e230b6Smaya }, 204310e230b6Smaya .is_conversion = false, 204410e230b6Smaya .algebraic_properties = 204510e230b6Smaya 0 204610e230b6Smaya}, 204710e230b6Smaya{ 204810e230b6Smaya .name = "fnoise2_2", 204910e230b6Smaya .num_inputs = 1, 205010e230b6Smaya .output_size = 2, 205110e230b6Smaya .output_type = nir_type_float, 205210e230b6Smaya .input_sizes = { 205310e230b6Smaya 2 205410e230b6Smaya }, 205510e230b6Smaya .input_types = { 205610e230b6Smaya nir_type_float 205710e230b6Smaya }, 205810e230b6Smaya .is_conversion = false, 205910e230b6Smaya .algebraic_properties = 206010e230b6Smaya 0 206110e230b6Smaya}, 206210e230b6Smaya{ 206310e230b6Smaya .name = "fnoise2_3", 206410e230b6Smaya .num_inputs = 1, 206510e230b6Smaya .output_size = 2, 206610e230b6Smaya .output_type = nir_type_float, 206710e230b6Smaya .input_sizes = { 206810e230b6Smaya 3 206910e230b6Smaya }, 207010e230b6Smaya .input_types = { 207110e230b6Smaya nir_type_float 207210e230b6Smaya }, 207310e230b6Smaya .is_conversion = false, 207410e230b6Smaya .algebraic_properties = 207510e230b6Smaya 0 207610e230b6Smaya}, 207710e230b6Smaya{ 207810e230b6Smaya .name = "fnoise2_4", 207910e230b6Smaya .num_inputs = 1, 208010e230b6Smaya .output_size = 2, 208110e230b6Smaya .output_type = nir_type_float, 208210e230b6Smaya .input_sizes = { 208310e230b6Smaya 4 208410e230b6Smaya }, 208510e230b6Smaya .input_types = { 208610e230b6Smaya nir_type_float 208710e230b6Smaya }, 208810e230b6Smaya .is_conversion = false, 208910e230b6Smaya .algebraic_properties = 209010e230b6Smaya 0 209110e230b6Smaya}, 209210e230b6Smaya{ 209310e230b6Smaya .name = "fnoise3_1", 209410e230b6Smaya .num_inputs = 1, 209510e230b6Smaya .output_size = 3, 209610e230b6Smaya .output_type = nir_type_float, 209710e230b6Smaya .input_sizes = { 209810e230b6Smaya 1 209910e230b6Smaya }, 210010e230b6Smaya .input_types = { 210110e230b6Smaya nir_type_float 210210e230b6Smaya }, 210310e230b6Smaya .is_conversion = false, 210410e230b6Smaya .algebraic_properties = 210510e230b6Smaya 0 210610e230b6Smaya}, 210710e230b6Smaya{ 210810e230b6Smaya .name = "fnoise3_2", 210910e230b6Smaya .num_inputs = 1, 211010e230b6Smaya .output_size = 3, 211110e230b6Smaya .output_type = nir_type_float, 211210e230b6Smaya .input_sizes = { 211310e230b6Smaya 2 211410e230b6Smaya }, 211510e230b6Smaya .input_types = { 211610e230b6Smaya nir_type_float 211710e230b6Smaya }, 211810e230b6Smaya .is_conversion = false, 211910e230b6Smaya .algebraic_properties = 212010e230b6Smaya 0 212110e230b6Smaya}, 212210e230b6Smaya{ 212310e230b6Smaya .name = "fnoise3_3", 212410e230b6Smaya .num_inputs = 1, 212510e230b6Smaya .output_size = 3, 212610e230b6Smaya .output_type = nir_type_float, 212710e230b6Smaya .input_sizes = { 212810e230b6Smaya 3 212910e230b6Smaya }, 213010e230b6Smaya .input_types = { 213110e230b6Smaya nir_type_float 213210e230b6Smaya }, 213310e230b6Smaya .is_conversion = false, 213410e230b6Smaya .algebraic_properties = 213510e230b6Smaya 0 213610e230b6Smaya}, 213710e230b6Smaya{ 213810e230b6Smaya .name = "fnoise3_4", 213910e230b6Smaya .num_inputs = 1, 214010e230b6Smaya .output_size = 3, 214110e230b6Smaya .output_type = nir_type_float, 214210e230b6Smaya .input_sizes = { 214310e230b6Smaya 4 214410e230b6Smaya }, 214510e230b6Smaya .input_types = { 214610e230b6Smaya nir_type_float 214710e230b6Smaya }, 214810e230b6Smaya .is_conversion = false, 214910e230b6Smaya .algebraic_properties = 215010e230b6Smaya 0 215110e230b6Smaya}, 215210e230b6Smaya{ 215310e230b6Smaya .name = "fnoise4_1", 215410e230b6Smaya .num_inputs = 1, 215510e230b6Smaya .output_size = 4, 215610e230b6Smaya .output_type = nir_type_float, 215710e230b6Smaya .input_sizes = { 215810e230b6Smaya 1 215910e230b6Smaya }, 216010e230b6Smaya .input_types = { 216110e230b6Smaya nir_type_float 216210e230b6Smaya }, 216310e230b6Smaya .is_conversion = false, 216410e230b6Smaya .algebraic_properties = 216510e230b6Smaya 0 216610e230b6Smaya}, 216710e230b6Smaya{ 216810e230b6Smaya .name = "fnoise4_2", 216910e230b6Smaya .num_inputs = 1, 217010e230b6Smaya .output_size = 4, 217110e230b6Smaya .output_type = nir_type_float, 217210e230b6Smaya .input_sizes = { 217310e230b6Smaya 2 217410e230b6Smaya }, 217510e230b6Smaya .input_types = { 217610e230b6Smaya nir_type_float 217710e230b6Smaya }, 217810e230b6Smaya .is_conversion = false, 217910e230b6Smaya .algebraic_properties = 218010e230b6Smaya 0 218110e230b6Smaya}, 218210e230b6Smaya{ 218310e230b6Smaya .name = "fnoise4_3", 218410e230b6Smaya .num_inputs = 1, 218510e230b6Smaya .output_size = 4, 218610e230b6Smaya .output_type = nir_type_float, 218710e230b6Smaya .input_sizes = { 218810e230b6Smaya 3 218910e230b6Smaya }, 219010e230b6Smaya .input_types = { 219110e230b6Smaya nir_type_float 219210e230b6Smaya }, 219310e230b6Smaya .is_conversion = false, 219410e230b6Smaya .algebraic_properties = 219510e230b6Smaya 0 219610e230b6Smaya}, 219710e230b6Smaya{ 219810e230b6Smaya .name = "fnoise4_4", 219910e230b6Smaya .num_inputs = 1, 220010e230b6Smaya .output_size = 4, 220110e230b6Smaya .output_type = nir_type_float, 220210e230b6Smaya .input_sizes = { 220310e230b6Smaya 4 220410e230b6Smaya }, 220510e230b6Smaya .input_types = { 220610e230b6Smaya nir_type_float 220710e230b6Smaya }, 220810e230b6Smaya .is_conversion = false, 220910e230b6Smaya .algebraic_properties = 221010e230b6Smaya 0 221110e230b6Smaya}, 221210e230b6Smaya{ 221310e230b6Smaya .name = "fnot", 221410e230b6Smaya .num_inputs = 1, 221510e230b6Smaya .output_size = 0, 221610e230b6Smaya .output_type = nir_type_float, 221710e230b6Smaya .input_sizes = { 221810e230b6Smaya 0 221910e230b6Smaya }, 222010e230b6Smaya .input_types = { 222110e230b6Smaya nir_type_float 222210e230b6Smaya }, 222310e230b6Smaya .is_conversion = false, 222410e230b6Smaya .algebraic_properties = 222510e230b6Smaya 0 222610e230b6Smaya}, 222710e230b6Smaya{ 222810e230b6Smaya .name = "for", 222910e230b6Smaya .num_inputs = 2, 223010e230b6Smaya .output_size = 0, 223110e230b6Smaya .output_type = nir_type_float32, 223210e230b6Smaya .input_sizes = { 223310e230b6Smaya 0, 0 223410e230b6Smaya }, 223510e230b6Smaya .input_types = { 223610e230b6Smaya nir_type_float32, nir_type_float32 223710e230b6Smaya }, 223810e230b6Smaya .is_conversion = false, 223910e230b6Smaya .algebraic_properties = 224010e230b6Smaya NIR_OP_IS_COMMUTATIVE 224110e230b6Smaya}, 224210e230b6Smaya{ 224310e230b6Smaya .name = "fpow", 224410e230b6Smaya .num_inputs = 2, 224510e230b6Smaya .output_size = 0, 224610e230b6Smaya .output_type = nir_type_float, 224710e230b6Smaya .input_sizes = { 224810e230b6Smaya 0, 0 224910e230b6Smaya }, 225010e230b6Smaya .input_types = { 225110e230b6Smaya nir_type_float, nir_type_float 225210e230b6Smaya }, 225310e230b6Smaya .is_conversion = false, 225410e230b6Smaya .algebraic_properties = 225510e230b6Smaya 0 225610e230b6Smaya}, 225710e230b6Smaya{ 225810e230b6Smaya .name = "fquantize2f16", 225910e230b6Smaya .num_inputs = 1, 226010e230b6Smaya .output_size = 0, 226110e230b6Smaya .output_type = nir_type_float, 226210e230b6Smaya .input_sizes = { 226310e230b6Smaya 0 226410e230b6Smaya }, 226510e230b6Smaya .input_types = { 226610e230b6Smaya nir_type_float 226710e230b6Smaya }, 226810e230b6Smaya .is_conversion = false, 226910e230b6Smaya .algebraic_properties = 227010e230b6Smaya 0 227110e230b6Smaya}, 227210e230b6Smaya{ 227310e230b6Smaya .name = "frcp", 227410e230b6Smaya .num_inputs = 1, 227510e230b6Smaya .output_size = 0, 227610e230b6Smaya .output_type = nir_type_float, 227710e230b6Smaya .input_sizes = { 227810e230b6Smaya 0 227910e230b6Smaya }, 228010e230b6Smaya .input_types = { 228110e230b6Smaya nir_type_float 228210e230b6Smaya }, 228310e230b6Smaya .is_conversion = false, 228410e230b6Smaya .algebraic_properties = 228510e230b6Smaya 0 228610e230b6Smaya}, 228710e230b6Smaya{ 228810e230b6Smaya .name = "frem", 228910e230b6Smaya .num_inputs = 2, 229010e230b6Smaya .output_size = 0, 229110e230b6Smaya .output_type = nir_type_float, 229210e230b6Smaya .input_sizes = { 229310e230b6Smaya 0, 0 229410e230b6Smaya }, 229510e230b6Smaya .input_types = { 229610e230b6Smaya nir_type_float, nir_type_float 229710e230b6Smaya }, 229810e230b6Smaya .is_conversion = false, 229910e230b6Smaya .algebraic_properties = 230010e230b6Smaya 0 230110e230b6Smaya}, 230210e230b6Smaya{ 230310e230b6Smaya .name = "frexp_exp", 230410e230b6Smaya .num_inputs = 1, 230510e230b6Smaya .output_size = 0, 230610e230b6Smaya .output_type = nir_type_int32, 230710e230b6Smaya .input_sizes = { 230810e230b6Smaya 0 230910e230b6Smaya }, 231010e230b6Smaya .input_types = { 231110e230b6Smaya nir_type_float 231210e230b6Smaya }, 231310e230b6Smaya .is_conversion = false, 231410e230b6Smaya .algebraic_properties = 231510e230b6Smaya 0 231610e230b6Smaya}, 231710e230b6Smaya{ 231810e230b6Smaya .name = "frexp_sig", 231910e230b6Smaya .num_inputs = 1, 232010e230b6Smaya .output_size = 0, 232110e230b6Smaya .output_type = nir_type_float, 232210e230b6Smaya .input_sizes = { 232310e230b6Smaya 0 232410e230b6Smaya }, 232510e230b6Smaya .input_types = { 232610e230b6Smaya nir_type_float 232710e230b6Smaya }, 232810e230b6Smaya .is_conversion = false, 232910e230b6Smaya .algebraic_properties = 233010e230b6Smaya 0 233110e230b6Smaya}, 233210e230b6Smaya{ 233310e230b6Smaya .name = "fround_even", 233410e230b6Smaya .num_inputs = 1, 233510e230b6Smaya .output_size = 0, 233610e230b6Smaya .output_type = nir_type_float, 233710e230b6Smaya .input_sizes = { 233810e230b6Smaya 0 233910e230b6Smaya }, 234010e230b6Smaya .input_types = { 234110e230b6Smaya nir_type_float 234210e230b6Smaya }, 234310e230b6Smaya .is_conversion = false, 234410e230b6Smaya .algebraic_properties = 234510e230b6Smaya 0 234610e230b6Smaya}, 234710e230b6Smaya{ 234810e230b6Smaya .name = "frsq", 234910e230b6Smaya .num_inputs = 1, 235010e230b6Smaya .output_size = 0, 235110e230b6Smaya .output_type = nir_type_float, 235210e230b6Smaya .input_sizes = { 235310e230b6Smaya 0 235410e230b6Smaya }, 235510e230b6Smaya .input_types = { 235610e230b6Smaya nir_type_float 235710e230b6Smaya }, 235810e230b6Smaya .is_conversion = false, 235910e230b6Smaya .algebraic_properties = 236010e230b6Smaya 0 236110e230b6Smaya}, 236210e230b6Smaya{ 236310e230b6Smaya .name = "fsat", 236410e230b6Smaya .num_inputs = 1, 236510e230b6Smaya .output_size = 0, 236610e230b6Smaya .output_type = nir_type_float, 236710e230b6Smaya .input_sizes = { 236810e230b6Smaya 0 236910e230b6Smaya }, 237010e230b6Smaya .input_types = { 237110e230b6Smaya nir_type_float 237210e230b6Smaya }, 237310e230b6Smaya .is_conversion = false, 237410e230b6Smaya .algebraic_properties = 237510e230b6Smaya 0 237610e230b6Smaya}, 237710e230b6Smaya{ 237810e230b6Smaya .name = "fsign", 237910e230b6Smaya .num_inputs = 1, 238010e230b6Smaya .output_size = 0, 238110e230b6Smaya .output_type = nir_type_float, 238210e230b6Smaya .input_sizes = { 238310e230b6Smaya 0 238410e230b6Smaya }, 238510e230b6Smaya .input_types = { 238610e230b6Smaya nir_type_float 238710e230b6Smaya }, 238810e230b6Smaya .is_conversion = false, 238910e230b6Smaya .algebraic_properties = 239010e230b6Smaya 0 239110e230b6Smaya}, 239210e230b6Smaya{ 239310e230b6Smaya .name = "fsin", 239410e230b6Smaya .num_inputs = 1, 239510e230b6Smaya .output_size = 0, 239610e230b6Smaya .output_type = nir_type_float, 239710e230b6Smaya .input_sizes = { 239810e230b6Smaya 0 239910e230b6Smaya }, 240010e230b6Smaya .input_types = { 240110e230b6Smaya nir_type_float 240210e230b6Smaya }, 240310e230b6Smaya .is_conversion = false, 240410e230b6Smaya .algebraic_properties = 240510e230b6Smaya 0 240610e230b6Smaya}, 240710e230b6Smaya{ 240810e230b6Smaya .name = "fsqrt", 240910e230b6Smaya .num_inputs = 1, 241010e230b6Smaya .output_size = 0, 241110e230b6Smaya .output_type = nir_type_float, 241210e230b6Smaya .input_sizes = { 241310e230b6Smaya 0 241410e230b6Smaya }, 241510e230b6Smaya .input_types = { 241610e230b6Smaya nir_type_float 241710e230b6Smaya }, 241810e230b6Smaya .is_conversion = false, 241910e230b6Smaya .algebraic_properties = 242010e230b6Smaya 0 242110e230b6Smaya}, 242210e230b6Smaya{ 242310e230b6Smaya .name = "fsub", 242410e230b6Smaya .num_inputs = 2, 242510e230b6Smaya .output_size = 0, 242610e230b6Smaya .output_type = nir_type_float, 242710e230b6Smaya .input_sizes = { 242810e230b6Smaya 0, 0 242910e230b6Smaya }, 243010e230b6Smaya .input_types = { 243110e230b6Smaya nir_type_float, nir_type_float 243210e230b6Smaya }, 243310e230b6Smaya .is_conversion = false, 243410e230b6Smaya .algebraic_properties = 243510e230b6Smaya 0 243610e230b6Smaya}, 243710e230b6Smaya{ 243810e230b6Smaya .name = "ftrunc", 243910e230b6Smaya .num_inputs = 1, 244010e230b6Smaya .output_size = 0, 244110e230b6Smaya .output_type = nir_type_float, 244210e230b6Smaya .input_sizes = { 244310e230b6Smaya 0 244410e230b6Smaya }, 244510e230b6Smaya .input_types = { 244610e230b6Smaya nir_type_float 244710e230b6Smaya }, 244810e230b6Smaya .is_conversion = false, 244910e230b6Smaya .algebraic_properties = 245010e230b6Smaya 0 245110e230b6Smaya}, 245210e230b6Smaya{ 245310e230b6Smaya .name = "fxor", 245410e230b6Smaya .num_inputs = 2, 245510e230b6Smaya .output_size = 0, 245610e230b6Smaya .output_type = nir_type_float32, 245710e230b6Smaya .input_sizes = { 245810e230b6Smaya 0, 0 245910e230b6Smaya }, 246010e230b6Smaya .input_types = { 246110e230b6Smaya nir_type_float32, nir_type_float32 246210e230b6Smaya }, 246310e230b6Smaya .is_conversion = false, 246410e230b6Smaya .algebraic_properties = 246510e230b6Smaya NIR_OP_IS_COMMUTATIVE 246610e230b6Smaya}, 246710e230b6Smaya{ 246810e230b6Smaya .name = "i2b1", 246910e230b6Smaya .num_inputs = 1, 247010e230b6Smaya .output_size = 0, 247110e230b6Smaya .output_type = nir_type_bool1, 247210e230b6Smaya .input_sizes = { 247310e230b6Smaya 0 247410e230b6Smaya }, 247510e230b6Smaya .input_types = { 247610e230b6Smaya nir_type_int 247710e230b6Smaya }, 247810e230b6Smaya .is_conversion = true, 247910e230b6Smaya .algebraic_properties = 248010e230b6Smaya 0 248110e230b6Smaya}, 248210e230b6Smaya{ 248310e230b6Smaya .name = "i2b32", 248410e230b6Smaya .num_inputs = 1, 248510e230b6Smaya .output_size = 0, 248610e230b6Smaya .output_type = nir_type_bool32, 248710e230b6Smaya .input_sizes = { 248810e230b6Smaya 0 248910e230b6Smaya }, 249010e230b6Smaya .input_types = { 249110e230b6Smaya nir_type_int 249210e230b6Smaya }, 249310e230b6Smaya .is_conversion = true, 249410e230b6Smaya .algebraic_properties = 249510e230b6Smaya 0 249610e230b6Smaya}, 249710e230b6Smaya{ 249810e230b6Smaya .name = "i2f16", 249910e230b6Smaya .num_inputs = 1, 250010e230b6Smaya .output_size = 0, 250110e230b6Smaya .output_type = nir_type_float16, 250210e230b6Smaya .input_sizes = { 250310e230b6Smaya 0 250410e230b6Smaya }, 250510e230b6Smaya .input_types = { 250610e230b6Smaya nir_type_int 250710e230b6Smaya }, 250810e230b6Smaya .is_conversion = true, 250910e230b6Smaya .algebraic_properties = 251010e230b6Smaya 0 251110e230b6Smaya}, 251210e230b6Smaya{ 251310e230b6Smaya .name = "i2f32", 251410e230b6Smaya .num_inputs = 1, 251510e230b6Smaya .output_size = 0, 251610e230b6Smaya .output_type = nir_type_float32, 251710e230b6Smaya .input_sizes = { 251810e230b6Smaya 0 251910e230b6Smaya }, 252010e230b6Smaya .input_types = { 252110e230b6Smaya nir_type_int 252210e230b6Smaya }, 252310e230b6Smaya .is_conversion = true, 252410e230b6Smaya .algebraic_properties = 252510e230b6Smaya 0 252610e230b6Smaya}, 252710e230b6Smaya{ 252810e230b6Smaya .name = "i2f64", 252910e230b6Smaya .num_inputs = 1, 253010e230b6Smaya .output_size = 0, 253110e230b6Smaya .output_type = nir_type_float64, 253210e230b6Smaya .input_sizes = { 253310e230b6Smaya 0 253410e230b6Smaya }, 253510e230b6Smaya .input_types = { 253610e230b6Smaya nir_type_int 253710e230b6Smaya }, 253810e230b6Smaya .is_conversion = true, 253910e230b6Smaya .algebraic_properties = 254010e230b6Smaya 0 254110e230b6Smaya}, 254210e230b6Smaya{ 254310e230b6Smaya .name = "i2i1", 254410e230b6Smaya .num_inputs = 1, 254510e230b6Smaya .output_size = 0, 254610e230b6Smaya .output_type = nir_type_int1, 254710e230b6Smaya .input_sizes = { 254810e230b6Smaya 0 254910e230b6Smaya }, 255010e230b6Smaya .input_types = { 255110e230b6Smaya nir_type_int 255210e230b6Smaya }, 255310e230b6Smaya .is_conversion = true, 255410e230b6Smaya .algebraic_properties = 255510e230b6Smaya 0 255610e230b6Smaya}, 255710e230b6Smaya{ 255810e230b6Smaya .name = "i2i16", 255910e230b6Smaya .num_inputs = 1, 256010e230b6Smaya .output_size = 0, 256110e230b6Smaya .output_type = nir_type_int16, 256210e230b6Smaya .input_sizes = { 256310e230b6Smaya 0 256410e230b6Smaya }, 256510e230b6Smaya .input_types = { 256610e230b6Smaya nir_type_int 256710e230b6Smaya }, 256810e230b6Smaya .is_conversion = true, 256910e230b6Smaya .algebraic_properties = 257010e230b6Smaya 0 257110e230b6Smaya}, 257210e230b6Smaya{ 257310e230b6Smaya .name = "i2i32", 257410e230b6Smaya .num_inputs = 1, 257510e230b6Smaya .output_size = 0, 257610e230b6Smaya .output_type = nir_type_int32, 257710e230b6Smaya .input_sizes = { 257810e230b6Smaya 0 257910e230b6Smaya }, 258010e230b6Smaya .input_types = { 258110e230b6Smaya nir_type_int 258210e230b6Smaya }, 258310e230b6Smaya .is_conversion = true, 258410e230b6Smaya .algebraic_properties = 258510e230b6Smaya 0 258610e230b6Smaya}, 258710e230b6Smaya{ 258810e230b6Smaya .name = "i2i64", 258910e230b6Smaya .num_inputs = 1, 259010e230b6Smaya .output_size = 0, 259110e230b6Smaya .output_type = nir_type_int64, 259210e230b6Smaya .input_sizes = { 259310e230b6Smaya 0 259410e230b6Smaya }, 259510e230b6Smaya .input_types = { 259610e230b6Smaya nir_type_int 259710e230b6Smaya }, 259810e230b6Smaya .is_conversion = true, 259910e230b6Smaya .algebraic_properties = 260010e230b6Smaya 0 260110e230b6Smaya}, 260210e230b6Smaya{ 260310e230b6Smaya .name = "i2i8", 260410e230b6Smaya .num_inputs = 1, 260510e230b6Smaya .output_size = 0, 260610e230b6Smaya .output_type = nir_type_int8, 260710e230b6Smaya .input_sizes = { 260810e230b6Smaya 0 260910e230b6Smaya }, 261010e230b6Smaya .input_types = { 261110e230b6Smaya nir_type_int 261210e230b6Smaya }, 261310e230b6Smaya .is_conversion = true, 261410e230b6Smaya .algebraic_properties = 261510e230b6Smaya 0 261610e230b6Smaya}, 261710e230b6Smaya{ 261810e230b6Smaya .name = "iabs", 261910e230b6Smaya .num_inputs = 1, 262010e230b6Smaya .output_size = 0, 262110e230b6Smaya .output_type = nir_type_int, 262210e230b6Smaya .input_sizes = { 262310e230b6Smaya 0 262410e230b6Smaya }, 262510e230b6Smaya .input_types = { 262610e230b6Smaya nir_type_int 262710e230b6Smaya }, 262810e230b6Smaya .is_conversion = false, 262910e230b6Smaya .algebraic_properties = 263010e230b6Smaya 0 263110e230b6Smaya}, 263210e230b6Smaya{ 263310e230b6Smaya .name = "iadd", 263410e230b6Smaya .num_inputs = 2, 263510e230b6Smaya .output_size = 0, 263610e230b6Smaya .output_type = nir_type_int, 263710e230b6Smaya .input_sizes = { 263810e230b6Smaya 0, 0 263910e230b6Smaya }, 264010e230b6Smaya .input_types = { 264110e230b6Smaya nir_type_int, nir_type_int 264210e230b6Smaya }, 264310e230b6Smaya .is_conversion = false, 264410e230b6Smaya .algebraic_properties = 264510e230b6Smaya NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 264610e230b6Smaya}, 264710e230b6Smaya{ 264810e230b6Smaya .name = "iadd_sat", 264910e230b6Smaya .num_inputs = 2, 265010e230b6Smaya .output_size = 0, 265110e230b6Smaya .output_type = nir_type_int, 265210e230b6Smaya .input_sizes = { 265310e230b6Smaya 0, 0 265410e230b6Smaya }, 265510e230b6Smaya .input_types = { 265610e230b6Smaya nir_type_int, nir_type_int 265710e230b6Smaya }, 265810e230b6Smaya .is_conversion = false, 265910e230b6Smaya .algebraic_properties = 266010e230b6Smaya NIR_OP_IS_COMMUTATIVE 266110e230b6Smaya}, 266210e230b6Smaya{ 266310e230b6Smaya .name = "iand", 266410e230b6Smaya .num_inputs = 2, 266510e230b6Smaya .output_size = 0, 266610e230b6Smaya .output_type = nir_type_uint, 266710e230b6Smaya .input_sizes = { 266810e230b6Smaya 0, 0 266910e230b6Smaya }, 267010e230b6Smaya .input_types = { 267110e230b6Smaya nir_type_uint, nir_type_uint 267210e230b6Smaya }, 267310e230b6Smaya .is_conversion = false, 267410e230b6Smaya .algebraic_properties = 267510e230b6Smaya NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 267610e230b6Smaya}, 267710e230b6Smaya{ 267810e230b6Smaya .name = "ibfe", 267910e230b6Smaya .num_inputs = 3, 268010e230b6Smaya .output_size = 0, 268110e230b6Smaya .output_type = nir_type_int32, 268210e230b6Smaya .input_sizes = { 268310e230b6Smaya 0, 0, 0 268410e230b6Smaya }, 268510e230b6Smaya .input_types = { 268610e230b6Smaya nir_type_int32, nir_type_int32, nir_type_int32 268710e230b6Smaya }, 268810e230b6Smaya .is_conversion = false, 268910e230b6Smaya .algebraic_properties = 269010e230b6Smaya 0 269110e230b6Smaya}, 269210e230b6Smaya{ 269310e230b6Smaya .name = "ibitfield_extract", 269410e230b6Smaya .num_inputs = 3, 269510e230b6Smaya .output_size = 0, 269610e230b6Smaya .output_type = nir_type_int32, 269710e230b6Smaya .input_sizes = { 269810e230b6Smaya 0, 0, 0 269910e230b6Smaya }, 270010e230b6Smaya .input_types = { 270110e230b6Smaya nir_type_int32, nir_type_int32, nir_type_int32 270210e230b6Smaya }, 270310e230b6Smaya .is_conversion = false, 270410e230b6Smaya .algebraic_properties = 270510e230b6Smaya 0 270610e230b6Smaya}, 270710e230b6Smaya{ 270810e230b6Smaya .name = "idiv", 270910e230b6Smaya .num_inputs = 2, 271010e230b6Smaya .output_size = 0, 271110e230b6Smaya .output_type = nir_type_int, 271210e230b6Smaya .input_sizes = { 271310e230b6Smaya 0, 0 271410e230b6Smaya }, 271510e230b6Smaya .input_types = { 271610e230b6Smaya nir_type_int, nir_type_int 271710e230b6Smaya }, 271810e230b6Smaya .is_conversion = false, 271910e230b6Smaya .algebraic_properties = 272010e230b6Smaya 0 272110e230b6Smaya}, 272210e230b6Smaya{ 272310e230b6Smaya .name = "ieq", 272410e230b6Smaya .num_inputs = 2, 272510e230b6Smaya .output_size = 0, 272610e230b6Smaya .output_type = nir_type_bool1, 272710e230b6Smaya .input_sizes = { 272810e230b6Smaya 0, 0 272910e230b6Smaya }, 273010e230b6Smaya .input_types = { 273110e230b6Smaya nir_type_int, nir_type_int 273210e230b6Smaya }, 273310e230b6Smaya .is_conversion = false, 273410e230b6Smaya .algebraic_properties = 273510e230b6Smaya NIR_OP_IS_COMMUTATIVE 273610e230b6Smaya}, 273710e230b6Smaya{ 273810e230b6Smaya .name = "ieq32", 273910e230b6Smaya .num_inputs = 2, 274010e230b6Smaya .output_size = 0, 274110e230b6Smaya .output_type = nir_type_bool32, 274210e230b6Smaya .input_sizes = { 274310e230b6Smaya 0, 0 274410e230b6Smaya }, 274510e230b6Smaya .input_types = { 274610e230b6Smaya nir_type_int, nir_type_int 274710e230b6Smaya }, 274810e230b6Smaya .is_conversion = false, 274910e230b6Smaya .algebraic_properties = 275010e230b6Smaya NIR_OP_IS_COMMUTATIVE 275110e230b6Smaya}, 275210e230b6Smaya{ 275310e230b6Smaya .name = "ifind_msb", 275410e230b6Smaya .num_inputs = 1, 275510e230b6Smaya .output_size = 0, 275610e230b6Smaya .output_type = nir_type_int32, 275710e230b6Smaya .input_sizes = { 275810e230b6Smaya 0 275910e230b6Smaya }, 276010e230b6Smaya .input_types = { 276110e230b6Smaya nir_type_int32 276210e230b6Smaya }, 276310e230b6Smaya .is_conversion = false, 276410e230b6Smaya .algebraic_properties = 276510e230b6Smaya 0 276610e230b6Smaya}, 276710e230b6Smaya{ 276810e230b6Smaya .name = "ige", 276910e230b6Smaya .num_inputs = 2, 277010e230b6Smaya .output_size = 0, 277110e230b6Smaya .output_type = nir_type_bool1, 277210e230b6Smaya .input_sizes = { 277310e230b6Smaya 0, 0 277410e230b6Smaya }, 277510e230b6Smaya .input_types = { 277610e230b6Smaya nir_type_int, nir_type_int 277710e230b6Smaya }, 277810e230b6Smaya .is_conversion = false, 277910e230b6Smaya .algebraic_properties = 278010e230b6Smaya 0 278110e230b6Smaya}, 278210e230b6Smaya{ 278310e230b6Smaya .name = "ige32", 278410e230b6Smaya .num_inputs = 2, 278510e230b6Smaya .output_size = 0, 278610e230b6Smaya .output_type = nir_type_bool32, 278710e230b6Smaya .input_sizes = { 278810e230b6Smaya 0, 0 278910e230b6Smaya }, 279010e230b6Smaya .input_types = { 279110e230b6Smaya nir_type_int, nir_type_int 279210e230b6Smaya }, 279310e230b6Smaya .is_conversion = false, 279410e230b6Smaya .algebraic_properties = 279510e230b6Smaya 0 279610e230b6Smaya}, 279710e230b6Smaya{ 279810e230b6Smaya .name = "ihadd", 279910e230b6Smaya .num_inputs = 2, 280010e230b6Smaya .output_size = 0, 280110e230b6Smaya .output_type = nir_type_int, 280210e230b6Smaya .input_sizes = { 280310e230b6Smaya 0, 0 280410e230b6Smaya }, 280510e230b6Smaya .input_types = { 280610e230b6Smaya nir_type_int, nir_type_int 280710e230b6Smaya }, 280810e230b6Smaya .is_conversion = false, 280910e230b6Smaya .algebraic_properties = 281010e230b6Smaya NIR_OP_IS_COMMUTATIVE 281110e230b6Smaya}, 281210e230b6Smaya{ 281310e230b6Smaya .name = "ilt", 281410e230b6Smaya .num_inputs = 2, 281510e230b6Smaya .output_size = 0, 281610e230b6Smaya .output_type = nir_type_bool1, 281710e230b6Smaya .input_sizes = { 281810e230b6Smaya 0, 0 281910e230b6Smaya }, 282010e230b6Smaya .input_types = { 282110e230b6Smaya nir_type_int, nir_type_int 282210e230b6Smaya }, 282310e230b6Smaya .is_conversion = false, 282410e230b6Smaya .algebraic_properties = 282510e230b6Smaya 0 282610e230b6Smaya}, 282710e230b6Smaya{ 282810e230b6Smaya .name = "ilt32", 282910e230b6Smaya .num_inputs = 2, 283010e230b6Smaya .output_size = 0, 283110e230b6Smaya .output_type = nir_type_bool32, 283210e230b6Smaya .input_sizes = { 283310e230b6Smaya 0, 0 283410e230b6Smaya }, 283510e230b6Smaya .input_types = { 283610e230b6Smaya nir_type_int, nir_type_int 283710e230b6Smaya }, 283810e230b6Smaya .is_conversion = false, 283910e230b6Smaya .algebraic_properties = 284010e230b6Smaya 0 284110e230b6Smaya}, 284210e230b6Smaya{ 284310e230b6Smaya .name = "imax", 284410e230b6Smaya .num_inputs = 2, 284510e230b6Smaya .output_size = 0, 284610e230b6Smaya .output_type = nir_type_int, 284710e230b6Smaya .input_sizes = { 284810e230b6Smaya 0, 0 284910e230b6Smaya }, 285010e230b6Smaya .input_types = { 285110e230b6Smaya nir_type_int, nir_type_int 285210e230b6Smaya }, 285310e230b6Smaya .is_conversion = false, 285410e230b6Smaya .algebraic_properties = 285510e230b6Smaya NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 285610e230b6Smaya}, 285710e230b6Smaya{ 285810e230b6Smaya .name = "imax3", 285910e230b6Smaya .num_inputs = 3, 286010e230b6Smaya .output_size = 0, 286110e230b6Smaya .output_type = nir_type_int, 286210e230b6Smaya .input_sizes = { 286310e230b6Smaya 0, 0, 0 286410e230b6Smaya }, 286510e230b6Smaya .input_types = { 286610e230b6Smaya nir_type_int, nir_type_int, nir_type_int 286710e230b6Smaya }, 286810e230b6Smaya .is_conversion = false, 286910e230b6Smaya .algebraic_properties = 287010e230b6Smaya 0 287110e230b6Smaya}, 287210e230b6Smaya{ 287310e230b6Smaya .name = "imed3", 287410e230b6Smaya .num_inputs = 3, 287510e230b6Smaya .output_size = 0, 287610e230b6Smaya .output_type = nir_type_int, 287710e230b6Smaya .input_sizes = { 287810e230b6Smaya 0, 0, 0 287910e230b6Smaya }, 288010e230b6Smaya .input_types = { 288110e230b6Smaya nir_type_int, nir_type_int, nir_type_int 288210e230b6Smaya }, 288310e230b6Smaya .is_conversion = false, 288410e230b6Smaya .algebraic_properties = 288510e230b6Smaya 0 288610e230b6Smaya}, 288710e230b6Smaya{ 288810e230b6Smaya .name = "imin", 288910e230b6Smaya .num_inputs = 2, 289010e230b6Smaya .output_size = 0, 289110e230b6Smaya .output_type = nir_type_int, 289210e230b6Smaya .input_sizes = { 289310e230b6Smaya 0, 0 289410e230b6Smaya }, 289510e230b6Smaya .input_types = { 289610e230b6Smaya nir_type_int, nir_type_int 289710e230b6Smaya }, 289810e230b6Smaya .is_conversion = false, 289910e230b6Smaya .algebraic_properties = 290010e230b6Smaya NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 290110e230b6Smaya}, 290210e230b6Smaya{ 290310e230b6Smaya .name = "imin3", 290410e230b6Smaya .num_inputs = 3, 290510e230b6Smaya .output_size = 0, 290610e230b6Smaya .output_type = nir_type_int, 290710e230b6Smaya .input_sizes = { 290810e230b6Smaya 0, 0, 0 290910e230b6Smaya }, 291010e230b6Smaya .input_types = { 291110e230b6Smaya nir_type_int, nir_type_int, nir_type_int 291210e230b6Smaya }, 291310e230b6Smaya .is_conversion = false, 291410e230b6Smaya .algebraic_properties = 291510e230b6Smaya 0 291610e230b6Smaya}, 291710e230b6Smaya{ 291810e230b6Smaya .name = "imod", 291910e230b6Smaya .num_inputs = 2, 292010e230b6Smaya .output_size = 0, 292110e230b6Smaya .output_type = nir_type_int, 292210e230b6Smaya .input_sizes = { 292310e230b6Smaya 0, 0 292410e230b6Smaya }, 292510e230b6Smaya .input_types = { 292610e230b6Smaya nir_type_int, nir_type_int 292710e230b6Smaya }, 292810e230b6Smaya .is_conversion = false, 292910e230b6Smaya .algebraic_properties = 293010e230b6Smaya 0 293110e230b6Smaya}, 293210e230b6Smaya{ 293310e230b6Smaya .name = "imov", 293410e230b6Smaya .num_inputs = 1, 293510e230b6Smaya .output_size = 0, 293610e230b6Smaya .output_type = nir_type_int, 293710e230b6Smaya .input_sizes = { 293810e230b6Smaya 0 293910e230b6Smaya }, 294010e230b6Smaya .input_types = { 294110e230b6Smaya nir_type_int 294210e230b6Smaya }, 294310e230b6Smaya .is_conversion = false, 294410e230b6Smaya .algebraic_properties = 294510e230b6Smaya 0 294610e230b6Smaya}, 294710e230b6Smaya{ 294810e230b6Smaya .name = "imul", 294910e230b6Smaya .num_inputs = 2, 295010e230b6Smaya .output_size = 0, 295110e230b6Smaya .output_type = nir_type_int, 295210e230b6Smaya .input_sizes = { 295310e230b6Smaya 0, 0 295410e230b6Smaya }, 295510e230b6Smaya .input_types = { 295610e230b6Smaya nir_type_int, nir_type_int 295710e230b6Smaya }, 295810e230b6Smaya .is_conversion = false, 295910e230b6Smaya .algebraic_properties = 296010e230b6Smaya NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 296110e230b6Smaya}, 296210e230b6Smaya{ 296310e230b6Smaya .name = "imul_2x32_64", 296410e230b6Smaya .num_inputs = 2, 296510e230b6Smaya .output_size = 0, 296610e230b6Smaya .output_type = nir_type_int64, 296710e230b6Smaya .input_sizes = { 296810e230b6Smaya 0, 0 296910e230b6Smaya }, 297010e230b6Smaya .input_types = { 297110e230b6Smaya nir_type_int32, nir_type_int32 297210e230b6Smaya }, 297310e230b6Smaya .is_conversion = false, 297410e230b6Smaya .algebraic_properties = 297510e230b6Smaya NIR_OP_IS_COMMUTATIVE 297610e230b6Smaya}, 297710e230b6Smaya{ 297810e230b6Smaya .name = "imul_high", 297910e230b6Smaya .num_inputs = 2, 298010e230b6Smaya .output_size = 0, 298110e230b6Smaya .output_type = nir_type_int, 298210e230b6Smaya .input_sizes = { 298310e230b6Smaya 0, 0 298410e230b6Smaya }, 298510e230b6Smaya .input_types = { 298610e230b6Smaya nir_type_int, nir_type_int 298710e230b6Smaya }, 298810e230b6Smaya .is_conversion = false, 298910e230b6Smaya .algebraic_properties = 299010e230b6Smaya NIR_OP_IS_COMMUTATIVE 299110e230b6Smaya}, 299210e230b6Smaya{ 299310e230b6Smaya .name = "ine", 299410e230b6Smaya .num_inputs = 2, 299510e230b6Smaya .output_size = 0, 299610e230b6Smaya .output_type = nir_type_bool1, 299710e230b6Smaya .input_sizes = { 299810e230b6Smaya 0, 0 299910e230b6Smaya }, 300010e230b6Smaya .input_types = { 300110e230b6Smaya nir_type_int, nir_type_int 300210e230b6Smaya }, 300310e230b6Smaya .is_conversion = false, 300410e230b6Smaya .algebraic_properties = 300510e230b6Smaya NIR_OP_IS_COMMUTATIVE 300610e230b6Smaya}, 300710e230b6Smaya{ 300810e230b6Smaya .name = "ine32", 300910e230b6Smaya .num_inputs = 2, 301010e230b6Smaya .output_size = 0, 301110e230b6Smaya .output_type = nir_type_bool32, 301210e230b6Smaya .input_sizes = { 301310e230b6Smaya 0, 0 301410e230b6Smaya }, 301510e230b6Smaya .input_types = { 301610e230b6Smaya nir_type_int, nir_type_int 301710e230b6Smaya }, 301810e230b6Smaya .is_conversion = false, 301910e230b6Smaya .algebraic_properties = 302010e230b6Smaya NIR_OP_IS_COMMUTATIVE 302110e230b6Smaya}, 302210e230b6Smaya{ 302310e230b6Smaya .name = "ineg", 302410e230b6Smaya .num_inputs = 1, 302510e230b6Smaya .output_size = 0, 302610e230b6Smaya .output_type = nir_type_int, 302710e230b6Smaya .input_sizes = { 302810e230b6Smaya 0 302910e230b6Smaya }, 303010e230b6Smaya .input_types = { 303110e230b6Smaya nir_type_int 303210e230b6Smaya }, 303310e230b6Smaya .is_conversion = false, 303410e230b6Smaya .algebraic_properties = 303510e230b6Smaya 0 303610e230b6Smaya}, 303710e230b6Smaya{ 303810e230b6Smaya .name = "inot", 303910e230b6Smaya .num_inputs = 1, 304010e230b6Smaya .output_size = 0, 304110e230b6Smaya .output_type = nir_type_int, 304210e230b6Smaya .input_sizes = { 304310e230b6Smaya 0 304410e230b6Smaya }, 304510e230b6Smaya .input_types = { 304610e230b6Smaya nir_type_int 304710e230b6Smaya }, 304810e230b6Smaya .is_conversion = false, 304910e230b6Smaya .algebraic_properties = 305010e230b6Smaya 0 305110e230b6Smaya}, 305210e230b6Smaya{ 305310e230b6Smaya .name = "ior", 305410e230b6Smaya .num_inputs = 2, 305510e230b6Smaya .output_size = 0, 305610e230b6Smaya .output_type = nir_type_uint, 305710e230b6Smaya .input_sizes = { 305810e230b6Smaya 0, 0 305910e230b6Smaya }, 306010e230b6Smaya .input_types = { 306110e230b6Smaya nir_type_uint, nir_type_uint 306210e230b6Smaya }, 306310e230b6Smaya .is_conversion = false, 306410e230b6Smaya .algebraic_properties = 306510e230b6Smaya NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 306610e230b6Smaya}, 306710e230b6Smaya{ 306810e230b6Smaya .name = "irem", 306910e230b6Smaya .num_inputs = 2, 307010e230b6Smaya .output_size = 0, 307110e230b6Smaya .output_type = nir_type_int, 307210e230b6Smaya .input_sizes = { 307310e230b6Smaya 0, 0 307410e230b6Smaya }, 307510e230b6Smaya .input_types = { 307610e230b6Smaya nir_type_int, nir_type_int 307710e230b6Smaya }, 307810e230b6Smaya .is_conversion = false, 307910e230b6Smaya .algebraic_properties = 308010e230b6Smaya 0 308110e230b6Smaya}, 308210e230b6Smaya{ 308310e230b6Smaya .name = "irhadd", 308410e230b6Smaya .num_inputs = 2, 308510e230b6Smaya .output_size = 0, 308610e230b6Smaya .output_type = nir_type_int, 308710e230b6Smaya .input_sizes = { 308810e230b6Smaya 0, 0 308910e230b6Smaya }, 309010e230b6Smaya .input_types = { 309110e230b6Smaya nir_type_int, nir_type_int 309210e230b6Smaya }, 309310e230b6Smaya .is_conversion = false, 309410e230b6Smaya .algebraic_properties = 309510e230b6Smaya NIR_OP_IS_COMMUTATIVE 309610e230b6Smaya}, 309710e230b6Smaya{ 309810e230b6Smaya .name = "ishl", 309910e230b6Smaya .num_inputs = 2, 310010e230b6Smaya .output_size = 0, 310110e230b6Smaya .output_type = nir_type_int, 310210e230b6Smaya .input_sizes = { 310310e230b6Smaya 0, 0 310410e230b6Smaya }, 310510e230b6Smaya .input_types = { 310610e230b6Smaya nir_type_int, nir_type_uint32 310710e230b6Smaya }, 310810e230b6Smaya .is_conversion = false, 310910e230b6Smaya .algebraic_properties = 311010e230b6Smaya 0 311110e230b6Smaya}, 311210e230b6Smaya{ 311310e230b6Smaya .name = "ishr", 311410e230b6Smaya .num_inputs = 2, 311510e230b6Smaya .output_size = 0, 311610e230b6Smaya .output_type = nir_type_int, 311710e230b6Smaya .input_sizes = { 311810e230b6Smaya 0, 0 311910e230b6Smaya }, 312010e230b6Smaya .input_types = { 312110e230b6Smaya nir_type_int, nir_type_uint32 312210e230b6Smaya }, 312310e230b6Smaya .is_conversion = false, 312410e230b6Smaya .algebraic_properties = 312510e230b6Smaya 0 312610e230b6Smaya}, 312710e230b6Smaya{ 312810e230b6Smaya .name = "isign", 312910e230b6Smaya .num_inputs = 1, 313010e230b6Smaya .output_size = 0, 313110e230b6Smaya .output_type = nir_type_int, 313210e230b6Smaya .input_sizes = { 313310e230b6Smaya 0 313410e230b6Smaya }, 313510e230b6Smaya .input_types = { 313610e230b6Smaya nir_type_int 313710e230b6Smaya }, 313810e230b6Smaya .is_conversion = false, 313910e230b6Smaya .algebraic_properties = 314010e230b6Smaya 0 314110e230b6Smaya}, 314210e230b6Smaya{ 314310e230b6Smaya .name = "isub", 314410e230b6Smaya .num_inputs = 2, 314510e230b6Smaya .output_size = 0, 314610e230b6Smaya .output_type = nir_type_int, 314710e230b6Smaya .input_sizes = { 314810e230b6Smaya 0, 0 314910e230b6Smaya }, 315010e230b6Smaya .input_types = { 315110e230b6Smaya nir_type_int, nir_type_int 315210e230b6Smaya }, 315310e230b6Smaya .is_conversion = false, 315410e230b6Smaya .algebraic_properties = 315510e230b6Smaya 0 315610e230b6Smaya}, 315710e230b6Smaya{ 315810e230b6Smaya .name = "isub_sat", 315910e230b6Smaya .num_inputs = 2, 316010e230b6Smaya .output_size = 0, 316110e230b6Smaya .output_type = nir_type_int, 316210e230b6Smaya .input_sizes = { 316310e230b6Smaya 0, 0 316410e230b6Smaya }, 316510e230b6Smaya .input_types = { 316610e230b6Smaya nir_type_int, nir_type_int 316710e230b6Smaya }, 316810e230b6Smaya .is_conversion = false, 316910e230b6Smaya .algebraic_properties = 317010e230b6Smaya 0 317110e230b6Smaya}, 317210e230b6Smaya{ 317310e230b6Smaya .name = "ixor", 317410e230b6Smaya .num_inputs = 2, 317510e230b6Smaya .output_size = 0, 317610e230b6Smaya .output_type = nir_type_uint, 317710e230b6Smaya .input_sizes = { 317810e230b6Smaya 0, 0 317910e230b6Smaya }, 318010e230b6Smaya .input_types = { 318110e230b6Smaya nir_type_uint, nir_type_uint 318210e230b6Smaya }, 318310e230b6Smaya .is_conversion = false, 318410e230b6Smaya .algebraic_properties = 318510e230b6Smaya NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 318610e230b6Smaya}, 318710e230b6Smaya{ 318810e230b6Smaya .name = "ldexp", 318910e230b6Smaya .num_inputs = 2, 319010e230b6Smaya .output_size = 0, 319110e230b6Smaya .output_type = nir_type_float, 319210e230b6Smaya .input_sizes = { 319310e230b6Smaya 0, 0 319410e230b6Smaya }, 319510e230b6Smaya .input_types = { 319610e230b6Smaya nir_type_float, nir_type_int32 319710e230b6Smaya }, 319810e230b6Smaya .is_conversion = false, 319910e230b6Smaya .algebraic_properties = 320010e230b6Smaya 0 320110e230b6Smaya}, 320210e230b6Smaya{ 320310e230b6Smaya .name = "pack_32_2x16", 320410e230b6Smaya .num_inputs = 1, 320510e230b6Smaya .output_size = 1, 320610e230b6Smaya .output_type = nir_type_uint32, 320710e230b6Smaya .input_sizes = { 320810e230b6Smaya 2 320910e230b6Smaya }, 321010e230b6Smaya .input_types = { 321110e230b6Smaya nir_type_uint16 321210e230b6Smaya }, 321310e230b6Smaya .is_conversion = false, 321410e230b6Smaya .algebraic_properties = 321510e230b6Smaya 0 321610e230b6Smaya}, 321710e230b6Smaya{ 321810e230b6Smaya .name = "pack_32_2x16_split", 321910e230b6Smaya .num_inputs = 2, 322010e230b6Smaya .output_size = 0, 322110e230b6Smaya .output_type = nir_type_uint32, 322210e230b6Smaya .input_sizes = { 322310e230b6Smaya 0, 0 322410e230b6Smaya }, 322510e230b6Smaya .input_types = { 322610e230b6Smaya nir_type_uint16, nir_type_uint16 322710e230b6Smaya }, 322810e230b6Smaya .is_conversion = false, 322910e230b6Smaya .algebraic_properties = 323010e230b6Smaya 0 323110e230b6Smaya}, 323210e230b6Smaya{ 323310e230b6Smaya .name = "pack_64_2x32", 323410e230b6Smaya .num_inputs = 1, 323510e230b6Smaya .output_size = 1, 323610e230b6Smaya .output_type = nir_type_uint64, 323710e230b6Smaya .input_sizes = { 323810e230b6Smaya 2 323910e230b6Smaya }, 324010e230b6Smaya .input_types = { 324110e230b6Smaya nir_type_uint32 324210e230b6Smaya }, 324310e230b6Smaya .is_conversion = false, 324410e230b6Smaya .algebraic_properties = 324510e230b6Smaya 0 324610e230b6Smaya}, 324710e230b6Smaya{ 324810e230b6Smaya .name = "pack_64_2x32_split", 324910e230b6Smaya .num_inputs = 2, 325010e230b6Smaya .output_size = 0, 325110e230b6Smaya .output_type = nir_type_uint64, 325210e230b6Smaya .input_sizes = { 325310e230b6Smaya 0, 0 325410e230b6Smaya }, 325510e230b6Smaya .input_types = { 325610e230b6Smaya nir_type_uint32, nir_type_uint32 325710e230b6Smaya }, 325810e230b6Smaya .is_conversion = false, 325910e230b6Smaya .algebraic_properties = 326010e230b6Smaya 0 326110e230b6Smaya}, 326210e230b6Smaya{ 326310e230b6Smaya .name = "pack_64_4x16", 326410e230b6Smaya .num_inputs = 1, 326510e230b6Smaya .output_size = 1, 326610e230b6Smaya .output_type = nir_type_uint64, 326710e230b6Smaya .input_sizes = { 326810e230b6Smaya 4 326910e230b6Smaya }, 327010e230b6Smaya .input_types = { 327110e230b6Smaya nir_type_uint16 327210e230b6Smaya }, 327310e230b6Smaya .is_conversion = false, 327410e230b6Smaya .algebraic_properties = 327510e230b6Smaya 0 327610e230b6Smaya}, 327710e230b6Smaya{ 327810e230b6Smaya .name = "pack_half_2x16", 327910e230b6Smaya .num_inputs = 1, 328010e230b6Smaya .output_size = 1, 328110e230b6Smaya .output_type = nir_type_uint32, 328210e230b6Smaya .input_sizes = { 328310e230b6Smaya 2 328410e230b6Smaya }, 328510e230b6Smaya .input_types = { 328610e230b6Smaya nir_type_float32 328710e230b6Smaya }, 328810e230b6Smaya .is_conversion = false, 328910e230b6Smaya .algebraic_properties = 329010e230b6Smaya 0 329110e230b6Smaya}, 329210e230b6Smaya{ 329310e230b6Smaya .name = "pack_half_2x16_split", 329410e230b6Smaya .num_inputs = 2, 329510e230b6Smaya .output_size = 1, 329610e230b6Smaya .output_type = nir_type_uint32, 329710e230b6Smaya .input_sizes = { 329810e230b6Smaya 1, 1 329910e230b6Smaya }, 330010e230b6Smaya .input_types = { 330110e230b6Smaya nir_type_float32, nir_type_float32 330210e230b6Smaya }, 330310e230b6Smaya .is_conversion = false, 330410e230b6Smaya .algebraic_properties = 330510e230b6Smaya 0 330610e230b6Smaya}, 330710e230b6Smaya{ 330810e230b6Smaya .name = "pack_snorm_2x16", 330910e230b6Smaya .num_inputs = 1, 331010e230b6Smaya .output_size = 1, 331110e230b6Smaya .output_type = nir_type_uint32, 331210e230b6Smaya .input_sizes = { 331310e230b6Smaya 2 331410e230b6Smaya }, 331510e230b6Smaya .input_types = { 331610e230b6Smaya nir_type_float32 331710e230b6Smaya }, 331810e230b6Smaya .is_conversion = false, 331910e230b6Smaya .algebraic_properties = 332010e230b6Smaya 0 332110e230b6Smaya}, 332210e230b6Smaya{ 332310e230b6Smaya .name = "pack_snorm_4x8", 332410e230b6Smaya .num_inputs = 1, 332510e230b6Smaya .output_size = 1, 332610e230b6Smaya .output_type = nir_type_uint32, 332710e230b6Smaya .input_sizes = { 332810e230b6Smaya 4 332910e230b6Smaya }, 333010e230b6Smaya .input_types = { 333110e230b6Smaya nir_type_float32 333210e230b6Smaya }, 333310e230b6Smaya .is_conversion = false, 333410e230b6Smaya .algebraic_properties = 333510e230b6Smaya 0 333610e230b6Smaya}, 333710e230b6Smaya{ 333810e230b6Smaya .name = "pack_unorm_2x16", 333910e230b6Smaya .num_inputs = 1, 334010e230b6Smaya .output_size = 1, 334110e230b6Smaya .output_type = nir_type_uint32, 334210e230b6Smaya .input_sizes = { 334310e230b6Smaya 2 334410e230b6Smaya }, 334510e230b6Smaya .input_types = { 334610e230b6Smaya nir_type_float32 334710e230b6Smaya }, 334810e230b6Smaya .is_conversion = false, 334910e230b6Smaya .algebraic_properties = 335010e230b6Smaya 0 335110e230b6Smaya}, 335210e230b6Smaya{ 335310e230b6Smaya .name = "pack_unorm_4x8", 335410e230b6Smaya .num_inputs = 1, 335510e230b6Smaya .output_size = 1, 335610e230b6Smaya .output_type = nir_type_uint32, 335710e230b6Smaya .input_sizes = { 335810e230b6Smaya 4 335910e230b6Smaya }, 336010e230b6Smaya .input_types = { 336110e230b6Smaya nir_type_float32 336210e230b6Smaya }, 336310e230b6Smaya .is_conversion = false, 336410e230b6Smaya .algebraic_properties = 336510e230b6Smaya 0 336610e230b6Smaya}, 336710e230b6Smaya{ 336810e230b6Smaya .name = "pack_uvec2_to_uint", 336910e230b6Smaya .num_inputs = 1, 337010e230b6Smaya .output_size = 1, 337110e230b6Smaya .output_type = nir_type_uint32, 337210e230b6Smaya .input_sizes = { 337310e230b6Smaya 2 337410e230b6Smaya }, 337510e230b6Smaya .input_types = { 337610e230b6Smaya nir_type_uint32 337710e230b6Smaya }, 337810e230b6Smaya .is_conversion = false, 337910e230b6Smaya .algebraic_properties = 338010e230b6Smaya 0 338110e230b6Smaya}, 338210e230b6Smaya{ 338310e230b6Smaya .name = "pack_uvec4_to_uint", 338410e230b6Smaya .num_inputs = 1, 338510e230b6Smaya .output_size = 1, 338610e230b6Smaya .output_type = nir_type_uint32, 338710e230b6Smaya .input_sizes = { 338810e230b6Smaya 4 338910e230b6Smaya }, 339010e230b6Smaya .input_types = { 339110e230b6Smaya nir_type_uint32 339210e230b6Smaya }, 339310e230b6Smaya .is_conversion = false, 339410e230b6Smaya .algebraic_properties = 339510e230b6Smaya 0 339610e230b6Smaya}, 339710e230b6Smaya{ 339810e230b6Smaya .name = "seq", 339910e230b6Smaya .num_inputs = 2, 340010e230b6Smaya .output_size = 0, 340110e230b6Smaya .output_type = nir_type_float32, 340210e230b6Smaya .input_sizes = { 340310e230b6Smaya 0, 0 340410e230b6Smaya }, 340510e230b6Smaya .input_types = { 340610e230b6Smaya nir_type_float32, nir_type_float32 340710e230b6Smaya }, 340810e230b6Smaya .is_conversion = false, 340910e230b6Smaya .algebraic_properties = 341010e230b6Smaya NIR_OP_IS_COMMUTATIVE 341110e230b6Smaya}, 341210e230b6Smaya{ 341310e230b6Smaya .name = "sge", 341410e230b6Smaya .num_inputs = 2, 341510e230b6Smaya .output_size = 0, 341610e230b6Smaya .output_type = nir_type_float, 341710e230b6Smaya .input_sizes = { 341810e230b6Smaya 0, 0 341910e230b6Smaya }, 342010e230b6Smaya .input_types = { 342110e230b6Smaya nir_type_float, nir_type_float 342210e230b6Smaya }, 342310e230b6Smaya .is_conversion = false, 342410e230b6Smaya .algebraic_properties = 342510e230b6Smaya 0 342610e230b6Smaya}, 342710e230b6Smaya{ 342810e230b6Smaya .name = "slt", 342910e230b6Smaya .num_inputs = 2, 343010e230b6Smaya .output_size = 0, 343110e230b6Smaya .output_type = nir_type_float32, 343210e230b6Smaya .input_sizes = { 343310e230b6Smaya 0, 0 343410e230b6Smaya }, 343510e230b6Smaya .input_types = { 343610e230b6Smaya nir_type_float32, nir_type_float32 343710e230b6Smaya }, 343810e230b6Smaya .is_conversion = false, 343910e230b6Smaya .algebraic_properties = 344010e230b6Smaya 0 344110e230b6Smaya}, 344210e230b6Smaya{ 344310e230b6Smaya .name = "sne", 344410e230b6Smaya .num_inputs = 2, 344510e230b6Smaya .output_size = 0, 344610e230b6Smaya .output_type = nir_type_float32, 344710e230b6Smaya .input_sizes = { 344810e230b6Smaya 0, 0 344910e230b6Smaya }, 345010e230b6Smaya .input_types = { 345110e230b6Smaya nir_type_float32, nir_type_float32 345210e230b6Smaya }, 345310e230b6Smaya .is_conversion = false, 345410e230b6Smaya .algebraic_properties = 345510e230b6Smaya NIR_OP_IS_COMMUTATIVE 345610e230b6Smaya}, 345710e230b6Smaya{ 345810e230b6Smaya .name = "u2f16", 345910e230b6Smaya .num_inputs = 1, 346010e230b6Smaya .output_size = 0, 346110e230b6Smaya .output_type = nir_type_float16, 346210e230b6Smaya .input_sizes = { 346310e230b6Smaya 0 346410e230b6Smaya }, 346510e230b6Smaya .input_types = { 346610e230b6Smaya nir_type_uint 346710e230b6Smaya }, 346810e230b6Smaya .is_conversion = true, 346910e230b6Smaya .algebraic_properties = 347010e230b6Smaya 0 347110e230b6Smaya}, 347210e230b6Smaya{ 347310e230b6Smaya .name = "u2f32", 347410e230b6Smaya .num_inputs = 1, 347510e230b6Smaya .output_size = 0, 347610e230b6Smaya .output_type = nir_type_float32, 347710e230b6Smaya .input_sizes = { 347810e230b6Smaya 0 347910e230b6Smaya }, 348010e230b6Smaya .input_types = { 348110e230b6Smaya nir_type_uint 348210e230b6Smaya }, 348310e230b6Smaya .is_conversion = true, 348410e230b6Smaya .algebraic_properties = 348510e230b6Smaya 0 348610e230b6Smaya}, 348710e230b6Smaya{ 348810e230b6Smaya .name = "u2f64", 348910e230b6Smaya .num_inputs = 1, 349010e230b6Smaya .output_size = 0, 349110e230b6Smaya .output_type = nir_type_float64, 349210e230b6Smaya .input_sizes = { 349310e230b6Smaya 0 349410e230b6Smaya }, 349510e230b6Smaya .input_types = { 349610e230b6Smaya nir_type_uint 349710e230b6Smaya }, 349810e230b6Smaya .is_conversion = true, 349910e230b6Smaya .algebraic_properties = 350010e230b6Smaya 0 350110e230b6Smaya}, 350210e230b6Smaya{ 350310e230b6Smaya .name = "u2u1", 350410e230b6Smaya .num_inputs = 1, 350510e230b6Smaya .output_size = 0, 350610e230b6Smaya .output_type = nir_type_uint1, 350710e230b6Smaya .input_sizes = { 350810e230b6Smaya 0 350910e230b6Smaya }, 351010e230b6Smaya .input_types = { 351110e230b6Smaya nir_type_uint 351210e230b6Smaya }, 351310e230b6Smaya .is_conversion = true, 351410e230b6Smaya .algebraic_properties = 351510e230b6Smaya 0 351610e230b6Smaya}, 351710e230b6Smaya{ 351810e230b6Smaya .name = "u2u16", 351910e230b6Smaya .num_inputs = 1, 352010e230b6Smaya .output_size = 0, 352110e230b6Smaya .output_type = nir_type_uint16, 352210e230b6Smaya .input_sizes = { 352310e230b6Smaya 0 352410e230b6Smaya }, 352510e230b6Smaya .input_types = { 352610e230b6Smaya nir_type_uint 352710e230b6Smaya }, 352810e230b6Smaya .is_conversion = true, 352910e230b6Smaya .algebraic_properties = 353010e230b6Smaya 0 353110e230b6Smaya}, 353210e230b6Smaya{ 353310e230b6Smaya .name = "u2u32", 353410e230b6Smaya .num_inputs = 1, 353510e230b6Smaya .output_size = 0, 353610e230b6Smaya .output_type = nir_type_uint32, 353710e230b6Smaya .input_sizes = { 353810e230b6Smaya 0 353910e230b6Smaya }, 354010e230b6Smaya .input_types = { 354110e230b6Smaya nir_type_uint 354210e230b6Smaya }, 354310e230b6Smaya .is_conversion = true, 354410e230b6Smaya .algebraic_properties = 354510e230b6Smaya 0 354610e230b6Smaya}, 354710e230b6Smaya{ 354810e230b6Smaya .name = "u2u64", 354910e230b6Smaya .num_inputs = 1, 355010e230b6Smaya .output_size = 0, 355110e230b6Smaya .output_type = nir_type_uint64, 355210e230b6Smaya .input_sizes = { 355310e230b6Smaya 0 355410e230b6Smaya }, 355510e230b6Smaya .input_types = { 355610e230b6Smaya nir_type_uint 355710e230b6Smaya }, 355810e230b6Smaya .is_conversion = true, 355910e230b6Smaya .algebraic_properties = 356010e230b6Smaya 0 356110e230b6Smaya}, 356210e230b6Smaya{ 356310e230b6Smaya .name = "u2u8", 356410e230b6Smaya .num_inputs = 1, 356510e230b6Smaya .output_size = 0, 356610e230b6Smaya .output_type = nir_type_uint8, 356710e230b6Smaya .input_sizes = { 356810e230b6Smaya 0 356910e230b6Smaya }, 357010e230b6Smaya .input_types = { 357110e230b6Smaya nir_type_uint 357210e230b6Smaya }, 357310e230b6Smaya .is_conversion = true, 357410e230b6Smaya .algebraic_properties = 357510e230b6Smaya 0 357610e230b6Smaya}, 357710e230b6Smaya{ 357810e230b6Smaya .name = "uadd_carry", 357910e230b6Smaya .num_inputs = 2, 358010e230b6Smaya .output_size = 0, 358110e230b6Smaya .output_type = nir_type_uint, 358210e230b6Smaya .input_sizes = { 358310e230b6Smaya 0, 0 358410e230b6Smaya }, 358510e230b6Smaya .input_types = { 358610e230b6Smaya nir_type_uint, nir_type_uint 358710e230b6Smaya }, 358810e230b6Smaya .is_conversion = false, 358910e230b6Smaya .algebraic_properties = 359010e230b6Smaya NIR_OP_IS_COMMUTATIVE 359110e230b6Smaya}, 359210e230b6Smaya{ 359310e230b6Smaya .name = "uadd_sat", 359410e230b6Smaya .num_inputs = 2, 359510e230b6Smaya .output_size = 0, 359610e230b6Smaya .output_type = nir_type_uint, 359710e230b6Smaya .input_sizes = { 359810e230b6Smaya 0, 0 359910e230b6Smaya }, 360010e230b6Smaya .input_types = { 360110e230b6Smaya nir_type_uint, nir_type_uint 360210e230b6Smaya }, 360310e230b6Smaya .is_conversion = false, 360410e230b6Smaya .algebraic_properties = 360510e230b6Smaya NIR_OP_IS_COMMUTATIVE 360610e230b6Smaya}, 360710e230b6Smaya{ 360810e230b6Smaya .name = "ubfe", 360910e230b6Smaya .num_inputs = 3, 361010e230b6Smaya .output_size = 0, 361110e230b6Smaya .output_type = nir_type_uint32, 361210e230b6Smaya .input_sizes = { 361310e230b6Smaya 0, 0, 0 361410e230b6Smaya }, 361510e230b6Smaya .input_types = { 361610e230b6Smaya nir_type_uint32, nir_type_int32, nir_type_int32 361710e230b6Smaya }, 361810e230b6Smaya .is_conversion = false, 361910e230b6Smaya .algebraic_properties = 362010e230b6Smaya 0 362110e230b6Smaya}, 362210e230b6Smaya{ 362310e230b6Smaya .name = "ubitfield_extract", 362410e230b6Smaya .num_inputs = 3, 362510e230b6Smaya .output_size = 0, 362610e230b6Smaya .output_type = nir_type_uint32, 362710e230b6Smaya .input_sizes = { 362810e230b6Smaya 0, 0, 0 362910e230b6Smaya }, 363010e230b6Smaya .input_types = { 363110e230b6Smaya nir_type_uint32, nir_type_int32, nir_type_int32 363210e230b6Smaya }, 363310e230b6Smaya .is_conversion = false, 363410e230b6Smaya .algebraic_properties = 363510e230b6Smaya 0 363610e230b6Smaya}, 363710e230b6Smaya{ 363810e230b6Smaya .name = "udiv", 363910e230b6Smaya .num_inputs = 2, 364010e230b6Smaya .output_size = 0, 364110e230b6Smaya .output_type = nir_type_uint, 364210e230b6Smaya .input_sizes = { 364310e230b6Smaya 0, 0 364410e230b6Smaya }, 364510e230b6Smaya .input_types = { 364610e230b6Smaya nir_type_uint, nir_type_uint 364710e230b6Smaya }, 364810e230b6Smaya .is_conversion = false, 364910e230b6Smaya .algebraic_properties = 365010e230b6Smaya 0 365110e230b6Smaya}, 365210e230b6Smaya{ 365310e230b6Smaya .name = "ufind_msb", 365410e230b6Smaya .num_inputs = 1, 365510e230b6Smaya .output_size = 0, 365610e230b6Smaya .output_type = nir_type_int32, 365710e230b6Smaya .input_sizes = { 365810e230b6Smaya 0 365910e230b6Smaya }, 366010e230b6Smaya .input_types = { 366110e230b6Smaya nir_type_uint 366210e230b6Smaya }, 366310e230b6Smaya .is_conversion = false, 366410e230b6Smaya .algebraic_properties = 366510e230b6Smaya 0 366610e230b6Smaya}, 366710e230b6Smaya{ 366810e230b6Smaya .name = "uge", 366910e230b6Smaya .num_inputs = 2, 367010e230b6Smaya .output_size = 0, 367110e230b6Smaya .output_type = nir_type_bool1, 367210e230b6Smaya .input_sizes = { 367310e230b6Smaya 0, 0 367410e230b6Smaya }, 367510e230b6Smaya .input_types = { 367610e230b6Smaya nir_type_uint, nir_type_uint 367710e230b6Smaya }, 367810e230b6Smaya .is_conversion = false, 367910e230b6Smaya .algebraic_properties = 368010e230b6Smaya 0 368110e230b6Smaya}, 368210e230b6Smaya{ 368310e230b6Smaya .name = "uge32", 368410e230b6Smaya .num_inputs = 2, 368510e230b6Smaya .output_size = 0, 368610e230b6Smaya .output_type = nir_type_bool32, 368710e230b6Smaya .input_sizes = { 368810e230b6Smaya 0, 0 368910e230b6Smaya }, 369010e230b6Smaya .input_types = { 369110e230b6Smaya nir_type_uint, nir_type_uint 369210e230b6Smaya }, 369310e230b6Smaya .is_conversion = false, 369410e230b6Smaya .algebraic_properties = 369510e230b6Smaya 0 369610e230b6Smaya}, 369710e230b6Smaya{ 369810e230b6Smaya .name = "uhadd", 369910e230b6Smaya .num_inputs = 2, 370010e230b6Smaya .output_size = 0, 370110e230b6Smaya .output_type = nir_type_uint, 370210e230b6Smaya .input_sizes = { 370310e230b6Smaya 0, 0 370410e230b6Smaya }, 370510e230b6Smaya .input_types = { 370610e230b6Smaya nir_type_uint, nir_type_uint 370710e230b6Smaya }, 370810e230b6Smaya .is_conversion = false, 370910e230b6Smaya .algebraic_properties = 371010e230b6Smaya NIR_OP_IS_COMMUTATIVE 371110e230b6Smaya}, 371210e230b6Smaya{ 371310e230b6Smaya .name = "ult", 371410e230b6Smaya .num_inputs = 2, 371510e230b6Smaya .output_size = 0, 371610e230b6Smaya .output_type = nir_type_bool1, 371710e230b6Smaya .input_sizes = { 371810e230b6Smaya 0, 0 371910e230b6Smaya }, 372010e230b6Smaya .input_types = { 372110e230b6Smaya nir_type_uint, nir_type_uint 372210e230b6Smaya }, 372310e230b6Smaya .is_conversion = false, 372410e230b6Smaya .algebraic_properties = 372510e230b6Smaya 0 372610e230b6Smaya}, 372710e230b6Smaya{ 372810e230b6Smaya .name = "ult32", 372910e230b6Smaya .num_inputs = 2, 373010e230b6Smaya .output_size = 0, 373110e230b6Smaya .output_type = nir_type_bool32, 373210e230b6Smaya .input_sizes = { 373310e230b6Smaya 0, 0 373410e230b6Smaya }, 373510e230b6Smaya .input_types = { 373610e230b6Smaya nir_type_uint, nir_type_uint 373710e230b6Smaya }, 373810e230b6Smaya .is_conversion = false, 373910e230b6Smaya .algebraic_properties = 374010e230b6Smaya 0 374110e230b6Smaya}, 374210e230b6Smaya{ 374310e230b6Smaya .name = "umax", 374410e230b6Smaya .num_inputs = 2, 374510e230b6Smaya .output_size = 0, 374610e230b6Smaya .output_type = nir_type_uint, 374710e230b6Smaya .input_sizes = { 374810e230b6Smaya 0, 0 374910e230b6Smaya }, 375010e230b6Smaya .input_types = { 375110e230b6Smaya nir_type_uint, nir_type_uint 375210e230b6Smaya }, 375310e230b6Smaya .is_conversion = false, 375410e230b6Smaya .algebraic_properties = 375510e230b6Smaya NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 375610e230b6Smaya}, 375710e230b6Smaya{ 375810e230b6Smaya .name = "umax3", 375910e230b6Smaya .num_inputs = 3, 376010e230b6Smaya .output_size = 0, 376110e230b6Smaya .output_type = nir_type_uint, 376210e230b6Smaya .input_sizes = { 376310e230b6Smaya 0, 0, 0 376410e230b6Smaya }, 376510e230b6Smaya .input_types = { 376610e230b6Smaya nir_type_uint, nir_type_uint, nir_type_uint 376710e230b6Smaya }, 376810e230b6Smaya .is_conversion = false, 376910e230b6Smaya .algebraic_properties = 377010e230b6Smaya 0 377110e230b6Smaya}, 377210e230b6Smaya{ 377310e230b6Smaya .name = "umax_4x8", 377410e230b6Smaya .num_inputs = 2, 377510e230b6Smaya .output_size = 0, 377610e230b6Smaya .output_type = nir_type_int32, 377710e230b6Smaya .input_sizes = { 377810e230b6Smaya 0, 0 377910e230b6Smaya }, 378010e230b6Smaya .input_types = { 378110e230b6Smaya nir_type_int32, nir_type_int32 378210e230b6Smaya }, 378310e230b6Smaya .is_conversion = false, 378410e230b6Smaya .algebraic_properties = 378510e230b6Smaya NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 378610e230b6Smaya}, 378710e230b6Smaya{ 378810e230b6Smaya .name = "umed3", 378910e230b6Smaya .num_inputs = 3, 379010e230b6Smaya .output_size = 0, 379110e230b6Smaya .output_type = nir_type_uint, 379210e230b6Smaya .input_sizes = { 379310e230b6Smaya 0, 0, 0 379410e230b6Smaya }, 379510e230b6Smaya .input_types = { 379610e230b6Smaya nir_type_uint, nir_type_uint, nir_type_uint 379710e230b6Smaya }, 379810e230b6Smaya .is_conversion = false, 379910e230b6Smaya .algebraic_properties = 380010e230b6Smaya 0 380110e230b6Smaya}, 380210e230b6Smaya{ 380310e230b6Smaya .name = "umin", 380410e230b6Smaya .num_inputs = 2, 380510e230b6Smaya .output_size = 0, 380610e230b6Smaya .output_type = nir_type_uint, 380710e230b6Smaya .input_sizes = { 380810e230b6Smaya 0, 0 380910e230b6Smaya }, 381010e230b6Smaya .input_types = { 381110e230b6Smaya nir_type_uint, nir_type_uint 381210e230b6Smaya }, 381310e230b6Smaya .is_conversion = false, 381410e230b6Smaya .algebraic_properties = 381510e230b6Smaya NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 381610e230b6Smaya}, 381710e230b6Smaya{ 381810e230b6Smaya .name = "umin3", 381910e230b6Smaya .num_inputs = 3, 382010e230b6Smaya .output_size = 0, 382110e230b6Smaya .output_type = nir_type_uint, 382210e230b6Smaya .input_sizes = { 382310e230b6Smaya 0, 0, 0 382410e230b6Smaya }, 382510e230b6Smaya .input_types = { 382610e230b6Smaya nir_type_uint, nir_type_uint, nir_type_uint 382710e230b6Smaya }, 382810e230b6Smaya .is_conversion = false, 382910e230b6Smaya .algebraic_properties = 383010e230b6Smaya 0 383110e230b6Smaya}, 383210e230b6Smaya{ 383310e230b6Smaya .name = "umin_4x8", 383410e230b6Smaya .num_inputs = 2, 383510e230b6Smaya .output_size = 0, 383610e230b6Smaya .output_type = nir_type_int32, 383710e230b6Smaya .input_sizes = { 383810e230b6Smaya 0, 0 383910e230b6Smaya }, 384010e230b6Smaya .input_types = { 384110e230b6Smaya nir_type_int32, nir_type_int32 384210e230b6Smaya }, 384310e230b6Smaya .is_conversion = false, 384410e230b6Smaya .algebraic_properties = 384510e230b6Smaya NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 384610e230b6Smaya}, 384710e230b6Smaya{ 384810e230b6Smaya .name = "umod", 384910e230b6Smaya .num_inputs = 2, 385010e230b6Smaya .output_size = 0, 385110e230b6Smaya .output_type = nir_type_uint, 385210e230b6Smaya .input_sizes = { 385310e230b6Smaya 0, 0 385410e230b6Smaya }, 385510e230b6Smaya .input_types = { 385610e230b6Smaya nir_type_uint, nir_type_uint 385710e230b6Smaya }, 385810e230b6Smaya .is_conversion = false, 385910e230b6Smaya .algebraic_properties = 386010e230b6Smaya 0 386110e230b6Smaya}, 386210e230b6Smaya{ 386310e230b6Smaya .name = "umul_2x32_64", 386410e230b6Smaya .num_inputs = 2, 386510e230b6Smaya .output_size = 0, 386610e230b6Smaya .output_type = nir_type_uint64, 386710e230b6Smaya .input_sizes = { 386810e230b6Smaya 0, 0 386910e230b6Smaya }, 387010e230b6Smaya .input_types = { 387110e230b6Smaya nir_type_uint32, nir_type_uint32 387210e230b6Smaya }, 387310e230b6Smaya .is_conversion = false, 387410e230b6Smaya .algebraic_properties = 387510e230b6Smaya NIR_OP_IS_COMMUTATIVE 387610e230b6Smaya}, 387710e230b6Smaya{ 387810e230b6Smaya .name = "umul_high", 387910e230b6Smaya .num_inputs = 2, 388010e230b6Smaya .output_size = 0, 388110e230b6Smaya .output_type = nir_type_uint, 388210e230b6Smaya .input_sizes = { 388310e230b6Smaya 0, 0 388410e230b6Smaya }, 388510e230b6Smaya .input_types = { 388610e230b6Smaya nir_type_uint, nir_type_uint 388710e230b6Smaya }, 388810e230b6Smaya .is_conversion = false, 388910e230b6Smaya .algebraic_properties = 389010e230b6Smaya NIR_OP_IS_COMMUTATIVE 389110e230b6Smaya}, 389210e230b6Smaya{ 389310e230b6Smaya .name = "umul_unorm_4x8", 389410e230b6Smaya .num_inputs = 2, 389510e230b6Smaya .output_size = 0, 389610e230b6Smaya .output_type = nir_type_int32, 389710e230b6Smaya .input_sizes = { 389810e230b6Smaya 0, 0 389910e230b6Smaya }, 390010e230b6Smaya .input_types = { 390110e230b6Smaya nir_type_int32, nir_type_int32 390210e230b6Smaya }, 390310e230b6Smaya .is_conversion = false, 390410e230b6Smaya .algebraic_properties = 390510e230b6Smaya NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 390610e230b6Smaya}, 390710e230b6Smaya{ 390810e230b6Smaya .name = "unpack_32_2x16", 390910e230b6Smaya .num_inputs = 1, 391010e230b6Smaya .output_size = 2, 391110e230b6Smaya .output_type = nir_type_uint16, 391210e230b6Smaya .input_sizes = { 391310e230b6Smaya 1 391410e230b6Smaya }, 391510e230b6Smaya .input_types = { 391610e230b6Smaya nir_type_uint32 391710e230b6Smaya }, 391810e230b6Smaya .is_conversion = false, 391910e230b6Smaya .algebraic_properties = 392010e230b6Smaya 0 392110e230b6Smaya}, 392210e230b6Smaya{ 392310e230b6Smaya .name = "unpack_32_2x16_split_x", 392410e230b6Smaya .num_inputs = 1, 392510e230b6Smaya .output_size = 0, 392610e230b6Smaya .output_type = nir_type_uint16, 392710e230b6Smaya .input_sizes = { 392810e230b6Smaya 0 392910e230b6Smaya }, 393010e230b6Smaya .input_types = { 393110e230b6Smaya nir_type_uint32 393210e230b6Smaya }, 393310e230b6Smaya .is_conversion = false, 393410e230b6Smaya .algebraic_properties = 393510e230b6Smaya 0 393610e230b6Smaya}, 393710e230b6Smaya{ 393810e230b6Smaya .name = "unpack_32_2x16_split_y", 393910e230b6Smaya .num_inputs = 1, 394010e230b6Smaya .output_size = 0, 394110e230b6Smaya .output_type = nir_type_uint16, 394210e230b6Smaya .input_sizes = { 394310e230b6Smaya 0 394410e230b6Smaya }, 394510e230b6Smaya .input_types = { 394610e230b6Smaya nir_type_uint32 394710e230b6Smaya }, 394810e230b6Smaya .is_conversion = false, 394910e230b6Smaya .algebraic_properties = 395010e230b6Smaya 0 395110e230b6Smaya}, 395210e230b6Smaya{ 395310e230b6Smaya .name = "unpack_64_2x32", 395410e230b6Smaya .num_inputs = 1, 395510e230b6Smaya .output_size = 2, 395610e230b6Smaya .output_type = nir_type_uint32, 395710e230b6Smaya .input_sizes = { 395810e230b6Smaya 1 395910e230b6Smaya }, 396010e230b6Smaya .input_types = { 396110e230b6Smaya nir_type_uint64 396210e230b6Smaya }, 396310e230b6Smaya .is_conversion = false, 396410e230b6Smaya .algebraic_properties = 396510e230b6Smaya 0 396610e230b6Smaya}, 396710e230b6Smaya{ 396810e230b6Smaya .name = "unpack_64_2x32_split_x", 396910e230b6Smaya .num_inputs = 1, 397010e230b6Smaya .output_size = 0, 397110e230b6Smaya .output_type = nir_type_uint32, 397210e230b6Smaya .input_sizes = { 397310e230b6Smaya 0 397410e230b6Smaya }, 397510e230b6Smaya .input_types = { 397610e230b6Smaya nir_type_uint64 397710e230b6Smaya }, 397810e230b6Smaya .is_conversion = false, 397910e230b6Smaya .algebraic_properties = 398010e230b6Smaya 0 398110e230b6Smaya}, 398210e230b6Smaya{ 398310e230b6Smaya .name = "unpack_64_2x32_split_y", 398410e230b6Smaya .num_inputs = 1, 398510e230b6Smaya .output_size = 0, 398610e230b6Smaya .output_type = nir_type_uint32, 398710e230b6Smaya .input_sizes = { 398810e230b6Smaya 0 398910e230b6Smaya }, 399010e230b6Smaya .input_types = { 399110e230b6Smaya nir_type_uint64 399210e230b6Smaya }, 399310e230b6Smaya .is_conversion = false, 399410e230b6Smaya .algebraic_properties = 399510e230b6Smaya 0 399610e230b6Smaya}, 399710e230b6Smaya{ 399810e230b6Smaya .name = "unpack_64_4x16", 399910e230b6Smaya .num_inputs = 1, 400010e230b6Smaya .output_size = 4, 400110e230b6Smaya .output_type = nir_type_uint16, 400210e230b6Smaya .input_sizes = { 400310e230b6Smaya 1 400410e230b6Smaya }, 400510e230b6Smaya .input_types = { 400610e230b6Smaya nir_type_uint64 400710e230b6Smaya }, 400810e230b6Smaya .is_conversion = false, 400910e230b6Smaya .algebraic_properties = 401010e230b6Smaya 0 401110e230b6Smaya}, 401210e230b6Smaya{ 401310e230b6Smaya .name = "unpack_half_2x16", 401410e230b6Smaya .num_inputs = 1, 401510e230b6Smaya .output_size = 2, 401610e230b6Smaya .output_type = nir_type_float32, 401710e230b6Smaya .input_sizes = { 401810e230b6Smaya 1 401910e230b6Smaya }, 402010e230b6Smaya .input_types = { 402110e230b6Smaya nir_type_uint32 402210e230b6Smaya }, 402310e230b6Smaya .is_conversion = false, 402410e230b6Smaya .algebraic_properties = 402510e230b6Smaya 0 402610e230b6Smaya}, 402710e230b6Smaya{ 402810e230b6Smaya .name = "unpack_half_2x16_split_x", 402910e230b6Smaya .num_inputs = 1, 403010e230b6Smaya .output_size = 0, 403110e230b6Smaya .output_type = nir_type_float32, 403210e230b6Smaya .input_sizes = { 403310e230b6Smaya 0 403410e230b6Smaya }, 403510e230b6Smaya .input_types = { 403610e230b6Smaya nir_type_uint32 403710e230b6Smaya }, 403810e230b6Smaya .is_conversion = false, 403910e230b6Smaya .algebraic_properties = 404010e230b6Smaya 0 404110e230b6Smaya}, 404210e230b6Smaya{ 404310e230b6Smaya .name = "unpack_half_2x16_split_y", 404410e230b6Smaya .num_inputs = 1, 404510e230b6Smaya .output_size = 0, 404610e230b6Smaya .output_type = nir_type_float32, 404710e230b6Smaya .input_sizes = { 404810e230b6Smaya 0 404910e230b6Smaya }, 405010e230b6Smaya .input_types = { 405110e230b6Smaya nir_type_uint32 405210e230b6Smaya }, 405310e230b6Smaya .is_conversion = false, 405410e230b6Smaya .algebraic_properties = 405510e230b6Smaya 0 405610e230b6Smaya}, 405710e230b6Smaya{ 405810e230b6Smaya .name = "unpack_snorm_2x16", 405910e230b6Smaya .num_inputs = 1, 406010e230b6Smaya .output_size = 2, 406110e230b6Smaya .output_type = nir_type_float32, 406210e230b6Smaya .input_sizes = { 406310e230b6Smaya 1 406410e230b6Smaya }, 406510e230b6Smaya .input_types = { 406610e230b6Smaya nir_type_uint32 406710e230b6Smaya }, 406810e230b6Smaya .is_conversion = false, 406910e230b6Smaya .algebraic_properties = 407010e230b6Smaya 0 407110e230b6Smaya}, 407210e230b6Smaya{ 407310e230b6Smaya .name = "unpack_snorm_4x8", 407410e230b6Smaya .num_inputs = 1, 407510e230b6Smaya .output_size = 4, 407610e230b6Smaya .output_type = nir_type_float32, 407710e230b6Smaya .input_sizes = { 407810e230b6Smaya 1 407910e230b6Smaya }, 408010e230b6Smaya .input_types = { 408110e230b6Smaya nir_type_uint32 408210e230b6Smaya }, 408310e230b6Smaya .is_conversion = false, 408410e230b6Smaya .algebraic_properties = 408510e230b6Smaya 0 408610e230b6Smaya}, 408710e230b6Smaya{ 408810e230b6Smaya .name = "unpack_unorm_2x16", 408910e230b6Smaya .num_inputs = 1, 409010e230b6Smaya .output_size = 2, 409110e230b6Smaya .output_type = nir_type_float32, 409210e230b6Smaya .input_sizes = { 409310e230b6Smaya 1 409410e230b6Smaya }, 409510e230b6Smaya .input_types = { 409610e230b6Smaya nir_type_uint32 409710e230b6Smaya }, 409810e230b6Smaya .is_conversion = false, 409910e230b6Smaya .algebraic_properties = 410010e230b6Smaya 0 410110e230b6Smaya}, 410210e230b6Smaya{ 410310e230b6Smaya .name = "unpack_unorm_4x8", 410410e230b6Smaya .num_inputs = 1, 410510e230b6Smaya .output_size = 4, 410610e230b6Smaya .output_type = nir_type_float32, 410710e230b6Smaya .input_sizes = { 410810e230b6Smaya 1 410910e230b6Smaya }, 411010e230b6Smaya .input_types = { 411110e230b6Smaya nir_type_uint32 411210e230b6Smaya }, 411310e230b6Smaya .is_conversion = false, 411410e230b6Smaya .algebraic_properties = 411510e230b6Smaya 0 411610e230b6Smaya}, 411710e230b6Smaya{ 411810e230b6Smaya .name = "urhadd", 411910e230b6Smaya .num_inputs = 2, 412010e230b6Smaya .output_size = 0, 412110e230b6Smaya .output_type = nir_type_uint, 412210e230b6Smaya .input_sizes = { 412310e230b6Smaya 0, 0 412410e230b6Smaya }, 412510e230b6Smaya .input_types = { 412610e230b6Smaya nir_type_uint, nir_type_uint 412710e230b6Smaya }, 412810e230b6Smaya .is_conversion = false, 412910e230b6Smaya .algebraic_properties = 413010e230b6Smaya NIR_OP_IS_COMMUTATIVE 413110e230b6Smaya}, 413210e230b6Smaya{ 413310e230b6Smaya .name = "usadd_4x8", 413410e230b6Smaya .num_inputs = 2, 413510e230b6Smaya .output_size = 0, 413610e230b6Smaya .output_type = nir_type_int32, 413710e230b6Smaya .input_sizes = { 413810e230b6Smaya 0, 0 413910e230b6Smaya }, 414010e230b6Smaya .input_types = { 414110e230b6Smaya nir_type_int32, nir_type_int32 414210e230b6Smaya }, 414310e230b6Smaya .is_conversion = false, 414410e230b6Smaya .algebraic_properties = 414510e230b6Smaya NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 414610e230b6Smaya}, 414710e230b6Smaya{ 414810e230b6Smaya .name = "ushr", 414910e230b6Smaya .num_inputs = 2, 415010e230b6Smaya .output_size = 0, 415110e230b6Smaya .output_type = nir_type_uint, 415210e230b6Smaya .input_sizes = { 415310e230b6Smaya 0, 0 415410e230b6Smaya }, 415510e230b6Smaya .input_types = { 415610e230b6Smaya nir_type_uint, nir_type_uint32 415710e230b6Smaya }, 415810e230b6Smaya .is_conversion = false, 415910e230b6Smaya .algebraic_properties = 416010e230b6Smaya 0 416110e230b6Smaya}, 416210e230b6Smaya{ 416310e230b6Smaya .name = "ussub_4x8", 416410e230b6Smaya .num_inputs = 2, 416510e230b6Smaya .output_size = 0, 416610e230b6Smaya .output_type = nir_type_int32, 416710e230b6Smaya .input_sizes = { 416810e230b6Smaya 0, 0 416910e230b6Smaya }, 417010e230b6Smaya .input_types = { 417110e230b6Smaya nir_type_int32, nir_type_int32 417210e230b6Smaya }, 417310e230b6Smaya .is_conversion = false, 417410e230b6Smaya .algebraic_properties = 417510e230b6Smaya 0 417610e230b6Smaya}, 417710e230b6Smaya{ 417810e230b6Smaya .name = "usub_borrow", 417910e230b6Smaya .num_inputs = 2, 418010e230b6Smaya .output_size = 0, 418110e230b6Smaya .output_type = nir_type_uint, 418210e230b6Smaya .input_sizes = { 418310e230b6Smaya 0, 0 418410e230b6Smaya }, 418510e230b6Smaya .input_types = { 418610e230b6Smaya nir_type_uint, nir_type_uint 418710e230b6Smaya }, 418810e230b6Smaya .is_conversion = false, 418910e230b6Smaya .algebraic_properties = 419010e230b6Smaya 0 419110e230b6Smaya}, 419210e230b6Smaya{ 419310e230b6Smaya .name = "usub_sat", 419410e230b6Smaya .num_inputs = 2, 419510e230b6Smaya .output_size = 0, 419610e230b6Smaya .output_type = nir_type_uint, 419710e230b6Smaya .input_sizes = { 419810e230b6Smaya 0, 0 419910e230b6Smaya }, 420010e230b6Smaya .input_types = { 420110e230b6Smaya nir_type_uint, nir_type_uint 420210e230b6Smaya }, 420310e230b6Smaya .is_conversion = false, 420410e230b6Smaya .algebraic_properties = 420510e230b6Smaya 0 420610e230b6Smaya}, 420710e230b6Smaya{ 420810e230b6Smaya .name = "vec2", 420910e230b6Smaya .num_inputs = 2, 421010e230b6Smaya .output_size = 2, 421110e230b6Smaya .output_type = nir_type_uint, 421210e230b6Smaya .input_sizes = { 421310e230b6Smaya 1, 1 421410e230b6Smaya }, 421510e230b6Smaya .input_types = { 421610e230b6Smaya nir_type_uint, nir_type_uint 421710e230b6Smaya }, 421810e230b6Smaya .is_conversion = false, 421910e230b6Smaya .algebraic_properties = 422010e230b6Smaya 0 422110e230b6Smaya}, 422210e230b6Smaya{ 422310e230b6Smaya .name = "vec3", 422410e230b6Smaya .num_inputs = 3, 422510e230b6Smaya .output_size = 3, 422610e230b6Smaya .output_type = nir_type_uint, 422710e230b6Smaya .input_sizes = { 422810e230b6Smaya 1, 1, 1 422910e230b6Smaya }, 423010e230b6Smaya .input_types = { 423110e230b6Smaya nir_type_uint, nir_type_uint, nir_type_uint 423210e230b6Smaya }, 423310e230b6Smaya .is_conversion = false, 423410e230b6Smaya .algebraic_properties = 423510e230b6Smaya 0 423610e230b6Smaya}, 423710e230b6Smaya{ 423810e230b6Smaya .name = "vec4", 423910e230b6Smaya .num_inputs = 4, 424010e230b6Smaya .output_size = 4, 424110e230b6Smaya .output_type = nir_type_uint, 424210e230b6Smaya .input_sizes = { 424310e230b6Smaya 1, 1, 1, 1 424410e230b6Smaya }, 424510e230b6Smaya .input_types = { 424610e230b6Smaya nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint 424710e230b6Smaya }, 424810e230b6Smaya .is_conversion = false, 424910e230b6Smaya .algebraic_properties = 425010e230b6Smaya 0 425110e230b6Smaya}, 425210e230b6Smaya}; 425310e230b6Smaya 4254