1b8e80941Smrg 2b8e80941Smrg#include "nir.h" 3b8e80941Smrg 4b8e80941Smrgnir_op 5b8e80941Smrgnir_type_conversion_op(nir_alu_type src, nir_alu_type dst, nir_rounding_mode rnd) 6b8e80941Smrg{ 7b8e80941Smrg nir_alu_type src_base = (nir_alu_type) nir_alu_type_get_base_type(src); 8b8e80941Smrg nir_alu_type dst_base = (nir_alu_type) nir_alu_type_get_base_type(dst); 9b8e80941Smrg unsigned src_bit_size = nir_alu_type_get_type_size(src); 10b8e80941Smrg unsigned dst_bit_size = nir_alu_type_get_type_size(dst); 11b8e80941Smrg 12b8e80941Smrg if (src == dst && src_base == nir_type_float) { 13b8e80941Smrg return nir_op_fmov; 14b8e80941Smrg } else if (src == dst && src_base == nir_type_bool) { 15b8e80941Smrg return nir_op_imov; 16b8e80941Smrg } else if ((src_base == nir_type_int || src_base == nir_type_uint) && 17b8e80941Smrg (dst_base == nir_type_int || dst_base == nir_type_uint) && 18b8e80941Smrg src_bit_size == dst_bit_size) { 19b8e80941Smrg /* Integer <-> integer conversions with the same bit-size on both 20b8e80941Smrg * ends are just no-op moves. 21b8e80941Smrg */ 22b8e80941Smrg return nir_op_imov; 23b8e80941Smrg } 24b8e80941Smrg 25b8e80941Smrg switch (src_base) { 26b8e80941Smrg case nir_type_int: 27b8e80941Smrg switch (dst_base) { 28b8e80941Smrg case nir_type_int: 29b8e80941Smrg case nir_type_uint: 30b8e80941Smrg 31b8e80941Smrg switch (dst_bit_size) { 32b8e80941Smrg case 1: 33b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 34b8e80941Smrg return nir_op_i2i1; 35b8e80941Smrg case 8: 36b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 37b8e80941Smrg return nir_op_i2i8; 38b8e80941Smrg case 16: 39b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 40b8e80941Smrg return nir_op_i2i16; 41b8e80941Smrg case 32: 42b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 43b8e80941Smrg return nir_op_i2i32; 44b8e80941Smrg case 64: 45b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 46b8e80941Smrg return nir_op_i2i64; 47b8e80941Smrg default: 48b8e80941Smrg unreachable("Invalid nir alu bit size"); 49b8e80941Smrg } 50b8e80941Smrg case nir_type_float: 51b8e80941Smrg switch (dst_bit_size) { 52b8e80941Smrg case 16: 53b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 54b8e80941Smrg return nir_op_i2f16; 55b8e80941Smrg case 32: 56b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 57b8e80941Smrg return nir_op_i2f32; 58b8e80941Smrg case 64: 59b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 60b8e80941Smrg return nir_op_i2f64; 61b8e80941Smrg default: 62b8e80941Smrg unreachable("Invalid nir alu bit size"); 63b8e80941Smrg } 64b8e80941Smrg case nir_type_bool: 65b8e80941Smrg switch (dst_bit_size) { 66b8e80941Smrg case 1: 67b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 68b8e80941Smrg return nir_op_i2b1; 69b8e80941Smrg case 32: 70b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 71b8e80941Smrg return nir_op_i2b32; 72b8e80941Smrg default: 73b8e80941Smrg unreachable("Invalid nir alu bit size"); 74b8e80941Smrg } 75b8e80941Smrg default: 76b8e80941Smrg unreachable("Invalid nir alu base type"); 77b8e80941Smrg } 78b8e80941Smrg case nir_type_uint: 79b8e80941Smrg switch (dst_base) { 80b8e80941Smrg case nir_type_int: 81b8e80941Smrg case nir_type_uint: 82b8e80941Smrg 83b8e80941Smrg switch (dst_bit_size) { 84b8e80941Smrg case 1: 85b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 86b8e80941Smrg return nir_op_u2u1; 87b8e80941Smrg case 8: 88b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 89b8e80941Smrg return nir_op_u2u8; 90b8e80941Smrg case 16: 91b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 92b8e80941Smrg return nir_op_u2u16; 93b8e80941Smrg case 32: 94b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 95b8e80941Smrg return nir_op_u2u32; 96b8e80941Smrg case 64: 97b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 98b8e80941Smrg return nir_op_u2u64; 99b8e80941Smrg default: 100b8e80941Smrg unreachable("Invalid nir alu bit size"); 101b8e80941Smrg } 102b8e80941Smrg case nir_type_float: 103b8e80941Smrg switch (dst_bit_size) { 104b8e80941Smrg case 16: 105b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 106b8e80941Smrg return nir_op_u2f16; 107b8e80941Smrg case 32: 108b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 109b8e80941Smrg return nir_op_u2f32; 110b8e80941Smrg case 64: 111b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 112b8e80941Smrg return nir_op_u2f64; 113b8e80941Smrg default: 114b8e80941Smrg unreachable("Invalid nir alu bit size"); 115b8e80941Smrg } 116b8e80941Smrg case nir_type_bool: 117b8e80941Smrg 118b8e80941Smrg switch (dst_bit_size) { 119b8e80941Smrg case 1: 120b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 121b8e80941Smrg return nir_op_i2b1; 122b8e80941Smrg case 32: 123b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 124b8e80941Smrg return nir_op_i2b32; 125b8e80941Smrg default: 126b8e80941Smrg unreachable("Invalid nir alu bit size"); 127b8e80941Smrg } 128b8e80941Smrg default: 129b8e80941Smrg unreachable("Invalid nir alu base type"); 130b8e80941Smrg } 131b8e80941Smrg case nir_type_float: 132b8e80941Smrg switch (dst_base) { 133b8e80941Smrg case nir_type_int: 134b8e80941Smrg switch (dst_bit_size) { 135b8e80941Smrg case 1: 136b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 137b8e80941Smrg return nir_op_f2i1; 138b8e80941Smrg case 8: 139b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 140b8e80941Smrg return nir_op_f2i8; 141b8e80941Smrg case 16: 142b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 143b8e80941Smrg return nir_op_f2i16; 144b8e80941Smrg case 32: 145b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 146b8e80941Smrg return nir_op_f2i32; 147b8e80941Smrg case 64: 148b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 149b8e80941Smrg return nir_op_f2i64; 150b8e80941Smrg default: 151b8e80941Smrg unreachable("Invalid nir alu bit size"); 152b8e80941Smrg } 153b8e80941Smrg case nir_type_uint: 154b8e80941Smrg switch (dst_bit_size) { 155b8e80941Smrg case 1: 156b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 157b8e80941Smrg return nir_op_f2u1; 158b8e80941Smrg case 8: 159b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 160b8e80941Smrg return nir_op_f2u8; 161b8e80941Smrg case 16: 162b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 163b8e80941Smrg return nir_op_f2u16; 164b8e80941Smrg case 32: 165b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 166b8e80941Smrg return nir_op_f2u32; 167b8e80941Smrg case 64: 168b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 169b8e80941Smrg return nir_op_f2u64; 170b8e80941Smrg default: 171b8e80941Smrg unreachable("Invalid nir alu bit size"); 172b8e80941Smrg } 173b8e80941Smrg case nir_type_float: 174b8e80941Smrg switch (dst_bit_size) { 175b8e80941Smrg case 16: 176b8e80941Smrg switch(rnd) { 177b8e80941Smrg case nir_rounding_mode_rtne: 178b8e80941Smrg return nir_op_f2f16_rtne; 179b8e80941Smrg case nir_rounding_mode_rtz: 180b8e80941Smrg return nir_op_f2f16_rtz; 181b8e80941Smrg case nir_rounding_mode_undef: 182b8e80941Smrg return nir_op_f2f16; 183b8e80941Smrg default: 184b8e80941Smrg unreachable("Invalid 16-bit nir rounding mode"); 185b8e80941Smrg } 186b8e80941Smrg case 32: 187b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 188b8e80941Smrg return nir_op_f2f32; 189b8e80941Smrg case 64: 190b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 191b8e80941Smrg return nir_op_f2f64; 192b8e80941Smrg default: 193b8e80941Smrg unreachable("Invalid nir alu bit size"); 194b8e80941Smrg } 195b8e80941Smrg case nir_type_bool: 196b8e80941Smrg switch (dst_bit_size) { 197b8e80941Smrg case 1: 198b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 199b8e80941Smrg return nir_op_f2b1; 200b8e80941Smrg case 32: 201b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 202b8e80941Smrg return nir_op_f2b32; 203b8e80941Smrg default: 204b8e80941Smrg unreachable("Invalid nir alu bit size"); 205b8e80941Smrg } 206b8e80941Smrg default: 207b8e80941Smrg unreachable("Invalid nir alu base type"); 208b8e80941Smrg } 209b8e80941Smrg case nir_type_bool: 210b8e80941Smrg switch (dst_base) { 211b8e80941Smrg case nir_type_int: 212b8e80941Smrg case nir_type_uint: 213b8e80941Smrg 214b8e80941Smrg switch (dst_bit_size) { 215b8e80941Smrg case 1: 216b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 217b8e80941Smrg return nir_op_b2i1; 218b8e80941Smrg case 8: 219b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 220b8e80941Smrg return nir_op_b2i8; 221b8e80941Smrg case 16: 222b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 223b8e80941Smrg return nir_op_b2i16; 224b8e80941Smrg case 32: 225b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 226b8e80941Smrg return nir_op_b2i32; 227b8e80941Smrg case 64: 228b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 229b8e80941Smrg return nir_op_b2i64; 230b8e80941Smrg default: 231b8e80941Smrg unreachable("Invalid nir alu bit size"); 232b8e80941Smrg } 233b8e80941Smrg case nir_type_float: 234b8e80941Smrg switch (dst_bit_size) { 235b8e80941Smrg case 16: 236b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 237b8e80941Smrg return nir_op_b2f16; 238b8e80941Smrg case 32: 239b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 240b8e80941Smrg return nir_op_b2f32; 241b8e80941Smrg case 64: 242b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 243b8e80941Smrg return nir_op_b2f64; 244b8e80941Smrg default: 245b8e80941Smrg unreachable("Invalid nir alu bit size"); 246b8e80941Smrg } 247b8e80941Smrg case nir_type_bool: 248b8e80941Smrg 249b8e80941Smrg switch (dst_bit_size) { 250b8e80941Smrg case 1: 251b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 252b8e80941Smrg return nir_op_b2i1; 253b8e80941Smrg case 8: 254b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 255b8e80941Smrg return nir_op_b2i8; 256b8e80941Smrg case 16: 257b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 258b8e80941Smrg return nir_op_b2i16; 259b8e80941Smrg case 32: 260b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 261b8e80941Smrg return nir_op_b2i32; 262b8e80941Smrg case 64: 263b8e80941Smrg assert(rnd == nir_rounding_mode_undef); 264b8e80941Smrg return nir_op_b2i64; 265b8e80941Smrg default: 266b8e80941Smrg unreachable("Invalid nir alu bit size"); 267b8e80941Smrg } 268b8e80941Smrg default: 269b8e80941Smrg unreachable("Invalid nir alu base type"); 270b8e80941Smrg } 271b8e80941Smrg default: 272b8e80941Smrg unreachable("Invalid nir alu base type"); 273b8e80941Smrg } 274b8e80941Smrg} 275b8e80941Smrg 276b8e80941Smrgconst nir_op_info nir_op_infos[nir_num_opcodes] = { 277b8e80941Smrg{ 278b8e80941Smrg .name = "b2f16", 279b8e80941Smrg .num_inputs = 1, 280b8e80941Smrg .output_size = 0, 281b8e80941Smrg .output_type = nir_type_float16, 282b8e80941Smrg .input_sizes = { 283b8e80941Smrg 0 284b8e80941Smrg }, 285b8e80941Smrg .input_types = { 286b8e80941Smrg nir_type_bool 287b8e80941Smrg }, 288b8e80941Smrg .is_conversion = true, 289b8e80941Smrg .algebraic_properties = 290b8e80941Smrg 0 291b8e80941Smrg}, 292b8e80941Smrg{ 293b8e80941Smrg .name = "b2f32", 294b8e80941Smrg .num_inputs = 1, 295b8e80941Smrg .output_size = 0, 296b8e80941Smrg .output_type = nir_type_float32, 297b8e80941Smrg .input_sizes = { 298b8e80941Smrg 0 299b8e80941Smrg }, 300b8e80941Smrg .input_types = { 301b8e80941Smrg nir_type_bool 302b8e80941Smrg }, 303b8e80941Smrg .is_conversion = true, 304b8e80941Smrg .algebraic_properties = 305b8e80941Smrg 0 306b8e80941Smrg}, 307b8e80941Smrg{ 308b8e80941Smrg .name = "b2f64", 309b8e80941Smrg .num_inputs = 1, 310b8e80941Smrg .output_size = 0, 311b8e80941Smrg .output_type = nir_type_float64, 312b8e80941Smrg .input_sizes = { 313b8e80941Smrg 0 314b8e80941Smrg }, 315b8e80941Smrg .input_types = { 316b8e80941Smrg nir_type_bool 317b8e80941Smrg }, 318b8e80941Smrg .is_conversion = true, 319b8e80941Smrg .algebraic_properties = 320b8e80941Smrg 0 321b8e80941Smrg}, 322b8e80941Smrg{ 323b8e80941Smrg .name = "b2i1", 324b8e80941Smrg .num_inputs = 1, 325b8e80941Smrg .output_size = 0, 326b8e80941Smrg .output_type = nir_type_int1, 327b8e80941Smrg .input_sizes = { 328b8e80941Smrg 0 329b8e80941Smrg }, 330b8e80941Smrg .input_types = { 331b8e80941Smrg nir_type_bool 332b8e80941Smrg }, 333b8e80941Smrg .is_conversion = true, 334b8e80941Smrg .algebraic_properties = 335b8e80941Smrg 0 336b8e80941Smrg}, 337b8e80941Smrg{ 338b8e80941Smrg .name = "b2i16", 339b8e80941Smrg .num_inputs = 1, 340b8e80941Smrg .output_size = 0, 341b8e80941Smrg .output_type = nir_type_int16, 342b8e80941Smrg .input_sizes = { 343b8e80941Smrg 0 344b8e80941Smrg }, 345b8e80941Smrg .input_types = { 346b8e80941Smrg nir_type_bool 347b8e80941Smrg }, 348b8e80941Smrg .is_conversion = true, 349b8e80941Smrg .algebraic_properties = 350b8e80941Smrg 0 351b8e80941Smrg}, 352b8e80941Smrg{ 353b8e80941Smrg .name = "b2i32", 354b8e80941Smrg .num_inputs = 1, 355b8e80941Smrg .output_size = 0, 356b8e80941Smrg .output_type = nir_type_int32, 357b8e80941Smrg .input_sizes = { 358b8e80941Smrg 0 359b8e80941Smrg }, 360b8e80941Smrg .input_types = { 361b8e80941Smrg nir_type_bool 362b8e80941Smrg }, 363b8e80941Smrg .is_conversion = true, 364b8e80941Smrg .algebraic_properties = 365b8e80941Smrg 0 366b8e80941Smrg}, 367b8e80941Smrg{ 368b8e80941Smrg .name = "b2i64", 369b8e80941Smrg .num_inputs = 1, 370b8e80941Smrg .output_size = 0, 371b8e80941Smrg .output_type = nir_type_int64, 372b8e80941Smrg .input_sizes = { 373b8e80941Smrg 0 374b8e80941Smrg }, 375b8e80941Smrg .input_types = { 376b8e80941Smrg nir_type_bool 377b8e80941Smrg }, 378b8e80941Smrg .is_conversion = true, 379b8e80941Smrg .algebraic_properties = 380b8e80941Smrg 0 381b8e80941Smrg}, 382b8e80941Smrg{ 383b8e80941Smrg .name = "b2i8", 384b8e80941Smrg .num_inputs = 1, 385b8e80941Smrg .output_size = 0, 386b8e80941Smrg .output_type = nir_type_int8, 387b8e80941Smrg .input_sizes = { 388b8e80941Smrg 0 389b8e80941Smrg }, 390b8e80941Smrg .input_types = { 391b8e80941Smrg nir_type_bool 392b8e80941Smrg }, 393b8e80941Smrg .is_conversion = true, 394b8e80941Smrg .algebraic_properties = 395b8e80941Smrg 0 396b8e80941Smrg}, 397b8e80941Smrg{ 398b8e80941Smrg .name = "b32all_fequal2", 399b8e80941Smrg .num_inputs = 2, 400b8e80941Smrg .output_size = 1, 401b8e80941Smrg .output_type = nir_type_bool32, 402b8e80941Smrg .input_sizes = { 403b8e80941Smrg 2, 2 404b8e80941Smrg }, 405b8e80941Smrg .input_types = { 406b8e80941Smrg nir_type_float, nir_type_float 407b8e80941Smrg }, 408b8e80941Smrg .is_conversion = false, 409b8e80941Smrg .algebraic_properties = 410b8e80941Smrg NIR_OP_IS_COMMUTATIVE 411b8e80941Smrg}, 412b8e80941Smrg{ 413b8e80941Smrg .name = "b32all_fequal3", 414b8e80941Smrg .num_inputs = 2, 415b8e80941Smrg .output_size = 1, 416b8e80941Smrg .output_type = nir_type_bool32, 417b8e80941Smrg .input_sizes = { 418b8e80941Smrg 3, 3 419b8e80941Smrg }, 420b8e80941Smrg .input_types = { 421b8e80941Smrg nir_type_float, nir_type_float 422b8e80941Smrg }, 423b8e80941Smrg .is_conversion = false, 424b8e80941Smrg .algebraic_properties = 425b8e80941Smrg NIR_OP_IS_COMMUTATIVE 426b8e80941Smrg}, 427b8e80941Smrg{ 428b8e80941Smrg .name = "b32all_fequal4", 429b8e80941Smrg .num_inputs = 2, 430b8e80941Smrg .output_size = 1, 431b8e80941Smrg .output_type = nir_type_bool32, 432b8e80941Smrg .input_sizes = { 433b8e80941Smrg 4, 4 434b8e80941Smrg }, 435b8e80941Smrg .input_types = { 436b8e80941Smrg nir_type_float, nir_type_float 437b8e80941Smrg }, 438b8e80941Smrg .is_conversion = false, 439b8e80941Smrg .algebraic_properties = 440b8e80941Smrg NIR_OP_IS_COMMUTATIVE 441b8e80941Smrg}, 442b8e80941Smrg{ 443b8e80941Smrg .name = "b32all_iequal2", 444b8e80941Smrg .num_inputs = 2, 445b8e80941Smrg .output_size = 1, 446b8e80941Smrg .output_type = nir_type_bool32, 447b8e80941Smrg .input_sizes = { 448b8e80941Smrg 2, 2 449b8e80941Smrg }, 450b8e80941Smrg .input_types = { 451b8e80941Smrg nir_type_int, nir_type_int 452b8e80941Smrg }, 453b8e80941Smrg .is_conversion = false, 454b8e80941Smrg .algebraic_properties = 455b8e80941Smrg NIR_OP_IS_COMMUTATIVE 456b8e80941Smrg}, 457b8e80941Smrg{ 458b8e80941Smrg .name = "b32all_iequal3", 459b8e80941Smrg .num_inputs = 2, 460b8e80941Smrg .output_size = 1, 461b8e80941Smrg .output_type = nir_type_bool32, 462b8e80941Smrg .input_sizes = { 463b8e80941Smrg 3, 3 464b8e80941Smrg }, 465b8e80941Smrg .input_types = { 466b8e80941Smrg nir_type_int, nir_type_int 467b8e80941Smrg }, 468b8e80941Smrg .is_conversion = false, 469b8e80941Smrg .algebraic_properties = 470b8e80941Smrg NIR_OP_IS_COMMUTATIVE 471b8e80941Smrg}, 472b8e80941Smrg{ 473b8e80941Smrg .name = "b32all_iequal4", 474b8e80941Smrg .num_inputs = 2, 475b8e80941Smrg .output_size = 1, 476b8e80941Smrg .output_type = nir_type_bool32, 477b8e80941Smrg .input_sizes = { 478b8e80941Smrg 4, 4 479b8e80941Smrg }, 480b8e80941Smrg .input_types = { 481b8e80941Smrg nir_type_int, nir_type_int 482b8e80941Smrg }, 483b8e80941Smrg .is_conversion = false, 484b8e80941Smrg .algebraic_properties = 485b8e80941Smrg NIR_OP_IS_COMMUTATIVE 486b8e80941Smrg}, 487b8e80941Smrg{ 488b8e80941Smrg .name = "b32any_fnequal2", 489b8e80941Smrg .num_inputs = 2, 490b8e80941Smrg .output_size = 1, 491b8e80941Smrg .output_type = nir_type_bool32, 492b8e80941Smrg .input_sizes = { 493b8e80941Smrg 2, 2 494b8e80941Smrg }, 495b8e80941Smrg .input_types = { 496b8e80941Smrg nir_type_float, nir_type_float 497b8e80941Smrg }, 498b8e80941Smrg .is_conversion = false, 499b8e80941Smrg .algebraic_properties = 500b8e80941Smrg NIR_OP_IS_COMMUTATIVE 501b8e80941Smrg}, 502b8e80941Smrg{ 503b8e80941Smrg .name = "b32any_fnequal3", 504b8e80941Smrg .num_inputs = 2, 505b8e80941Smrg .output_size = 1, 506b8e80941Smrg .output_type = nir_type_bool32, 507b8e80941Smrg .input_sizes = { 508b8e80941Smrg 3, 3 509b8e80941Smrg }, 510b8e80941Smrg .input_types = { 511b8e80941Smrg nir_type_float, nir_type_float 512b8e80941Smrg }, 513b8e80941Smrg .is_conversion = false, 514b8e80941Smrg .algebraic_properties = 515b8e80941Smrg NIR_OP_IS_COMMUTATIVE 516b8e80941Smrg}, 517b8e80941Smrg{ 518b8e80941Smrg .name = "b32any_fnequal4", 519b8e80941Smrg .num_inputs = 2, 520b8e80941Smrg .output_size = 1, 521b8e80941Smrg .output_type = nir_type_bool32, 522b8e80941Smrg .input_sizes = { 523b8e80941Smrg 4, 4 524b8e80941Smrg }, 525b8e80941Smrg .input_types = { 526b8e80941Smrg nir_type_float, nir_type_float 527b8e80941Smrg }, 528b8e80941Smrg .is_conversion = false, 529b8e80941Smrg .algebraic_properties = 530b8e80941Smrg NIR_OP_IS_COMMUTATIVE 531b8e80941Smrg}, 532b8e80941Smrg{ 533b8e80941Smrg .name = "b32any_inequal2", 534b8e80941Smrg .num_inputs = 2, 535b8e80941Smrg .output_size = 1, 536b8e80941Smrg .output_type = nir_type_bool32, 537b8e80941Smrg .input_sizes = { 538b8e80941Smrg 2, 2 539b8e80941Smrg }, 540b8e80941Smrg .input_types = { 541b8e80941Smrg nir_type_int, nir_type_int 542b8e80941Smrg }, 543b8e80941Smrg .is_conversion = false, 544b8e80941Smrg .algebraic_properties = 545b8e80941Smrg NIR_OP_IS_COMMUTATIVE 546b8e80941Smrg}, 547b8e80941Smrg{ 548b8e80941Smrg .name = "b32any_inequal3", 549b8e80941Smrg .num_inputs = 2, 550b8e80941Smrg .output_size = 1, 551b8e80941Smrg .output_type = nir_type_bool32, 552b8e80941Smrg .input_sizes = { 553b8e80941Smrg 3, 3 554b8e80941Smrg }, 555b8e80941Smrg .input_types = { 556b8e80941Smrg nir_type_int, nir_type_int 557b8e80941Smrg }, 558b8e80941Smrg .is_conversion = false, 559b8e80941Smrg .algebraic_properties = 560b8e80941Smrg NIR_OP_IS_COMMUTATIVE 561b8e80941Smrg}, 562b8e80941Smrg{ 563b8e80941Smrg .name = "b32any_inequal4", 564b8e80941Smrg .num_inputs = 2, 565b8e80941Smrg .output_size = 1, 566b8e80941Smrg .output_type = nir_type_bool32, 567b8e80941Smrg .input_sizes = { 568b8e80941Smrg 4, 4 569b8e80941Smrg }, 570b8e80941Smrg .input_types = { 571b8e80941Smrg nir_type_int, nir_type_int 572b8e80941Smrg }, 573b8e80941Smrg .is_conversion = false, 574b8e80941Smrg .algebraic_properties = 575b8e80941Smrg NIR_OP_IS_COMMUTATIVE 576b8e80941Smrg}, 577b8e80941Smrg{ 578b8e80941Smrg .name = "b32csel", 579b8e80941Smrg .num_inputs = 3, 580b8e80941Smrg .output_size = 0, 581b8e80941Smrg .output_type = nir_type_uint, 582b8e80941Smrg .input_sizes = { 583b8e80941Smrg 0, 0, 0 584b8e80941Smrg }, 585b8e80941Smrg .input_types = { 586b8e80941Smrg nir_type_bool32, nir_type_uint, nir_type_uint 587b8e80941Smrg }, 588b8e80941Smrg .is_conversion = false, 589b8e80941Smrg .algebraic_properties = 590b8e80941Smrg 0 591b8e80941Smrg}, 592b8e80941Smrg{ 593b8e80941Smrg .name = "ball_fequal2", 594b8e80941Smrg .num_inputs = 2, 595b8e80941Smrg .output_size = 1, 596b8e80941Smrg .output_type = nir_type_bool1, 597b8e80941Smrg .input_sizes = { 598b8e80941Smrg 2, 2 599b8e80941Smrg }, 600b8e80941Smrg .input_types = { 601b8e80941Smrg nir_type_float, nir_type_float 602b8e80941Smrg }, 603b8e80941Smrg .is_conversion = false, 604b8e80941Smrg .algebraic_properties = 605b8e80941Smrg NIR_OP_IS_COMMUTATIVE 606b8e80941Smrg}, 607b8e80941Smrg{ 608b8e80941Smrg .name = "ball_fequal3", 609b8e80941Smrg .num_inputs = 2, 610b8e80941Smrg .output_size = 1, 611b8e80941Smrg .output_type = nir_type_bool1, 612b8e80941Smrg .input_sizes = { 613b8e80941Smrg 3, 3 614b8e80941Smrg }, 615b8e80941Smrg .input_types = { 616b8e80941Smrg nir_type_float, nir_type_float 617b8e80941Smrg }, 618b8e80941Smrg .is_conversion = false, 619b8e80941Smrg .algebraic_properties = 620b8e80941Smrg NIR_OP_IS_COMMUTATIVE 621b8e80941Smrg}, 622b8e80941Smrg{ 623b8e80941Smrg .name = "ball_fequal4", 624b8e80941Smrg .num_inputs = 2, 625b8e80941Smrg .output_size = 1, 626b8e80941Smrg .output_type = nir_type_bool1, 627b8e80941Smrg .input_sizes = { 628b8e80941Smrg 4, 4 629b8e80941Smrg }, 630b8e80941Smrg .input_types = { 631b8e80941Smrg nir_type_float, nir_type_float 632b8e80941Smrg }, 633b8e80941Smrg .is_conversion = false, 634b8e80941Smrg .algebraic_properties = 635b8e80941Smrg NIR_OP_IS_COMMUTATIVE 636b8e80941Smrg}, 637b8e80941Smrg{ 638b8e80941Smrg .name = "ball_iequal2", 639b8e80941Smrg .num_inputs = 2, 640b8e80941Smrg .output_size = 1, 641b8e80941Smrg .output_type = nir_type_bool1, 642b8e80941Smrg .input_sizes = { 643b8e80941Smrg 2, 2 644b8e80941Smrg }, 645b8e80941Smrg .input_types = { 646b8e80941Smrg nir_type_int, nir_type_int 647b8e80941Smrg }, 648b8e80941Smrg .is_conversion = false, 649b8e80941Smrg .algebraic_properties = 650b8e80941Smrg NIR_OP_IS_COMMUTATIVE 651b8e80941Smrg}, 652b8e80941Smrg{ 653b8e80941Smrg .name = "ball_iequal3", 654b8e80941Smrg .num_inputs = 2, 655b8e80941Smrg .output_size = 1, 656b8e80941Smrg .output_type = nir_type_bool1, 657b8e80941Smrg .input_sizes = { 658b8e80941Smrg 3, 3 659b8e80941Smrg }, 660b8e80941Smrg .input_types = { 661b8e80941Smrg nir_type_int, nir_type_int 662b8e80941Smrg }, 663b8e80941Smrg .is_conversion = false, 664b8e80941Smrg .algebraic_properties = 665b8e80941Smrg NIR_OP_IS_COMMUTATIVE 666b8e80941Smrg}, 667b8e80941Smrg{ 668b8e80941Smrg .name = "ball_iequal4", 669b8e80941Smrg .num_inputs = 2, 670b8e80941Smrg .output_size = 1, 671b8e80941Smrg .output_type = nir_type_bool1, 672b8e80941Smrg .input_sizes = { 673b8e80941Smrg 4, 4 674b8e80941Smrg }, 675b8e80941Smrg .input_types = { 676b8e80941Smrg nir_type_int, nir_type_int 677b8e80941Smrg }, 678b8e80941Smrg .is_conversion = false, 679b8e80941Smrg .algebraic_properties = 680b8e80941Smrg NIR_OP_IS_COMMUTATIVE 681b8e80941Smrg}, 682b8e80941Smrg{ 683b8e80941Smrg .name = "bany_fnequal2", 684b8e80941Smrg .num_inputs = 2, 685b8e80941Smrg .output_size = 1, 686b8e80941Smrg .output_type = nir_type_bool1, 687b8e80941Smrg .input_sizes = { 688b8e80941Smrg 2, 2 689b8e80941Smrg }, 690b8e80941Smrg .input_types = { 691b8e80941Smrg nir_type_float, nir_type_float 692b8e80941Smrg }, 693b8e80941Smrg .is_conversion = false, 694b8e80941Smrg .algebraic_properties = 695b8e80941Smrg NIR_OP_IS_COMMUTATIVE 696b8e80941Smrg}, 697b8e80941Smrg{ 698b8e80941Smrg .name = "bany_fnequal3", 699b8e80941Smrg .num_inputs = 2, 700b8e80941Smrg .output_size = 1, 701b8e80941Smrg .output_type = nir_type_bool1, 702b8e80941Smrg .input_sizes = { 703b8e80941Smrg 3, 3 704b8e80941Smrg }, 705b8e80941Smrg .input_types = { 706b8e80941Smrg nir_type_float, nir_type_float 707b8e80941Smrg }, 708b8e80941Smrg .is_conversion = false, 709b8e80941Smrg .algebraic_properties = 710b8e80941Smrg NIR_OP_IS_COMMUTATIVE 711b8e80941Smrg}, 712b8e80941Smrg{ 713b8e80941Smrg .name = "bany_fnequal4", 714b8e80941Smrg .num_inputs = 2, 715b8e80941Smrg .output_size = 1, 716b8e80941Smrg .output_type = nir_type_bool1, 717b8e80941Smrg .input_sizes = { 718b8e80941Smrg 4, 4 719b8e80941Smrg }, 720b8e80941Smrg .input_types = { 721b8e80941Smrg nir_type_float, nir_type_float 722b8e80941Smrg }, 723b8e80941Smrg .is_conversion = false, 724b8e80941Smrg .algebraic_properties = 725b8e80941Smrg NIR_OP_IS_COMMUTATIVE 726b8e80941Smrg}, 727b8e80941Smrg{ 728b8e80941Smrg .name = "bany_inequal2", 729b8e80941Smrg .num_inputs = 2, 730b8e80941Smrg .output_size = 1, 731b8e80941Smrg .output_type = nir_type_bool1, 732b8e80941Smrg .input_sizes = { 733b8e80941Smrg 2, 2 734b8e80941Smrg }, 735b8e80941Smrg .input_types = { 736b8e80941Smrg nir_type_int, nir_type_int 737b8e80941Smrg }, 738b8e80941Smrg .is_conversion = false, 739b8e80941Smrg .algebraic_properties = 740b8e80941Smrg NIR_OP_IS_COMMUTATIVE 741b8e80941Smrg}, 742b8e80941Smrg{ 743b8e80941Smrg .name = "bany_inequal3", 744b8e80941Smrg .num_inputs = 2, 745b8e80941Smrg .output_size = 1, 746b8e80941Smrg .output_type = nir_type_bool1, 747b8e80941Smrg .input_sizes = { 748b8e80941Smrg 3, 3 749b8e80941Smrg }, 750b8e80941Smrg .input_types = { 751b8e80941Smrg nir_type_int, nir_type_int 752b8e80941Smrg }, 753b8e80941Smrg .is_conversion = false, 754b8e80941Smrg .algebraic_properties = 755b8e80941Smrg NIR_OP_IS_COMMUTATIVE 756b8e80941Smrg}, 757b8e80941Smrg{ 758b8e80941Smrg .name = "bany_inequal4", 759b8e80941Smrg .num_inputs = 2, 760b8e80941Smrg .output_size = 1, 761b8e80941Smrg .output_type = nir_type_bool1, 762b8e80941Smrg .input_sizes = { 763b8e80941Smrg 4, 4 764b8e80941Smrg }, 765b8e80941Smrg .input_types = { 766b8e80941Smrg nir_type_int, nir_type_int 767b8e80941Smrg }, 768b8e80941Smrg .is_conversion = false, 769b8e80941Smrg .algebraic_properties = 770b8e80941Smrg NIR_OP_IS_COMMUTATIVE 771b8e80941Smrg}, 772b8e80941Smrg{ 773b8e80941Smrg .name = "bcsel", 774b8e80941Smrg .num_inputs = 3, 775b8e80941Smrg .output_size = 0, 776b8e80941Smrg .output_type = nir_type_uint, 777b8e80941Smrg .input_sizes = { 778b8e80941Smrg 0, 0, 0 779b8e80941Smrg }, 780b8e80941Smrg .input_types = { 781b8e80941Smrg nir_type_bool1, nir_type_uint, nir_type_uint 782b8e80941Smrg }, 783b8e80941Smrg .is_conversion = false, 784b8e80941Smrg .algebraic_properties = 785b8e80941Smrg 0 786b8e80941Smrg}, 787b8e80941Smrg{ 788b8e80941Smrg .name = "bfi", 789b8e80941Smrg .num_inputs = 3, 790b8e80941Smrg .output_size = 0, 791b8e80941Smrg .output_type = nir_type_uint32, 792b8e80941Smrg .input_sizes = { 793b8e80941Smrg 0, 0, 0 794b8e80941Smrg }, 795b8e80941Smrg .input_types = { 796b8e80941Smrg nir_type_uint32, nir_type_uint32, nir_type_uint32 797b8e80941Smrg }, 798b8e80941Smrg .is_conversion = false, 799b8e80941Smrg .algebraic_properties = 800b8e80941Smrg 0 801b8e80941Smrg}, 802b8e80941Smrg{ 803b8e80941Smrg .name = "bfm", 804b8e80941Smrg .num_inputs = 2, 805b8e80941Smrg .output_size = 0, 806b8e80941Smrg .output_type = nir_type_uint32, 807b8e80941Smrg .input_sizes = { 808b8e80941Smrg 0, 0 809b8e80941Smrg }, 810b8e80941Smrg .input_types = { 811b8e80941Smrg nir_type_int32, nir_type_int32 812b8e80941Smrg }, 813b8e80941Smrg .is_conversion = false, 814b8e80941Smrg .algebraic_properties = 815b8e80941Smrg 0 816b8e80941Smrg}, 817b8e80941Smrg{ 818b8e80941Smrg .name = "bit_count", 819b8e80941Smrg .num_inputs = 1, 820b8e80941Smrg .output_size = 0, 821b8e80941Smrg .output_type = nir_type_uint32, 822b8e80941Smrg .input_sizes = { 823b8e80941Smrg 0 824b8e80941Smrg }, 825b8e80941Smrg .input_types = { 826b8e80941Smrg nir_type_uint 827b8e80941Smrg }, 828b8e80941Smrg .is_conversion = false, 829b8e80941Smrg .algebraic_properties = 830b8e80941Smrg 0 831b8e80941Smrg}, 832b8e80941Smrg{ 833b8e80941Smrg .name = "bitfield_insert", 834b8e80941Smrg .num_inputs = 4, 835b8e80941Smrg .output_size = 0, 836b8e80941Smrg .output_type = nir_type_uint32, 837b8e80941Smrg .input_sizes = { 838b8e80941Smrg 0, 0, 0, 0 839b8e80941Smrg }, 840b8e80941Smrg .input_types = { 841b8e80941Smrg nir_type_uint32, nir_type_uint32, nir_type_int32, nir_type_int32 842b8e80941Smrg }, 843b8e80941Smrg .is_conversion = false, 844b8e80941Smrg .algebraic_properties = 845b8e80941Smrg 0 846b8e80941Smrg}, 847b8e80941Smrg{ 848b8e80941Smrg .name = "bitfield_reverse", 849b8e80941Smrg .num_inputs = 1, 850b8e80941Smrg .output_size = 0, 851b8e80941Smrg .output_type = nir_type_uint32, 852b8e80941Smrg .input_sizes = { 853b8e80941Smrg 0 854b8e80941Smrg }, 855b8e80941Smrg .input_types = { 856b8e80941Smrg nir_type_uint32 857b8e80941Smrg }, 858b8e80941Smrg .is_conversion = false, 859b8e80941Smrg .algebraic_properties = 860b8e80941Smrg 0 861b8e80941Smrg}, 862b8e80941Smrg{ 863b8e80941Smrg .name = "cube_face_coord", 864b8e80941Smrg .num_inputs = 1, 865b8e80941Smrg .output_size = 2, 866b8e80941Smrg .output_type = nir_type_float32, 867b8e80941Smrg .input_sizes = { 868b8e80941Smrg 3 869b8e80941Smrg }, 870b8e80941Smrg .input_types = { 871b8e80941Smrg nir_type_float32 872b8e80941Smrg }, 873b8e80941Smrg .is_conversion = false, 874b8e80941Smrg .algebraic_properties = 875b8e80941Smrg 0 876b8e80941Smrg}, 877b8e80941Smrg{ 878b8e80941Smrg .name = "cube_face_index", 879b8e80941Smrg .num_inputs = 1, 880b8e80941Smrg .output_size = 1, 881b8e80941Smrg .output_type = nir_type_float32, 882b8e80941Smrg .input_sizes = { 883b8e80941Smrg 3 884b8e80941Smrg }, 885b8e80941Smrg .input_types = { 886b8e80941Smrg nir_type_float32 887b8e80941Smrg }, 888b8e80941Smrg .is_conversion = false, 889b8e80941Smrg .algebraic_properties = 890b8e80941Smrg 0 891b8e80941Smrg}, 892b8e80941Smrg{ 893b8e80941Smrg .name = "extract_i16", 894b8e80941Smrg .num_inputs = 2, 895b8e80941Smrg .output_size = 0, 896b8e80941Smrg .output_type = nir_type_int, 897b8e80941Smrg .input_sizes = { 898b8e80941Smrg 0, 0 899b8e80941Smrg }, 900b8e80941Smrg .input_types = { 901b8e80941Smrg nir_type_int, nir_type_int 902b8e80941Smrg }, 903b8e80941Smrg .is_conversion = false, 904b8e80941Smrg .algebraic_properties = 905b8e80941Smrg 0 906b8e80941Smrg}, 907b8e80941Smrg{ 908b8e80941Smrg .name = "extract_i8", 909b8e80941Smrg .num_inputs = 2, 910b8e80941Smrg .output_size = 0, 911b8e80941Smrg .output_type = nir_type_int, 912b8e80941Smrg .input_sizes = { 913b8e80941Smrg 0, 0 914b8e80941Smrg }, 915b8e80941Smrg .input_types = { 916b8e80941Smrg nir_type_int, nir_type_int 917b8e80941Smrg }, 918b8e80941Smrg .is_conversion = false, 919b8e80941Smrg .algebraic_properties = 920b8e80941Smrg 0 921b8e80941Smrg}, 922b8e80941Smrg{ 923b8e80941Smrg .name = "extract_u16", 924b8e80941Smrg .num_inputs = 2, 925b8e80941Smrg .output_size = 0, 926b8e80941Smrg .output_type = nir_type_uint, 927b8e80941Smrg .input_sizes = { 928b8e80941Smrg 0, 0 929b8e80941Smrg }, 930b8e80941Smrg .input_types = { 931b8e80941Smrg nir_type_uint, nir_type_uint 932b8e80941Smrg }, 933b8e80941Smrg .is_conversion = false, 934b8e80941Smrg .algebraic_properties = 935b8e80941Smrg 0 936b8e80941Smrg}, 937b8e80941Smrg{ 938b8e80941Smrg .name = "extract_u8", 939b8e80941Smrg .num_inputs = 2, 940b8e80941Smrg .output_size = 0, 941b8e80941Smrg .output_type = nir_type_uint, 942b8e80941Smrg .input_sizes = { 943b8e80941Smrg 0, 0 944b8e80941Smrg }, 945b8e80941Smrg .input_types = { 946b8e80941Smrg nir_type_uint, nir_type_uint 947b8e80941Smrg }, 948b8e80941Smrg .is_conversion = false, 949b8e80941Smrg .algebraic_properties = 950b8e80941Smrg 0 951b8e80941Smrg}, 952b8e80941Smrg{ 953b8e80941Smrg .name = "f2b1", 954b8e80941Smrg .num_inputs = 1, 955b8e80941Smrg .output_size = 0, 956b8e80941Smrg .output_type = nir_type_bool1, 957b8e80941Smrg .input_sizes = { 958b8e80941Smrg 0 959b8e80941Smrg }, 960b8e80941Smrg .input_types = { 961b8e80941Smrg nir_type_float 962b8e80941Smrg }, 963b8e80941Smrg .is_conversion = true, 964b8e80941Smrg .algebraic_properties = 965b8e80941Smrg 0 966b8e80941Smrg}, 967b8e80941Smrg{ 968b8e80941Smrg .name = "f2b32", 969b8e80941Smrg .num_inputs = 1, 970b8e80941Smrg .output_size = 0, 971b8e80941Smrg .output_type = nir_type_bool32, 972b8e80941Smrg .input_sizes = { 973b8e80941Smrg 0 974b8e80941Smrg }, 975b8e80941Smrg .input_types = { 976b8e80941Smrg nir_type_float 977b8e80941Smrg }, 978b8e80941Smrg .is_conversion = true, 979b8e80941Smrg .algebraic_properties = 980b8e80941Smrg 0 981b8e80941Smrg}, 982b8e80941Smrg{ 983b8e80941Smrg .name = "f2f16", 984b8e80941Smrg .num_inputs = 1, 985b8e80941Smrg .output_size = 0, 986b8e80941Smrg .output_type = nir_type_float16, 987b8e80941Smrg .input_sizes = { 988b8e80941Smrg 0 989b8e80941Smrg }, 990b8e80941Smrg .input_types = { 991b8e80941Smrg nir_type_float 992b8e80941Smrg }, 993b8e80941Smrg .is_conversion = true, 994b8e80941Smrg .algebraic_properties = 995b8e80941Smrg 0 996b8e80941Smrg}, 997b8e80941Smrg{ 998b8e80941Smrg .name = "f2f16_rtne", 999b8e80941Smrg .num_inputs = 1, 1000b8e80941Smrg .output_size = 0, 1001b8e80941Smrg .output_type = nir_type_float16, 1002b8e80941Smrg .input_sizes = { 1003b8e80941Smrg 0 1004b8e80941Smrg }, 1005b8e80941Smrg .input_types = { 1006b8e80941Smrg nir_type_float 1007b8e80941Smrg }, 1008b8e80941Smrg .is_conversion = true, 1009b8e80941Smrg .algebraic_properties = 1010b8e80941Smrg 0 1011b8e80941Smrg}, 1012b8e80941Smrg{ 1013b8e80941Smrg .name = "f2f16_rtz", 1014b8e80941Smrg .num_inputs = 1, 1015b8e80941Smrg .output_size = 0, 1016b8e80941Smrg .output_type = nir_type_float16, 1017b8e80941Smrg .input_sizes = { 1018b8e80941Smrg 0 1019b8e80941Smrg }, 1020b8e80941Smrg .input_types = { 1021b8e80941Smrg nir_type_float 1022b8e80941Smrg }, 1023b8e80941Smrg .is_conversion = true, 1024b8e80941Smrg .algebraic_properties = 1025b8e80941Smrg 0 1026b8e80941Smrg}, 1027b8e80941Smrg{ 1028b8e80941Smrg .name = "f2f32", 1029b8e80941Smrg .num_inputs = 1, 1030b8e80941Smrg .output_size = 0, 1031b8e80941Smrg .output_type = nir_type_float32, 1032b8e80941Smrg .input_sizes = { 1033b8e80941Smrg 0 1034b8e80941Smrg }, 1035b8e80941Smrg .input_types = { 1036b8e80941Smrg nir_type_float 1037b8e80941Smrg }, 1038b8e80941Smrg .is_conversion = true, 1039b8e80941Smrg .algebraic_properties = 1040b8e80941Smrg 0 1041b8e80941Smrg}, 1042b8e80941Smrg{ 1043b8e80941Smrg .name = "f2f64", 1044b8e80941Smrg .num_inputs = 1, 1045b8e80941Smrg .output_size = 0, 1046b8e80941Smrg .output_type = nir_type_float64, 1047b8e80941Smrg .input_sizes = { 1048b8e80941Smrg 0 1049b8e80941Smrg }, 1050b8e80941Smrg .input_types = { 1051b8e80941Smrg nir_type_float 1052b8e80941Smrg }, 1053b8e80941Smrg .is_conversion = true, 1054b8e80941Smrg .algebraic_properties = 1055b8e80941Smrg 0 1056b8e80941Smrg}, 1057b8e80941Smrg{ 1058b8e80941Smrg .name = "f2i1", 1059b8e80941Smrg .num_inputs = 1, 1060b8e80941Smrg .output_size = 0, 1061b8e80941Smrg .output_type = nir_type_int1, 1062b8e80941Smrg .input_sizes = { 1063b8e80941Smrg 0 1064b8e80941Smrg }, 1065b8e80941Smrg .input_types = { 1066b8e80941Smrg nir_type_float 1067b8e80941Smrg }, 1068b8e80941Smrg .is_conversion = true, 1069b8e80941Smrg .algebraic_properties = 1070b8e80941Smrg 0 1071b8e80941Smrg}, 1072b8e80941Smrg{ 1073b8e80941Smrg .name = "f2i16", 1074b8e80941Smrg .num_inputs = 1, 1075b8e80941Smrg .output_size = 0, 1076b8e80941Smrg .output_type = nir_type_int16, 1077b8e80941Smrg .input_sizes = { 1078b8e80941Smrg 0 1079b8e80941Smrg }, 1080b8e80941Smrg .input_types = { 1081b8e80941Smrg nir_type_float 1082b8e80941Smrg }, 1083b8e80941Smrg .is_conversion = true, 1084b8e80941Smrg .algebraic_properties = 1085b8e80941Smrg 0 1086b8e80941Smrg}, 1087b8e80941Smrg{ 1088b8e80941Smrg .name = "f2i32", 1089b8e80941Smrg .num_inputs = 1, 1090b8e80941Smrg .output_size = 0, 1091b8e80941Smrg .output_type = nir_type_int32, 1092b8e80941Smrg .input_sizes = { 1093b8e80941Smrg 0 1094b8e80941Smrg }, 1095b8e80941Smrg .input_types = { 1096b8e80941Smrg nir_type_float 1097b8e80941Smrg }, 1098b8e80941Smrg .is_conversion = true, 1099b8e80941Smrg .algebraic_properties = 1100b8e80941Smrg 0 1101b8e80941Smrg}, 1102b8e80941Smrg{ 1103b8e80941Smrg .name = "f2i64", 1104b8e80941Smrg .num_inputs = 1, 1105b8e80941Smrg .output_size = 0, 1106b8e80941Smrg .output_type = nir_type_int64, 1107b8e80941Smrg .input_sizes = { 1108b8e80941Smrg 0 1109b8e80941Smrg }, 1110b8e80941Smrg .input_types = { 1111b8e80941Smrg nir_type_float 1112b8e80941Smrg }, 1113b8e80941Smrg .is_conversion = true, 1114b8e80941Smrg .algebraic_properties = 1115b8e80941Smrg 0 1116b8e80941Smrg}, 1117b8e80941Smrg{ 1118b8e80941Smrg .name = "f2i8", 1119b8e80941Smrg .num_inputs = 1, 1120b8e80941Smrg .output_size = 0, 1121b8e80941Smrg .output_type = nir_type_int8, 1122b8e80941Smrg .input_sizes = { 1123b8e80941Smrg 0 1124b8e80941Smrg }, 1125b8e80941Smrg .input_types = { 1126b8e80941Smrg nir_type_float 1127b8e80941Smrg }, 1128b8e80941Smrg .is_conversion = true, 1129b8e80941Smrg .algebraic_properties = 1130b8e80941Smrg 0 1131b8e80941Smrg}, 1132b8e80941Smrg{ 1133b8e80941Smrg .name = "f2u1", 1134b8e80941Smrg .num_inputs = 1, 1135b8e80941Smrg .output_size = 0, 1136b8e80941Smrg .output_type = nir_type_uint1, 1137b8e80941Smrg .input_sizes = { 1138b8e80941Smrg 0 1139b8e80941Smrg }, 1140b8e80941Smrg .input_types = { 1141b8e80941Smrg nir_type_float 1142b8e80941Smrg }, 1143b8e80941Smrg .is_conversion = true, 1144b8e80941Smrg .algebraic_properties = 1145b8e80941Smrg 0 1146b8e80941Smrg}, 1147b8e80941Smrg{ 1148b8e80941Smrg .name = "f2u16", 1149b8e80941Smrg .num_inputs = 1, 1150b8e80941Smrg .output_size = 0, 1151b8e80941Smrg .output_type = nir_type_uint16, 1152b8e80941Smrg .input_sizes = { 1153b8e80941Smrg 0 1154b8e80941Smrg }, 1155b8e80941Smrg .input_types = { 1156b8e80941Smrg nir_type_float 1157b8e80941Smrg }, 1158b8e80941Smrg .is_conversion = true, 1159b8e80941Smrg .algebraic_properties = 1160b8e80941Smrg 0 1161b8e80941Smrg}, 1162b8e80941Smrg{ 1163b8e80941Smrg .name = "f2u32", 1164b8e80941Smrg .num_inputs = 1, 1165b8e80941Smrg .output_size = 0, 1166b8e80941Smrg .output_type = nir_type_uint32, 1167b8e80941Smrg .input_sizes = { 1168b8e80941Smrg 0 1169b8e80941Smrg }, 1170b8e80941Smrg .input_types = { 1171b8e80941Smrg nir_type_float 1172b8e80941Smrg }, 1173b8e80941Smrg .is_conversion = true, 1174b8e80941Smrg .algebraic_properties = 1175b8e80941Smrg 0 1176b8e80941Smrg}, 1177b8e80941Smrg{ 1178b8e80941Smrg .name = "f2u64", 1179b8e80941Smrg .num_inputs = 1, 1180b8e80941Smrg .output_size = 0, 1181b8e80941Smrg .output_type = nir_type_uint64, 1182b8e80941Smrg .input_sizes = { 1183b8e80941Smrg 0 1184b8e80941Smrg }, 1185b8e80941Smrg .input_types = { 1186b8e80941Smrg nir_type_float 1187b8e80941Smrg }, 1188b8e80941Smrg .is_conversion = true, 1189b8e80941Smrg .algebraic_properties = 1190b8e80941Smrg 0 1191b8e80941Smrg}, 1192b8e80941Smrg{ 1193b8e80941Smrg .name = "f2u8", 1194b8e80941Smrg .num_inputs = 1, 1195b8e80941Smrg .output_size = 0, 1196b8e80941Smrg .output_type = nir_type_uint8, 1197b8e80941Smrg .input_sizes = { 1198b8e80941Smrg 0 1199b8e80941Smrg }, 1200b8e80941Smrg .input_types = { 1201b8e80941Smrg nir_type_float 1202b8e80941Smrg }, 1203b8e80941Smrg .is_conversion = true, 1204b8e80941Smrg .algebraic_properties = 1205b8e80941Smrg 0 1206b8e80941Smrg}, 1207b8e80941Smrg{ 1208b8e80941Smrg .name = "fabs", 1209b8e80941Smrg .num_inputs = 1, 1210b8e80941Smrg .output_size = 0, 1211b8e80941Smrg .output_type = nir_type_float, 1212b8e80941Smrg .input_sizes = { 1213b8e80941Smrg 0 1214b8e80941Smrg }, 1215b8e80941Smrg .input_types = { 1216b8e80941Smrg nir_type_float 1217b8e80941Smrg }, 1218b8e80941Smrg .is_conversion = false, 1219b8e80941Smrg .algebraic_properties = 1220b8e80941Smrg 0 1221b8e80941Smrg}, 1222b8e80941Smrg{ 1223b8e80941Smrg .name = "fadd", 1224b8e80941Smrg .num_inputs = 2, 1225b8e80941Smrg .output_size = 0, 1226b8e80941Smrg .output_type = nir_type_float, 1227b8e80941Smrg .input_sizes = { 1228b8e80941Smrg 0, 0 1229b8e80941Smrg }, 1230b8e80941Smrg .input_types = { 1231b8e80941Smrg nir_type_float, nir_type_float 1232b8e80941Smrg }, 1233b8e80941Smrg .is_conversion = false, 1234b8e80941Smrg .algebraic_properties = 1235b8e80941Smrg NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 1236b8e80941Smrg}, 1237b8e80941Smrg{ 1238b8e80941Smrg .name = "fall_equal2", 1239b8e80941Smrg .num_inputs = 2, 1240b8e80941Smrg .output_size = 1, 1241b8e80941Smrg .output_type = nir_type_float32, 1242b8e80941Smrg .input_sizes = { 1243b8e80941Smrg 2, 2 1244b8e80941Smrg }, 1245b8e80941Smrg .input_types = { 1246b8e80941Smrg nir_type_float32, nir_type_float32 1247b8e80941Smrg }, 1248b8e80941Smrg .is_conversion = false, 1249b8e80941Smrg .algebraic_properties = 1250b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1251b8e80941Smrg}, 1252b8e80941Smrg{ 1253b8e80941Smrg .name = "fall_equal3", 1254b8e80941Smrg .num_inputs = 2, 1255b8e80941Smrg .output_size = 1, 1256b8e80941Smrg .output_type = nir_type_float32, 1257b8e80941Smrg .input_sizes = { 1258b8e80941Smrg 3, 3 1259b8e80941Smrg }, 1260b8e80941Smrg .input_types = { 1261b8e80941Smrg nir_type_float32, nir_type_float32 1262b8e80941Smrg }, 1263b8e80941Smrg .is_conversion = false, 1264b8e80941Smrg .algebraic_properties = 1265b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1266b8e80941Smrg}, 1267b8e80941Smrg{ 1268b8e80941Smrg .name = "fall_equal4", 1269b8e80941Smrg .num_inputs = 2, 1270b8e80941Smrg .output_size = 1, 1271b8e80941Smrg .output_type = nir_type_float32, 1272b8e80941Smrg .input_sizes = { 1273b8e80941Smrg 4, 4 1274b8e80941Smrg }, 1275b8e80941Smrg .input_types = { 1276b8e80941Smrg nir_type_float32, nir_type_float32 1277b8e80941Smrg }, 1278b8e80941Smrg .is_conversion = false, 1279b8e80941Smrg .algebraic_properties = 1280b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1281b8e80941Smrg}, 1282b8e80941Smrg{ 1283b8e80941Smrg .name = "fand", 1284b8e80941Smrg .num_inputs = 2, 1285b8e80941Smrg .output_size = 0, 1286b8e80941Smrg .output_type = nir_type_float32, 1287b8e80941Smrg .input_sizes = { 1288b8e80941Smrg 0, 0 1289b8e80941Smrg }, 1290b8e80941Smrg .input_types = { 1291b8e80941Smrg nir_type_float32, nir_type_float32 1292b8e80941Smrg }, 1293b8e80941Smrg .is_conversion = false, 1294b8e80941Smrg .algebraic_properties = 1295b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1296b8e80941Smrg}, 1297b8e80941Smrg{ 1298b8e80941Smrg .name = "fany_nequal2", 1299b8e80941Smrg .num_inputs = 2, 1300b8e80941Smrg .output_size = 1, 1301b8e80941Smrg .output_type = nir_type_float32, 1302b8e80941Smrg .input_sizes = { 1303b8e80941Smrg 2, 2 1304b8e80941Smrg }, 1305b8e80941Smrg .input_types = { 1306b8e80941Smrg nir_type_float32, nir_type_float32 1307b8e80941Smrg }, 1308b8e80941Smrg .is_conversion = false, 1309b8e80941Smrg .algebraic_properties = 1310b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1311b8e80941Smrg}, 1312b8e80941Smrg{ 1313b8e80941Smrg .name = "fany_nequal3", 1314b8e80941Smrg .num_inputs = 2, 1315b8e80941Smrg .output_size = 1, 1316b8e80941Smrg .output_type = nir_type_float32, 1317b8e80941Smrg .input_sizes = { 1318b8e80941Smrg 3, 3 1319b8e80941Smrg }, 1320b8e80941Smrg .input_types = { 1321b8e80941Smrg nir_type_float32, nir_type_float32 1322b8e80941Smrg }, 1323b8e80941Smrg .is_conversion = false, 1324b8e80941Smrg .algebraic_properties = 1325b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1326b8e80941Smrg}, 1327b8e80941Smrg{ 1328b8e80941Smrg .name = "fany_nequal4", 1329b8e80941Smrg .num_inputs = 2, 1330b8e80941Smrg .output_size = 1, 1331b8e80941Smrg .output_type = nir_type_float32, 1332b8e80941Smrg .input_sizes = { 1333b8e80941Smrg 4, 4 1334b8e80941Smrg }, 1335b8e80941Smrg .input_types = { 1336b8e80941Smrg nir_type_float32, nir_type_float32 1337b8e80941Smrg }, 1338b8e80941Smrg .is_conversion = false, 1339b8e80941Smrg .algebraic_properties = 1340b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1341b8e80941Smrg}, 1342b8e80941Smrg{ 1343b8e80941Smrg .name = "fceil", 1344b8e80941Smrg .num_inputs = 1, 1345b8e80941Smrg .output_size = 0, 1346b8e80941Smrg .output_type = nir_type_float, 1347b8e80941Smrg .input_sizes = { 1348b8e80941Smrg 0 1349b8e80941Smrg }, 1350b8e80941Smrg .input_types = { 1351b8e80941Smrg nir_type_float 1352b8e80941Smrg }, 1353b8e80941Smrg .is_conversion = false, 1354b8e80941Smrg .algebraic_properties = 1355b8e80941Smrg 0 1356b8e80941Smrg}, 1357b8e80941Smrg{ 1358b8e80941Smrg .name = "fcos", 1359b8e80941Smrg .num_inputs = 1, 1360b8e80941Smrg .output_size = 0, 1361b8e80941Smrg .output_type = nir_type_float, 1362b8e80941Smrg .input_sizes = { 1363b8e80941Smrg 0 1364b8e80941Smrg }, 1365b8e80941Smrg .input_types = { 1366b8e80941Smrg nir_type_float 1367b8e80941Smrg }, 1368b8e80941Smrg .is_conversion = false, 1369b8e80941Smrg .algebraic_properties = 1370b8e80941Smrg 0 1371b8e80941Smrg}, 1372b8e80941Smrg{ 1373b8e80941Smrg .name = "fcsel", 1374b8e80941Smrg .num_inputs = 3, 1375b8e80941Smrg .output_size = 0, 1376b8e80941Smrg .output_type = nir_type_float32, 1377b8e80941Smrg .input_sizes = { 1378b8e80941Smrg 0, 0, 0 1379b8e80941Smrg }, 1380b8e80941Smrg .input_types = { 1381b8e80941Smrg nir_type_float32, nir_type_float32, nir_type_float32 1382b8e80941Smrg }, 1383b8e80941Smrg .is_conversion = false, 1384b8e80941Smrg .algebraic_properties = 1385b8e80941Smrg 0 1386b8e80941Smrg}, 1387b8e80941Smrg{ 1388b8e80941Smrg .name = "fddx", 1389b8e80941Smrg .num_inputs = 1, 1390b8e80941Smrg .output_size = 0, 1391b8e80941Smrg .output_type = nir_type_float, 1392b8e80941Smrg .input_sizes = { 1393b8e80941Smrg 0 1394b8e80941Smrg }, 1395b8e80941Smrg .input_types = { 1396b8e80941Smrg nir_type_float 1397b8e80941Smrg }, 1398b8e80941Smrg .is_conversion = false, 1399b8e80941Smrg .algebraic_properties = 1400b8e80941Smrg 0 1401b8e80941Smrg}, 1402b8e80941Smrg{ 1403b8e80941Smrg .name = "fddx_coarse", 1404b8e80941Smrg .num_inputs = 1, 1405b8e80941Smrg .output_size = 0, 1406b8e80941Smrg .output_type = nir_type_float, 1407b8e80941Smrg .input_sizes = { 1408b8e80941Smrg 0 1409b8e80941Smrg }, 1410b8e80941Smrg .input_types = { 1411b8e80941Smrg nir_type_float 1412b8e80941Smrg }, 1413b8e80941Smrg .is_conversion = false, 1414b8e80941Smrg .algebraic_properties = 1415b8e80941Smrg 0 1416b8e80941Smrg}, 1417b8e80941Smrg{ 1418b8e80941Smrg .name = "fddx_fine", 1419b8e80941Smrg .num_inputs = 1, 1420b8e80941Smrg .output_size = 0, 1421b8e80941Smrg .output_type = nir_type_float, 1422b8e80941Smrg .input_sizes = { 1423b8e80941Smrg 0 1424b8e80941Smrg }, 1425b8e80941Smrg .input_types = { 1426b8e80941Smrg nir_type_float 1427b8e80941Smrg }, 1428b8e80941Smrg .is_conversion = false, 1429b8e80941Smrg .algebraic_properties = 1430b8e80941Smrg 0 1431b8e80941Smrg}, 1432b8e80941Smrg{ 1433b8e80941Smrg .name = "fddy", 1434b8e80941Smrg .num_inputs = 1, 1435b8e80941Smrg .output_size = 0, 1436b8e80941Smrg .output_type = nir_type_float, 1437b8e80941Smrg .input_sizes = { 1438b8e80941Smrg 0 1439b8e80941Smrg }, 1440b8e80941Smrg .input_types = { 1441b8e80941Smrg nir_type_float 1442b8e80941Smrg }, 1443b8e80941Smrg .is_conversion = false, 1444b8e80941Smrg .algebraic_properties = 1445b8e80941Smrg 0 1446b8e80941Smrg}, 1447b8e80941Smrg{ 1448b8e80941Smrg .name = "fddy_coarse", 1449b8e80941Smrg .num_inputs = 1, 1450b8e80941Smrg .output_size = 0, 1451b8e80941Smrg .output_type = nir_type_float, 1452b8e80941Smrg .input_sizes = { 1453b8e80941Smrg 0 1454b8e80941Smrg }, 1455b8e80941Smrg .input_types = { 1456b8e80941Smrg nir_type_float 1457b8e80941Smrg }, 1458b8e80941Smrg .is_conversion = false, 1459b8e80941Smrg .algebraic_properties = 1460b8e80941Smrg 0 1461b8e80941Smrg}, 1462b8e80941Smrg{ 1463b8e80941Smrg .name = "fddy_fine", 1464b8e80941Smrg .num_inputs = 1, 1465b8e80941Smrg .output_size = 0, 1466b8e80941Smrg .output_type = nir_type_float, 1467b8e80941Smrg .input_sizes = { 1468b8e80941Smrg 0 1469b8e80941Smrg }, 1470b8e80941Smrg .input_types = { 1471b8e80941Smrg nir_type_float 1472b8e80941Smrg }, 1473b8e80941Smrg .is_conversion = false, 1474b8e80941Smrg .algebraic_properties = 1475b8e80941Smrg 0 1476b8e80941Smrg}, 1477b8e80941Smrg{ 1478b8e80941Smrg .name = "fdiv", 1479b8e80941Smrg .num_inputs = 2, 1480b8e80941Smrg .output_size = 0, 1481b8e80941Smrg .output_type = nir_type_float, 1482b8e80941Smrg .input_sizes = { 1483b8e80941Smrg 0, 0 1484b8e80941Smrg }, 1485b8e80941Smrg .input_types = { 1486b8e80941Smrg nir_type_float, nir_type_float 1487b8e80941Smrg }, 1488b8e80941Smrg .is_conversion = false, 1489b8e80941Smrg .algebraic_properties = 1490b8e80941Smrg 0 1491b8e80941Smrg}, 1492b8e80941Smrg{ 1493b8e80941Smrg .name = "fdot2", 1494b8e80941Smrg .num_inputs = 2, 1495b8e80941Smrg .output_size = 1, 1496b8e80941Smrg .output_type = nir_type_float, 1497b8e80941Smrg .input_sizes = { 1498b8e80941Smrg 2, 2 1499b8e80941Smrg }, 1500b8e80941Smrg .input_types = { 1501b8e80941Smrg nir_type_float, nir_type_float 1502b8e80941Smrg }, 1503b8e80941Smrg .is_conversion = false, 1504b8e80941Smrg .algebraic_properties = 1505b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1506b8e80941Smrg}, 1507b8e80941Smrg{ 1508b8e80941Smrg .name = "fdot3", 1509b8e80941Smrg .num_inputs = 2, 1510b8e80941Smrg .output_size = 1, 1511b8e80941Smrg .output_type = nir_type_float, 1512b8e80941Smrg .input_sizes = { 1513b8e80941Smrg 3, 3 1514b8e80941Smrg }, 1515b8e80941Smrg .input_types = { 1516b8e80941Smrg nir_type_float, nir_type_float 1517b8e80941Smrg }, 1518b8e80941Smrg .is_conversion = false, 1519b8e80941Smrg .algebraic_properties = 1520b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1521b8e80941Smrg}, 1522b8e80941Smrg{ 1523b8e80941Smrg .name = "fdot4", 1524b8e80941Smrg .num_inputs = 2, 1525b8e80941Smrg .output_size = 1, 1526b8e80941Smrg .output_type = nir_type_float, 1527b8e80941Smrg .input_sizes = { 1528b8e80941Smrg 4, 4 1529b8e80941Smrg }, 1530b8e80941Smrg .input_types = { 1531b8e80941Smrg nir_type_float, nir_type_float 1532b8e80941Smrg }, 1533b8e80941Smrg .is_conversion = false, 1534b8e80941Smrg .algebraic_properties = 1535b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1536b8e80941Smrg}, 1537b8e80941Smrg{ 1538b8e80941Smrg .name = "fdot_replicated2", 1539b8e80941Smrg .num_inputs = 2, 1540b8e80941Smrg .output_size = 4, 1541b8e80941Smrg .output_type = nir_type_float, 1542b8e80941Smrg .input_sizes = { 1543b8e80941Smrg 2, 2 1544b8e80941Smrg }, 1545b8e80941Smrg .input_types = { 1546b8e80941Smrg nir_type_float, nir_type_float 1547b8e80941Smrg }, 1548b8e80941Smrg .is_conversion = false, 1549b8e80941Smrg .algebraic_properties = 1550b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1551b8e80941Smrg}, 1552b8e80941Smrg{ 1553b8e80941Smrg .name = "fdot_replicated3", 1554b8e80941Smrg .num_inputs = 2, 1555b8e80941Smrg .output_size = 4, 1556b8e80941Smrg .output_type = nir_type_float, 1557b8e80941Smrg .input_sizes = { 1558b8e80941Smrg 3, 3 1559b8e80941Smrg }, 1560b8e80941Smrg .input_types = { 1561b8e80941Smrg nir_type_float, nir_type_float 1562b8e80941Smrg }, 1563b8e80941Smrg .is_conversion = false, 1564b8e80941Smrg .algebraic_properties = 1565b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1566b8e80941Smrg}, 1567b8e80941Smrg{ 1568b8e80941Smrg .name = "fdot_replicated4", 1569b8e80941Smrg .num_inputs = 2, 1570b8e80941Smrg .output_size = 4, 1571b8e80941Smrg .output_type = nir_type_float, 1572b8e80941Smrg .input_sizes = { 1573b8e80941Smrg 4, 4 1574b8e80941Smrg }, 1575b8e80941Smrg .input_types = { 1576b8e80941Smrg nir_type_float, nir_type_float 1577b8e80941Smrg }, 1578b8e80941Smrg .is_conversion = false, 1579b8e80941Smrg .algebraic_properties = 1580b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1581b8e80941Smrg}, 1582b8e80941Smrg{ 1583b8e80941Smrg .name = "fdph", 1584b8e80941Smrg .num_inputs = 2, 1585b8e80941Smrg .output_size = 1, 1586b8e80941Smrg .output_type = nir_type_float, 1587b8e80941Smrg .input_sizes = { 1588b8e80941Smrg 3, 4 1589b8e80941Smrg }, 1590b8e80941Smrg .input_types = { 1591b8e80941Smrg nir_type_float, nir_type_float 1592b8e80941Smrg }, 1593b8e80941Smrg .is_conversion = false, 1594b8e80941Smrg .algebraic_properties = 1595b8e80941Smrg 0 1596b8e80941Smrg}, 1597b8e80941Smrg{ 1598b8e80941Smrg .name = "fdph_replicated", 1599b8e80941Smrg .num_inputs = 2, 1600b8e80941Smrg .output_size = 4, 1601b8e80941Smrg .output_type = nir_type_float, 1602b8e80941Smrg .input_sizes = { 1603b8e80941Smrg 3, 4 1604b8e80941Smrg }, 1605b8e80941Smrg .input_types = { 1606b8e80941Smrg nir_type_float, nir_type_float 1607b8e80941Smrg }, 1608b8e80941Smrg .is_conversion = false, 1609b8e80941Smrg .algebraic_properties = 1610b8e80941Smrg 0 1611b8e80941Smrg}, 1612b8e80941Smrg{ 1613b8e80941Smrg .name = "feq", 1614b8e80941Smrg .num_inputs = 2, 1615b8e80941Smrg .output_size = 0, 1616b8e80941Smrg .output_type = nir_type_bool1, 1617b8e80941Smrg .input_sizes = { 1618b8e80941Smrg 0, 0 1619b8e80941Smrg }, 1620b8e80941Smrg .input_types = { 1621b8e80941Smrg nir_type_float, nir_type_float 1622b8e80941Smrg }, 1623b8e80941Smrg .is_conversion = false, 1624b8e80941Smrg .algebraic_properties = 1625b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1626b8e80941Smrg}, 1627b8e80941Smrg{ 1628b8e80941Smrg .name = "feq32", 1629b8e80941Smrg .num_inputs = 2, 1630b8e80941Smrg .output_size = 0, 1631b8e80941Smrg .output_type = nir_type_bool32, 1632b8e80941Smrg .input_sizes = { 1633b8e80941Smrg 0, 0 1634b8e80941Smrg }, 1635b8e80941Smrg .input_types = { 1636b8e80941Smrg nir_type_float, nir_type_float 1637b8e80941Smrg }, 1638b8e80941Smrg .is_conversion = false, 1639b8e80941Smrg .algebraic_properties = 1640b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1641b8e80941Smrg}, 1642b8e80941Smrg{ 1643b8e80941Smrg .name = "fexp2", 1644b8e80941Smrg .num_inputs = 1, 1645b8e80941Smrg .output_size = 0, 1646b8e80941Smrg .output_type = nir_type_float, 1647b8e80941Smrg .input_sizes = { 1648b8e80941Smrg 0 1649b8e80941Smrg }, 1650b8e80941Smrg .input_types = { 1651b8e80941Smrg nir_type_float 1652b8e80941Smrg }, 1653b8e80941Smrg .is_conversion = false, 1654b8e80941Smrg .algebraic_properties = 1655b8e80941Smrg 0 1656b8e80941Smrg}, 1657b8e80941Smrg{ 1658b8e80941Smrg .name = "ffloor", 1659b8e80941Smrg .num_inputs = 1, 1660b8e80941Smrg .output_size = 0, 1661b8e80941Smrg .output_type = nir_type_float, 1662b8e80941Smrg .input_sizes = { 1663b8e80941Smrg 0 1664b8e80941Smrg }, 1665b8e80941Smrg .input_types = { 1666b8e80941Smrg nir_type_float 1667b8e80941Smrg }, 1668b8e80941Smrg .is_conversion = false, 1669b8e80941Smrg .algebraic_properties = 1670b8e80941Smrg 0 1671b8e80941Smrg}, 1672b8e80941Smrg{ 1673b8e80941Smrg .name = "ffma", 1674b8e80941Smrg .num_inputs = 3, 1675b8e80941Smrg .output_size = 0, 1676b8e80941Smrg .output_type = nir_type_float, 1677b8e80941Smrg .input_sizes = { 1678b8e80941Smrg 0, 0, 0 1679b8e80941Smrg }, 1680b8e80941Smrg .input_types = { 1681b8e80941Smrg nir_type_float, nir_type_float, nir_type_float 1682b8e80941Smrg }, 1683b8e80941Smrg .is_conversion = false, 1684b8e80941Smrg .algebraic_properties = 1685b8e80941Smrg 0 1686b8e80941Smrg}, 1687b8e80941Smrg{ 1688b8e80941Smrg .name = "ffract", 1689b8e80941Smrg .num_inputs = 1, 1690b8e80941Smrg .output_size = 0, 1691b8e80941Smrg .output_type = nir_type_float, 1692b8e80941Smrg .input_sizes = { 1693b8e80941Smrg 0 1694b8e80941Smrg }, 1695b8e80941Smrg .input_types = { 1696b8e80941Smrg nir_type_float 1697b8e80941Smrg }, 1698b8e80941Smrg .is_conversion = false, 1699b8e80941Smrg .algebraic_properties = 1700b8e80941Smrg 0 1701b8e80941Smrg}, 1702b8e80941Smrg{ 1703b8e80941Smrg .name = "fge", 1704b8e80941Smrg .num_inputs = 2, 1705b8e80941Smrg .output_size = 0, 1706b8e80941Smrg .output_type = nir_type_bool1, 1707b8e80941Smrg .input_sizes = { 1708b8e80941Smrg 0, 0 1709b8e80941Smrg }, 1710b8e80941Smrg .input_types = { 1711b8e80941Smrg nir_type_float, nir_type_float 1712b8e80941Smrg }, 1713b8e80941Smrg .is_conversion = false, 1714b8e80941Smrg .algebraic_properties = 1715b8e80941Smrg 0 1716b8e80941Smrg}, 1717b8e80941Smrg{ 1718b8e80941Smrg .name = "fge32", 1719b8e80941Smrg .num_inputs = 2, 1720b8e80941Smrg .output_size = 0, 1721b8e80941Smrg .output_type = nir_type_bool32, 1722b8e80941Smrg .input_sizes = { 1723b8e80941Smrg 0, 0 1724b8e80941Smrg }, 1725b8e80941Smrg .input_types = { 1726b8e80941Smrg nir_type_float, nir_type_float 1727b8e80941Smrg }, 1728b8e80941Smrg .is_conversion = false, 1729b8e80941Smrg .algebraic_properties = 1730b8e80941Smrg 0 1731b8e80941Smrg}, 1732b8e80941Smrg{ 1733b8e80941Smrg .name = "find_lsb", 1734b8e80941Smrg .num_inputs = 1, 1735b8e80941Smrg .output_size = 0, 1736b8e80941Smrg .output_type = nir_type_int32, 1737b8e80941Smrg .input_sizes = { 1738b8e80941Smrg 0 1739b8e80941Smrg }, 1740b8e80941Smrg .input_types = { 1741b8e80941Smrg nir_type_int 1742b8e80941Smrg }, 1743b8e80941Smrg .is_conversion = false, 1744b8e80941Smrg .algebraic_properties = 1745b8e80941Smrg 0 1746b8e80941Smrg}, 1747b8e80941Smrg{ 1748b8e80941Smrg .name = "flog2", 1749b8e80941Smrg .num_inputs = 1, 1750b8e80941Smrg .output_size = 0, 1751b8e80941Smrg .output_type = nir_type_float, 1752b8e80941Smrg .input_sizes = { 1753b8e80941Smrg 0 1754b8e80941Smrg }, 1755b8e80941Smrg .input_types = { 1756b8e80941Smrg nir_type_float 1757b8e80941Smrg }, 1758b8e80941Smrg .is_conversion = false, 1759b8e80941Smrg .algebraic_properties = 1760b8e80941Smrg 0 1761b8e80941Smrg}, 1762b8e80941Smrg{ 1763b8e80941Smrg .name = "flrp", 1764b8e80941Smrg .num_inputs = 3, 1765b8e80941Smrg .output_size = 0, 1766b8e80941Smrg .output_type = nir_type_float, 1767b8e80941Smrg .input_sizes = { 1768b8e80941Smrg 0, 0, 0 1769b8e80941Smrg }, 1770b8e80941Smrg .input_types = { 1771b8e80941Smrg nir_type_float, nir_type_float, nir_type_float 1772b8e80941Smrg }, 1773b8e80941Smrg .is_conversion = false, 1774b8e80941Smrg .algebraic_properties = 1775b8e80941Smrg 0 1776b8e80941Smrg}, 1777b8e80941Smrg{ 1778b8e80941Smrg .name = "flt", 1779b8e80941Smrg .num_inputs = 2, 1780b8e80941Smrg .output_size = 0, 1781b8e80941Smrg .output_type = nir_type_bool1, 1782b8e80941Smrg .input_sizes = { 1783b8e80941Smrg 0, 0 1784b8e80941Smrg }, 1785b8e80941Smrg .input_types = { 1786b8e80941Smrg nir_type_float, nir_type_float 1787b8e80941Smrg }, 1788b8e80941Smrg .is_conversion = false, 1789b8e80941Smrg .algebraic_properties = 1790b8e80941Smrg 0 1791b8e80941Smrg}, 1792b8e80941Smrg{ 1793b8e80941Smrg .name = "flt32", 1794b8e80941Smrg .num_inputs = 2, 1795b8e80941Smrg .output_size = 0, 1796b8e80941Smrg .output_type = nir_type_bool32, 1797b8e80941Smrg .input_sizes = { 1798b8e80941Smrg 0, 0 1799b8e80941Smrg }, 1800b8e80941Smrg .input_types = { 1801b8e80941Smrg nir_type_float, nir_type_float 1802b8e80941Smrg }, 1803b8e80941Smrg .is_conversion = false, 1804b8e80941Smrg .algebraic_properties = 1805b8e80941Smrg 0 1806b8e80941Smrg}, 1807b8e80941Smrg{ 1808b8e80941Smrg .name = "fmax", 1809b8e80941Smrg .num_inputs = 2, 1810b8e80941Smrg .output_size = 0, 1811b8e80941Smrg .output_type = nir_type_float, 1812b8e80941Smrg .input_sizes = { 1813b8e80941Smrg 0, 0 1814b8e80941Smrg }, 1815b8e80941Smrg .input_types = { 1816b8e80941Smrg nir_type_float, nir_type_float 1817b8e80941Smrg }, 1818b8e80941Smrg .is_conversion = false, 1819b8e80941Smrg .algebraic_properties = 1820b8e80941Smrg 0 1821b8e80941Smrg}, 1822b8e80941Smrg{ 1823b8e80941Smrg .name = "fmax3", 1824b8e80941Smrg .num_inputs = 3, 1825b8e80941Smrg .output_size = 0, 1826b8e80941Smrg .output_type = nir_type_float, 1827b8e80941Smrg .input_sizes = { 1828b8e80941Smrg 0, 0, 0 1829b8e80941Smrg }, 1830b8e80941Smrg .input_types = { 1831b8e80941Smrg nir_type_float, nir_type_float, nir_type_float 1832b8e80941Smrg }, 1833b8e80941Smrg .is_conversion = false, 1834b8e80941Smrg .algebraic_properties = 1835b8e80941Smrg 0 1836b8e80941Smrg}, 1837b8e80941Smrg{ 1838b8e80941Smrg .name = "fmed3", 1839b8e80941Smrg .num_inputs = 3, 1840b8e80941Smrg .output_size = 0, 1841b8e80941Smrg .output_type = nir_type_float, 1842b8e80941Smrg .input_sizes = { 1843b8e80941Smrg 0, 0, 0 1844b8e80941Smrg }, 1845b8e80941Smrg .input_types = { 1846b8e80941Smrg nir_type_float, nir_type_float, nir_type_float 1847b8e80941Smrg }, 1848b8e80941Smrg .is_conversion = false, 1849b8e80941Smrg .algebraic_properties = 1850b8e80941Smrg 0 1851b8e80941Smrg}, 1852b8e80941Smrg{ 1853b8e80941Smrg .name = "fmin", 1854b8e80941Smrg .num_inputs = 2, 1855b8e80941Smrg .output_size = 0, 1856b8e80941Smrg .output_type = nir_type_float, 1857b8e80941Smrg .input_sizes = { 1858b8e80941Smrg 0, 0 1859b8e80941Smrg }, 1860b8e80941Smrg .input_types = { 1861b8e80941Smrg nir_type_float, nir_type_float 1862b8e80941Smrg }, 1863b8e80941Smrg .is_conversion = false, 1864b8e80941Smrg .algebraic_properties = 1865b8e80941Smrg 0 1866b8e80941Smrg}, 1867b8e80941Smrg{ 1868b8e80941Smrg .name = "fmin3", 1869b8e80941Smrg .num_inputs = 3, 1870b8e80941Smrg .output_size = 0, 1871b8e80941Smrg .output_type = nir_type_float, 1872b8e80941Smrg .input_sizes = { 1873b8e80941Smrg 0, 0, 0 1874b8e80941Smrg }, 1875b8e80941Smrg .input_types = { 1876b8e80941Smrg nir_type_float, nir_type_float, nir_type_float 1877b8e80941Smrg }, 1878b8e80941Smrg .is_conversion = false, 1879b8e80941Smrg .algebraic_properties = 1880b8e80941Smrg 0 1881b8e80941Smrg}, 1882b8e80941Smrg{ 1883b8e80941Smrg .name = "fmod", 1884b8e80941Smrg .num_inputs = 2, 1885b8e80941Smrg .output_size = 0, 1886b8e80941Smrg .output_type = nir_type_float, 1887b8e80941Smrg .input_sizes = { 1888b8e80941Smrg 0, 0 1889b8e80941Smrg }, 1890b8e80941Smrg .input_types = { 1891b8e80941Smrg nir_type_float, nir_type_float 1892b8e80941Smrg }, 1893b8e80941Smrg .is_conversion = false, 1894b8e80941Smrg .algebraic_properties = 1895b8e80941Smrg 0 1896b8e80941Smrg}, 1897b8e80941Smrg{ 1898b8e80941Smrg .name = "fmov", 1899b8e80941Smrg .num_inputs = 1, 1900b8e80941Smrg .output_size = 0, 1901b8e80941Smrg .output_type = nir_type_float, 1902b8e80941Smrg .input_sizes = { 1903b8e80941Smrg 0 1904b8e80941Smrg }, 1905b8e80941Smrg .input_types = { 1906b8e80941Smrg nir_type_float 1907b8e80941Smrg }, 1908b8e80941Smrg .is_conversion = false, 1909b8e80941Smrg .algebraic_properties = 1910b8e80941Smrg 0 1911b8e80941Smrg}, 1912b8e80941Smrg{ 1913b8e80941Smrg .name = "fmul", 1914b8e80941Smrg .num_inputs = 2, 1915b8e80941Smrg .output_size = 0, 1916b8e80941Smrg .output_type = nir_type_float, 1917b8e80941Smrg .input_sizes = { 1918b8e80941Smrg 0, 0 1919b8e80941Smrg }, 1920b8e80941Smrg .input_types = { 1921b8e80941Smrg nir_type_float, nir_type_float 1922b8e80941Smrg }, 1923b8e80941Smrg .is_conversion = false, 1924b8e80941Smrg .algebraic_properties = 1925b8e80941Smrg NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 1926b8e80941Smrg}, 1927b8e80941Smrg{ 1928b8e80941Smrg .name = "fne", 1929b8e80941Smrg .num_inputs = 2, 1930b8e80941Smrg .output_size = 0, 1931b8e80941Smrg .output_type = nir_type_bool1, 1932b8e80941Smrg .input_sizes = { 1933b8e80941Smrg 0, 0 1934b8e80941Smrg }, 1935b8e80941Smrg .input_types = { 1936b8e80941Smrg nir_type_float, nir_type_float 1937b8e80941Smrg }, 1938b8e80941Smrg .is_conversion = false, 1939b8e80941Smrg .algebraic_properties = 1940b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1941b8e80941Smrg}, 1942b8e80941Smrg{ 1943b8e80941Smrg .name = "fne32", 1944b8e80941Smrg .num_inputs = 2, 1945b8e80941Smrg .output_size = 0, 1946b8e80941Smrg .output_type = nir_type_bool32, 1947b8e80941Smrg .input_sizes = { 1948b8e80941Smrg 0, 0 1949b8e80941Smrg }, 1950b8e80941Smrg .input_types = { 1951b8e80941Smrg nir_type_float, nir_type_float 1952b8e80941Smrg }, 1953b8e80941Smrg .is_conversion = false, 1954b8e80941Smrg .algebraic_properties = 1955b8e80941Smrg NIR_OP_IS_COMMUTATIVE 1956b8e80941Smrg}, 1957b8e80941Smrg{ 1958b8e80941Smrg .name = "fneg", 1959b8e80941Smrg .num_inputs = 1, 1960b8e80941Smrg .output_size = 0, 1961b8e80941Smrg .output_type = nir_type_float, 1962b8e80941Smrg .input_sizes = { 1963b8e80941Smrg 0 1964b8e80941Smrg }, 1965b8e80941Smrg .input_types = { 1966b8e80941Smrg nir_type_float 1967b8e80941Smrg }, 1968b8e80941Smrg .is_conversion = false, 1969b8e80941Smrg .algebraic_properties = 1970b8e80941Smrg 0 1971b8e80941Smrg}, 1972b8e80941Smrg{ 1973b8e80941Smrg .name = "fnoise1_1", 1974b8e80941Smrg .num_inputs = 1, 1975b8e80941Smrg .output_size = 1, 1976b8e80941Smrg .output_type = nir_type_float, 1977b8e80941Smrg .input_sizes = { 1978b8e80941Smrg 1 1979b8e80941Smrg }, 1980b8e80941Smrg .input_types = { 1981b8e80941Smrg nir_type_float 1982b8e80941Smrg }, 1983b8e80941Smrg .is_conversion = false, 1984b8e80941Smrg .algebraic_properties = 1985b8e80941Smrg 0 1986b8e80941Smrg}, 1987b8e80941Smrg{ 1988b8e80941Smrg .name = "fnoise1_2", 1989b8e80941Smrg .num_inputs = 1, 1990b8e80941Smrg .output_size = 1, 1991b8e80941Smrg .output_type = nir_type_float, 1992b8e80941Smrg .input_sizes = { 1993b8e80941Smrg 2 1994b8e80941Smrg }, 1995b8e80941Smrg .input_types = { 1996b8e80941Smrg nir_type_float 1997b8e80941Smrg }, 1998b8e80941Smrg .is_conversion = false, 1999b8e80941Smrg .algebraic_properties = 2000b8e80941Smrg 0 2001b8e80941Smrg}, 2002b8e80941Smrg{ 2003b8e80941Smrg .name = "fnoise1_3", 2004b8e80941Smrg .num_inputs = 1, 2005b8e80941Smrg .output_size = 1, 2006b8e80941Smrg .output_type = nir_type_float, 2007b8e80941Smrg .input_sizes = { 2008b8e80941Smrg 3 2009b8e80941Smrg }, 2010b8e80941Smrg .input_types = { 2011b8e80941Smrg nir_type_float 2012b8e80941Smrg }, 2013b8e80941Smrg .is_conversion = false, 2014b8e80941Smrg .algebraic_properties = 2015b8e80941Smrg 0 2016b8e80941Smrg}, 2017b8e80941Smrg{ 2018b8e80941Smrg .name = "fnoise1_4", 2019b8e80941Smrg .num_inputs = 1, 2020b8e80941Smrg .output_size = 1, 2021b8e80941Smrg .output_type = nir_type_float, 2022b8e80941Smrg .input_sizes = { 2023b8e80941Smrg 4 2024b8e80941Smrg }, 2025b8e80941Smrg .input_types = { 2026b8e80941Smrg nir_type_float 2027b8e80941Smrg }, 2028b8e80941Smrg .is_conversion = false, 2029b8e80941Smrg .algebraic_properties = 2030b8e80941Smrg 0 2031b8e80941Smrg}, 2032b8e80941Smrg{ 2033b8e80941Smrg .name = "fnoise2_1", 2034b8e80941Smrg .num_inputs = 1, 2035b8e80941Smrg .output_size = 2, 2036b8e80941Smrg .output_type = nir_type_float, 2037b8e80941Smrg .input_sizes = { 2038b8e80941Smrg 1 2039b8e80941Smrg }, 2040b8e80941Smrg .input_types = { 2041b8e80941Smrg nir_type_float 2042b8e80941Smrg }, 2043b8e80941Smrg .is_conversion = false, 2044b8e80941Smrg .algebraic_properties = 2045b8e80941Smrg 0 2046b8e80941Smrg}, 2047b8e80941Smrg{ 2048b8e80941Smrg .name = "fnoise2_2", 2049b8e80941Smrg .num_inputs = 1, 2050b8e80941Smrg .output_size = 2, 2051b8e80941Smrg .output_type = nir_type_float, 2052b8e80941Smrg .input_sizes = { 2053b8e80941Smrg 2 2054b8e80941Smrg }, 2055b8e80941Smrg .input_types = { 2056b8e80941Smrg nir_type_float 2057b8e80941Smrg }, 2058b8e80941Smrg .is_conversion = false, 2059b8e80941Smrg .algebraic_properties = 2060b8e80941Smrg 0 2061b8e80941Smrg}, 2062b8e80941Smrg{ 2063b8e80941Smrg .name = "fnoise2_3", 2064b8e80941Smrg .num_inputs = 1, 2065b8e80941Smrg .output_size = 2, 2066b8e80941Smrg .output_type = nir_type_float, 2067b8e80941Smrg .input_sizes = { 2068b8e80941Smrg 3 2069b8e80941Smrg }, 2070b8e80941Smrg .input_types = { 2071b8e80941Smrg nir_type_float 2072b8e80941Smrg }, 2073b8e80941Smrg .is_conversion = false, 2074b8e80941Smrg .algebraic_properties = 2075b8e80941Smrg 0 2076b8e80941Smrg}, 2077b8e80941Smrg{ 2078b8e80941Smrg .name = "fnoise2_4", 2079b8e80941Smrg .num_inputs = 1, 2080b8e80941Smrg .output_size = 2, 2081b8e80941Smrg .output_type = nir_type_float, 2082b8e80941Smrg .input_sizes = { 2083b8e80941Smrg 4 2084b8e80941Smrg }, 2085b8e80941Smrg .input_types = { 2086b8e80941Smrg nir_type_float 2087b8e80941Smrg }, 2088b8e80941Smrg .is_conversion = false, 2089b8e80941Smrg .algebraic_properties = 2090b8e80941Smrg 0 2091b8e80941Smrg}, 2092b8e80941Smrg{ 2093b8e80941Smrg .name = "fnoise3_1", 2094b8e80941Smrg .num_inputs = 1, 2095b8e80941Smrg .output_size = 3, 2096b8e80941Smrg .output_type = nir_type_float, 2097b8e80941Smrg .input_sizes = { 2098b8e80941Smrg 1 2099b8e80941Smrg }, 2100b8e80941Smrg .input_types = { 2101b8e80941Smrg nir_type_float 2102b8e80941Smrg }, 2103b8e80941Smrg .is_conversion = false, 2104b8e80941Smrg .algebraic_properties = 2105b8e80941Smrg 0 2106b8e80941Smrg}, 2107b8e80941Smrg{ 2108b8e80941Smrg .name = "fnoise3_2", 2109b8e80941Smrg .num_inputs = 1, 2110b8e80941Smrg .output_size = 3, 2111b8e80941Smrg .output_type = nir_type_float, 2112b8e80941Smrg .input_sizes = { 2113b8e80941Smrg 2 2114b8e80941Smrg }, 2115b8e80941Smrg .input_types = { 2116b8e80941Smrg nir_type_float 2117b8e80941Smrg }, 2118b8e80941Smrg .is_conversion = false, 2119b8e80941Smrg .algebraic_properties = 2120b8e80941Smrg 0 2121b8e80941Smrg}, 2122b8e80941Smrg{ 2123b8e80941Smrg .name = "fnoise3_3", 2124b8e80941Smrg .num_inputs = 1, 2125b8e80941Smrg .output_size = 3, 2126b8e80941Smrg .output_type = nir_type_float, 2127b8e80941Smrg .input_sizes = { 2128b8e80941Smrg 3 2129b8e80941Smrg }, 2130b8e80941Smrg .input_types = { 2131b8e80941Smrg nir_type_float 2132b8e80941Smrg }, 2133b8e80941Smrg .is_conversion = false, 2134b8e80941Smrg .algebraic_properties = 2135b8e80941Smrg 0 2136b8e80941Smrg}, 2137b8e80941Smrg{ 2138b8e80941Smrg .name = "fnoise3_4", 2139b8e80941Smrg .num_inputs = 1, 2140b8e80941Smrg .output_size = 3, 2141b8e80941Smrg .output_type = nir_type_float, 2142b8e80941Smrg .input_sizes = { 2143b8e80941Smrg 4 2144b8e80941Smrg }, 2145b8e80941Smrg .input_types = { 2146b8e80941Smrg nir_type_float 2147b8e80941Smrg }, 2148b8e80941Smrg .is_conversion = false, 2149b8e80941Smrg .algebraic_properties = 2150b8e80941Smrg 0 2151b8e80941Smrg}, 2152b8e80941Smrg{ 2153b8e80941Smrg .name = "fnoise4_1", 2154b8e80941Smrg .num_inputs = 1, 2155b8e80941Smrg .output_size = 4, 2156b8e80941Smrg .output_type = nir_type_float, 2157b8e80941Smrg .input_sizes = { 2158b8e80941Smrg 1 2159b8e80941Smrg }, 2160b8e80941Smrg .input_types = { 2161b8e80941Smrg nir_type_float 2162b8e80941Smrg }, 2163b8e80941Smrg .is_conversion = false, 2164b8e80941Smrg .algebraic_properties = 2165b8e80941Smrg 0 2166b8e80941Smrg}, 2167b8e80941Smrg{ 2168b8e80941Smrg .name = "fnoise4_2", 2169b8e80941Smrg .num_inputs = 1, 2170b8e80941Smrg .output_size = 4, 2171b8e80941Smrg .output_type = nir_type_float, 2172b8e80941Smrg .input_sizes = { 2173b8e80941Smrg 2 2174b8e80941Smrg }, 2175b8e80941Smrg .input_types = { 2176b8e80941Smrg nir_type_float 2177b8e80941Smrg }, 2178b8e80941Smrg .is_conversion = false, 2179b8e80941Smrg .algebraic_properties = 2180b8e80941Smrg 0 2181b8e80941Smrg}, 2182b8e80941Smrg{ 2183b8e80941Smrg .name = "fnoise4_3", 2184b8e80941Smrg .num_inputs = 1, 2185b8e80941Smrg .output_size = 4, 2186b8e80941Smrg .output_type = nir_type_float, 2187b8e80941Smrg .input_sizes = { 2188b8e80941Smrg 3 2189b8e80941Smrg }, 2190b8e80941Smrg .input_types = { 2191b8e80941Smrg nir_type_float 2192b8e80941Smrg }, 2193b8e80941Smrg .is_conversion = false, 2194b8e80941Smrg .algebraic_properties = 2195b8e80941Smrg 0 2196b8e80941Smrg}, 2197b8e80941Smrg{ 2198b8e80941Smrg .name = "fnoise4_4", 2199b8e80941Smrg .num_inputs = 1, 2200b8e80941Smrg .output_size = 4, 2201b8e80941Smrg .output_type = nir_type_float, 2202b8e80941Smrg .input_sizes = { 2203b8e80941Smrg 4 2204b8e80941Smrg }, 2205b8e80941Smrg .input_types = { 2206b8e80941Smrg nir_type_float 2207b8e80941Smrg }, 2208b8e80941Smrg .is_conversion = false, 2209b8e80941Smrg .algebraic_properties = 2210b8e80941Smrg 0 2211b8e80941Smrg}, 2212b8e80941Smrg{ 2213b8e80941Smrg .name = "fnot", 2214b8e80941Smrg .num_inputs = 1, 2215b8e80941Smrg .output_size = 0, 2216b8e80941Smrg .output_type = nir_type_float, 2217b8e80941Smrg .input_sizes = { 2218b8e80941Smrg 0 2219b8e80941Smrg }, 2220b8e80941Smrg .input_types = { 2221b8e80941Smrg nir_type_float 2222b8e80941Smrg }, 2223b8e80941Smrg .is_conversion = false, 2224b8e80941Smrg .algebraic_properties = 2225b8e80941Smrg 0 2226b8e80941Smrg}, 2227b8e80941Smrg{ 2228b8e80941Smrg .name = "for", 2229b8e80941Smrg .num_inputs = 2, 2230b8e80941Smrg .output_size = 0, 2231b8e80941Smrg .output_type = nir_type_float32, 2232b8e80941Smrg .input_sizes = { 2233b8e80941Smrg 0, 0 2234b8e80941Smrg }, 2235b8e80941Smrg .input_types = { 2236b8e80941Smrg nir_type_float32, nir_type_float32 2237b8e80941Smrg }, 2238b8e80941Smrg .is_conversion = false, 2239b8e80941Smrg .algebraic_properties = 2240b8e80941Smrg NIR_OP_IS_COMMUTATIVE 2241b8e80941Smrg}, 2242b8e80941Smrg{ 2243b8e80941Smrg .name = "fpow", 2244b8e80941Smrg .num_inputs = 2, 2245b8e80941Smrg .output_size = 0, 2246b8e80941Smrg .output_type = nir_type_float, 2247b8e80941Smrg .input_sizes = { 2248b8e80941Smrg 0, 0 2249b8e80941Smrg }, 2250b8e80941Smrg .input_types = { 2251b8e80941Smrg nir_type_float, nir_type_float 2252b8e80941Smrg }, 2253b8e80941Smrg .is_conversion = false, 2254b8e80941Smrg .algebraic_properties = 2255b8e80941Smrg 0 2256b8e80941Smrg}, 2257b8e80941Smrg{ 2258b8e80941Smrg .name = "fquantize2f16", 2259b8e80941Smrg .num_inputs = 1, 2260b8e80941Smrg .output_size = 0, 2261b8e80941Smrg .output_type = nir_type_float, 2262b8e80941Smrg .input_sizes = { 2263b8e80941Smrg 0 2264b8e80941Smrg }, 2265b8e80941Smrg .input_types = { 2266b8e80941Smrg nir_type_float 2267b8e80941Smrg }, 2268b8e80941Smrg .is_conversion = false, 2269b8e80941Smrg .algebraic_properties = 2270b8e80941Smrg 0 2271b8e80941Smrg}, 2272b8e80941Smrg{ 2273b8e80941Smrg .name = "frcp", 2274b8e80941Smrg .num_inputs = 1, 2275b8e80941Smrg .output_size = 0, 2276b8e80941Smrg .output_type = nir_type_float, 2277b8e80941Smrg .input_sizes = { 2278b8e80941Smrg 0 2279b8e80941Smrg }, 2280b8e80941Smrg .input_types = { 2281b8e80941Smrg nir_type_float 2282b8e80941Smrg }, 2283b8e80941Smrg .is_conversion = false, 2284b8e80941Smrg .algebraic_properties = 2285b8e80941Smrg 0 2286b8e80941Smrg}, 2287b8e80941Smrg{ 2288b8e80941Smrg .name = "frem", 2289b8e80941Smrg .num_inputs = 2, 2290b8e80941Smrg .output_size = 0, 2291b8e80941Smrg .output_type = nir_type_float, 2292b8e80941Smrg .input_sizes = { 2293b8e80941Smrg 0, 0 2294b8e80941Smrg }, 2295b8e80941Smrg .input_types = { 2296b8e80941Smrg nir_type_float, nir_type_float 2297b8e80941Smrg }, 2298b8e80941Smrg .is_conversion = false, 2299b8e80941Smrg .algebraic_properties = 2300b8e80941Smrg 0 2301b8e80941Smrg}, 2302b8e80941Smrg{ 2303b8e80941Smrg .name = "frexp_exp", 2304b8e80941Smrg .num_inputs = 1, 2305b8e80941Smrg .output_size = 0, 2306b8e80941Smrg .output_type = nir_type_int32, 2307b8e80941Smrg .input_sizes = { 2308b8e80941Smrg 0 2309b8e80941Smrg }, 2310b8e80941Smrg .input_types = { 2311b8e80941Smrg nir_type_float 2312b8e80941Smrg }, 2313b8e80941Smrg .is_conversion = false, 2314b8e80941Smrg .algebraic_properties = 2315b8e80941Smrg 0 2316b8e80941Smrg}, 2317b8e80941Smrg{ 2318b8e80941Smrg .name = "frexp_sig", 2319b8e80941Smrg .num_inputs = 1, 2320b8e80941Smrg .output_size = 0, 2321b8e80941Smrg .output_type = nir_type_float, 2322b8e80941Smrg .input_sizes = { 2323b8e80941Smrg 0 2324b8e80941Smrg }, 2325b8e80941Smrg .input_types = { 2326b8e80941Smrg nir_type_float 2327b8e80941Smrg }, 2328b8e80941Smrg .is_conversion = false, 2329b8e80941Smrg .algebraic_properties = 2330b8e80941Smrg 0 2331b8e80941Smrg}, 2332b8e80941Smrg{ 2333b8e80941Smrg .name = "fround_even", 2334b8e80941Smrg .num_inputs = 1, 2335b8e80941Smrg .output_size = 0, 2336b8e80941Smrg .output_type = nir_type_float, 2337b8e80941Smrg .input_sizes = { 2338b8e80941Smrg 0 2339b8e80941Smrg }, 2340b8e80941Smrg .input_types = { 2341b8e80941Smrg nir_type_float 2342b8e80941Smrg }, 2343b8e80941Smrg .is_conversion = false, 2344b8e80941Smrg .algebraic_properties = 2345b8e80941Smrg 0 2346b8e80941Smrg}, 2347b8e80941Smrg{ 2348b8e80941Smrg .name = "frsq", 2349b8e80941Smrg .num_inputs = 1, 2350b8e80941Smrg .output_size = 0, 2351b8e80941Smrg .output_type = nir_type_float, 2352b8e80941Smrg .input_sizes = { 2353b8e80941Smrg 0 2354b8e80941Smrg }, 2355b8e80941Smrg .input_types = { 2356b8e80941Smrg nir_type_float 2357b8e80941Smrg }, 2358b8e80941Smrg .is_conversion = false, 2359b8e80941Smrg .algebraic_properties = 2360b8e80941Smrg 0 2361b8e80941Smrg}, 2362b8e80941Smrg{ 2363b8e80941Smrg .name = "fsat", 2364b8e80941Smrg .num_inputs = 1, 2365b8e80941Smrg .output_size = 0, 2366b8e80941Smrg .output_type = nir_type_float, 2367b8e80941Smrg .input_sizes = { 2368b8e80941Smrg 0 2369b8e80941Smrg }, 2370b8e80941Smrg .input_types = { 2371b8e80941Smrg nir_type_float 2372b8e80941Smrg }, 2373b8e80941Smrg .is_conversion = false, 2374b8e80941Smrg .algebraic_properties = 2375b8e80941Smrg 0 2376b8e80941Smrg}, 2377b8e80941Smrg{ 2378b8e80941Smrg .name = "fsign", 2379b8e80941Smrg .num_inputs = 1, 2380b8e80941Smrg .output_size = 0, 2381b8e80941Smrg .output_type = nir_type_float, 2382b8e80941Smrg .input_sizes = { 2383b8e80941Smrg 0 2384b8e80941Smrg }, 2385b8e80941Smrg .input_types = { 2386b8e80941Smrg nir_type_float 2387b8e80941Smrg }, 2388b8e80941Smrg .is_conversion = false, 2389b8e80941Smrg .algebraic_properties = 2390b8e80941Smrg 0 2391b8e80941Smrg}, 2392b8e80941Smrg{ 2393b8e80941Smrg .name = "fsin", 2394b8e80941Smrg .num_inputs = 1, 2395b8e80941Smrg .output_size = 0, 2396b8e80941Smrg .output_type = nir_type_float, 2397b8e80941Smrg .input_sizes = { 2398b8e80941Smrg 0 2399b8e80941Smrg }, 2400b8e80941Smrg .input_types = { 2401b8e80941Smrg nir_type_float 2402b8e80941Smrg }, 2403b8e80941Smrg .is_conversion = false, 2404b8e80941Smrg .algebraic_properties = 2405b8e80941Smrg 0 2406b8e80941Smrg}, 2407b8e80941Smrg{ 2408b8e80941Smrg .name = "fsqrt", 2409b8e80941Smrg .num_inputs = 1, 2410b8e80941Smrg .output_size = 0, 2411b8e80941Smrg .output_type = nir_type_float, 2412b8e80941Smrg .input_sizes = { 2413b8e80941Smrg 0 2414b8e80941Smrg }, 2415b8e80941Smrg .input_types = { 2416b8e80941Smrg nir_type_float 2417b8e80941Smrg }, 2418b8e80941Smrg .is_conversion = false, 2419b8e80941Smrg .algebraic_properties = 2420b8e80941Smrg 0 2421b8e80941Smrg}, 2422b8e80941Smrg{ 2423b8e80941Smrg .name = "fsub", 2424b8e80941Smrg .num_inputs = 2, 2425b8e80941Smrg .output_size = 0, 2426b8e80941Smrg .output_type = nir_type_float, 2427b8e80941Smrg .input_sizes = { 2428b8e80941Smrg 0, 0 2429b8e80941Smrg }, 2430b8e80941Smrg .input_types = { 2431b8e80941Smrg nir_type_float, nir_type_float 2432b8e80941Smrg }, 2433b8e80941Smrg .is_conversion = false, 2434b8e80941Smrg .algebraic_properties = 2435b8e80941Smrg 0 2436b8e80941Smrg}, 2437b8e80941Smrg{ 2438b8e80941Smrg .name = "ftrunc", 2439b8e80941Smrg .num_inputs = 1, 2440b8e80941Smrg .output_size = 0, 2441b8e80941Smrg .output_type = nir_type_float, 2442b8e80941Smrg .input_sizes = { 2443b8e80941Smrg 0 2444b8e80941Smrg }, 2445b8e80941Smrg .input_types = { 2446b8e80941Smrg nir_type_float 2447b8e80941Smrg }, 2448b8e80941Smrg .is_conversion = false, 2449b8e80941Smrg .algebraic_properties = 2450b8e80941Smrg 0 2451b8e80941Smrg}, 2452b8e80941Smrg{ 2453b8e80941Smrg .name = "fxor", 2454b8e80941Smrg .num_inputs = 2, 2455b8e80941Smrg .output_size = 0, 2456b8e80941Smrg .output_type = nir_type_float32, 2457b8e80941Smrg .input_sizes = { 2458b8e80941Smrg 0, 0 2459b8e80941Smrg }, 2460b8e80941Smrg .input_types = { 2461b8e80941Smrg nir_type_float32, nir_type_float32 2462b8e80941Smrg }, 2463b8e80941Smrg .is_conversion = false, 2464b8e80941Smrg .algebraic_properties = 2465b8e80941Smrg NIR_OP_IS_COMMUTATIVE 2466b8e80941Smrg}, 2467b8e80941Smrg{ 2468b8e80941Smrg .name = "i2b1", 2469b8e80941Smrg .num_inputs = 1, 2470b8e80941Smrg .output_size = 0, 2471b8e80941Smrg .output_type = nir_type_bool1, 2472b8e80941Smrg .input_sizes = { 2473b8e80941Smrg 0 2474b8e80941Smrg }, 2475b8e80941Smrg .input_types = { 2476b8e80941Smrg nir_type_int 2477b8e80941Smrg }, 2478b8e80941Smrg .is_conversion = true, 2479b8e80941Smrg .algebraic_properties = 2480b8e80941Smrg 0 2481b8e80941Smrg}, 2482b8e80941Smrg{ 2483b8e80941Smrg .name = "i2b32", 2484b8e80941Smrg .num_inputs = 1, 2485b8e80941Smrg .output_size = 0, 2486b8e80941Smrg .output_type = nir_type_bool32, 2487b8e80941Smrg .input_sizes = { 2488b8e80941Smrg 0 2489b8e80941Smrg }, 2490b8e80941Smrg .input_types = { 2491b8e80941Smrg nir_type_int 2492b8e80941Smrg }, 2493b8e80941Smrg .is_conversion = true, 2494b8e80941Smrg .algebraic_properties = 2495b8e80941Smrg 0 2496b8e80941Smrg}, 2497b8e80941Smrg{ 2498b8e80941Smrg .name = "i2f16", 2499b8e80941Smrg .num_inputs = 1, 2500b8e80941Smrg .output_size = 0, 2501b8e80941Smrg .output_type = nir_type_float16, 2502b8e80941Smrg .input_sizes = { 2503b8e80941Smrg 0 2504b8e80941Smrg }, 2505b8e80941Smrg .input_types = { 2506b8e80941Smrg nir_type_int 2507b8e80941Smrg }, 2508b8e80941Smrg .is_conversion = true, 2509b8e80941Smrg .algebraic_properties = 2510b8e80941Smrg 0 2511b8e80941Smrg}, 2512b8e80941Smrg{ 2513b8e80941Smrg .name = "i2f32", 2514b8e80941Smrg .num_inputs = 1, 2515b8e80941Smrg .output_size = 0, 2516b8e80941Smrg .output_type = nir_type_float32, 2517b8e80941Smrg .input_sizes = { 2518b8e80941Smrg 0 2519b8e80941Smrg }, 2520b8e80941Smrg .input_types = { 2521b8e80941Smrg nir_type_int 2522b8e80941Smrg }, 2523b8e80941Smrg .is_conversion = true, 2524b8e80941Smrg .algebraic_properties = 2525b8e80941Smrg 0 2526b8e80941Smrg}, 2527b8e80941Smrg{ 2528b8e80941Smrg .name = "i2f64", 2529b8e80941Smrg .num_inputs = 1, 2530b8e80941Smrg .output_size = 0, 2531b8e80941Smrg .output_type = nir_type_float64, 2532b8e80941Smrg .input_sizes = { 2533b8e80941Smrg 0 2534b8e80941Smrg }, 2535b8e80941Smrg .input_types = { 2536b8e80941Smrg nir_type_int 2537b8e80941Smrg }, 2538b8e80941Smrg .is_conversion = true, 2539b8e80941Smrg .algebraic_properties = 2540b8e80941Smrg 0 2541b8e80941Smrg}, 2542b8e80941Smrg{ 2543b8e80941Smrg .name = "i2i1", 2544b8e80941Smrg .num_inputs = 1, 2545b8e80941Smrg .output_size = 0, 2546b8e80941Smrg .output_type = nir_type_int1, 2547b8e80941Smrg .input_sizes = { 2548b8e80941Smrg 0 2549b8e80941Smrg }, 2550b8e80941Smrg .input_types = { 2551b8e80941Smrg nir_type_int 2552b8e80941Smrg }, 2553b8e80941Smrg .is_conversion = true, 2554b8e80941Smrg .algebraic_properties = 2555b8e80941Smrg 0 2556b8e80941Smrg}, 2557b8e80941Smrg{ 2558b8e80941Smrg .name = "i2i16", 2559b8e80941Smrg .num_inputs = 1, 2560b8e80941Smrg .output_size = 0, 2561b8e80941Smrg .output_type = nir_type_int16, 2562b8e80941Smrg .input_sizes = { 2563b8e80941Smrg 0 2564b8e80941Smrg }, 2565b8e80941Smrg .input_types = { 2566b8e80941Smrg nir_type_int 2567b8e80941Smrg }, 2568b8e80941Smrg .is_conversion = true, 2569b8e80941Smrg .algebraic_properties = 2570b8e80941Smrg 0 2571b8e80941Smrg}, 2572b8e80941Smrg{ 2573b8e80941Smrg .name = "i2i32", 2574b8e80941Smrg .num_inputs = 1, 2575b8e80941Smrg .output_size = 0, 2576b8e80941Smrg .output_type = nir_type_int32, 2577b8e80941Smrg .input_sizes = { 2578b8e80941Smrg 0 2579b8e80941Smrg }, 2580b8e80941Smrg .input_types = { 2581b8e80941Smrg nir_type_int 2582b8e80941Smrg }, 2583b8e80941Smrg .is_conversion = true, 2584b8e80941Smrg .algebraic_properties = 2585b8e80941Smrg 0 2586b8e80941Smrg}, 2587b8e80941Smrg{ 2588b8e80941Smrg .name = "i2i64", 2589b8e80941Smrg .num_inputs = 1, 2590b8e80941Smrg .output_size = 0, 2591b8e80941Smrg .output_type = nir_type_int64, 2592b8e80941Smrg .input_sizes = { 2593b8e80941Smrg 0 2594b8e80941Smrg }, 2595b8e80941Smrg .input_types = { 2596b8e80941Smrg nir_type_int 2597b8e80941Smrg }, 2598b8e80941Smrg .is_conversion = true, 2599b8e80941Smrg .algebraic_properties = 2600b8e80941Smrg 0 2601b8e80941Smrg}, 2602b8e80941Smrg{ 2603b8e80941Smrg .name = "i2i8", 2604b8e80941Smrg .num_inputs = 1, 2605b8e80941Smrg .output_size = 0, 2606b8e80941Smrg .output_type = nir_type_int8, 2607b8e80941Smrg .input_sizes = { 2608b8e80941Smrg 0 2609b8e80941Smrg }, 2610b8e80941Smrg .input_types = { 2611b8e80941Smrg nir_type_int 2612b8e80941Smrg }, 2613b8e80941Smrg .is_conversion = true, 2614b8e80941Smrg .algebraic_properties = 2615b8e80941Smrg 0 2616b8e80941Smrg}, 2617b8e80941Smrg{ 2618b8e80941Smrg .name = "iabs", 2619b8e80941Smrg .num_inputs = 1, 2620b8e80941Smrg .output_size = 0, 2621b8e80941Smrg .output_type = nir_type_int, 2622b8e80941Smrg .input_sizes = { 2623b8e80941Smrg 0 2624b8e80941Smrg }, 2625b8e80941Smrg .input_types = { 2626b8e80941Smrg nir_type_int 2627b8e80941Smrg }, 2628b8e80941Smrg .is_conversion = false, 2629b8e80941Smrg .algebraic_properties = 2630b8e80941Smrg 0 2631b8e80941Smrg}, 2632b8e80941Smrg{ 2633b8e80941Smrg .name = "iadd", 2634b8e80941Smrg .num_inputs = 2, 2635b8e80941Smrg .output_size = 0, 2636b8e80941Smrg .output_type = nir_type_int, 2637b8e80941Smrg .input_sizes = { 2638b8e80941Smrg 0, 0 2639b8e80941Smrg }, 2640b8e80941Smrg .input_types = { 2641b8e80941Smrg nir_type_int, nir_type_int 2642b8e80941Smrg }, 2643b8e80941Smrg .is_conversion = false, 2644b8e80941Smrg .algebraic_properties = 2645b8e80941Smrg NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 2646b8e80941Smrg}, 2647b8e80941Smrg{ 2648b8e80941Smrg .name = "iadd_sat", 2649b8e80941Smrg .num_inputs = 2, 2650b8e80941Smrg .output_size = 0, 2651b8e80941Smrg .output_type = nir_type_int, 2652b8e80941Smrg .input_sizes = { 2653b8e80941Smrg 0, 0 2654b8e80941Smrg }, 2655b8e80941Smrg .input_types = { 2656b8e80941Smrg nir_type_int, nir_type_int 2657b8e80941Smrg }, 2658b8e80941Smrg .is_conversion = false, 2659b8e80941Smrg .algebraic_properties = 2660b8e80941Smrg NIR_OP_IS_COMMUTATIVE 2661b8e80941Smrg}, 2662b8e80941Smrg{ 2663b8e80941Smrg .name = "iand", 2664b8e80941Smrg .num_inputs = 2, 2665b8e80941Smrg .output_size = 0, 2666b8e80941Smrg .output_type = nir_type_uint, 2667b8e80941Smrg .input_sizes = { 2668b8e80941Smrg 0, 0 2669b8e80941Smrg }, 2670b8e80941Smrg .input_types = { 2671b8e80941Smrg nir_type_uint, nir_type_uint 2672b8e80941Smrg }, 2673b8e80941Smrg .is_conversion = false, 2674b8e80941Smrg .algebraic_properties = 2675b8e80941Smrg NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 2676b8e80941Smrg}, 2677b8e80941Smrg{ 2678b8e80941Smrg .name = "ibfe", 2679b8e80941Smrg .num_inputs = 3, 2680b8e80941Smrg .output_size = 0, 2681b8e80941Smrg .output_type = nir_type_int32, 2682b8e80941Smrg .input_sizes = { 2683b8e80941Smrg 0, 0, 0 2684b8e80941Smrg }, 2685b8e80941Smrg .input_types = { 2686b8e80941Smrg nir_type_int32, nir_type_int32, nir_type_int32 2687b8e80941Smrg }, 2688b8e80941Smrg .is_conversion = false, 2689b8e80941Smrg .algebraic_properties = 2690b8e80941Smrg 0 2691b8e80941Smrg}, 2692b8e80941Smrg{ 2693b8e80941Smrg .name = "ibitfield_extract", 2694b8e80941Smrg .num_inputs = 3, 2695b8e80941Smrg .output_size = 0, 2696b8e80941Smrg .output_type = nir_type_int32, 2697b8e80941Smrg .input_sizes = { 2698b8e80941Smrg 0, 0, 0 2699b8e80941Smrg }, 2700b8e80941Smrg .input_types = { 2701b8e80941Smrg nir_type_int32, nir_type_int32, nir_type_int32 2702b8e80941Smrg }, 2703b8e80941Smrg .is_conversion = false, 2704b8e80941Smrg .algebraic_properties = 2705b8e80941Smrg 0 2706b8e80941Smrg}, 2707b8e80941Smrg{ 2708b8e80941Smrg .name = "idiv", 2709b8e80941Smrg .num_inputs = 2, 2710b8e80941Smrg .output_size = 0, 2711b8e80941Smrg .output_type = nir_type_int, 2712b8e80941Smrg .input_sizes = { 2713b8e80941Smrg 0, 0 2714b8e80941Smrg }, 2715b8e80941Smrg .input_types = { 2716b8e80941Smrg nir_type_int, nir_type_int 2717b8e80941Smrg }, 2718b8e80941Smrg .is_conversion = false, 2719b8e80941Smrg .algebraic_properties = 2720b8e80941Smrg 0 2721b8e80941Smrg}, 2722b8e80941Smrg{ 2723b8e80941Smrg .name = "ieq", 2724b8e80941Smrg .num_inputs = 2, 2725b8e80941Smrg .output_size = 0, 2726b8e80941Smrg .output_type = nir_type_bool1, 2727b8e80941Smrg .input_sizes = { 2728b8e80941Smrg 0, 0 2729b8e80941Smrg }, 2730b8e80941Smrg .input_types = { 2731b8e80941Smrg nir_type_int, nir_type_int 2732b8e80941Smrg }, 2733b8e80941Smrg .is_conversion = false, 2734b8e80941Smrg .algebraic_properties = 2735b8e80941Smrg NIR_OP_IS_COMMUTATIVE 2736b8e80941Smrg}, 2737b8e80941Smrg{ 2738b8e80941Smrg .name = "ieq32", 2739b8e80941Smrg .num_inputs = 2, 2740b8e80941Smrg .output_size = 0, 2741b8e80941Smrg .output_type = nir_type_bool32, 2742b8e80941Smrg .input_sizes = { 2743b8e80941Smrg 0, 0 2744b8e80941Smrg }, 2745b8e80941Smrg .input_types = { 2746b8e80941Smrg nir_type_int, nir_type_int 2747b8e80941Smrg }, 2748b8e80941Smrg .is_conversion = false, 2749b8e80941Smrg .algebraic_properties = 2750b8e80941Smrg NIR_OP_IS_COMMUTATIVE 2751b8e80941Smrg}, 2752b8e80941Smrg{ 2753b8e80941Smrg .name = "ifind_msb", 2754b8e80941Smrg .num_inputs = 1, 2755b8e80941Smrg .output_size = 0, 2756b8e80941Smrg .output_type = nir_type_int32, 2757b8e80941Smrg .input_sizes = { 2758b8e80941Smrg 0 2759b8e80941Smrg }, 2760b8e80941Smrg .input_types = { 2761b8e80941Smrg nir_type_int32 2762b8e80941Smrg }, 2763b8e80941Smrg .is_conversion = false, 2764b8e80941Smrg .algebraic_properties = 2765b8e80941Smrg 0 2766b8e80941Smrg}, 2767b8e80941Smrg{ 2768b8e80941Smrg .name = "ige", 2769b8e80941Smrg .num_inputs = 2, 2770b8e80941Smrg .output_size = 0, 2771b8e80941Smrg .output_type = nir_type_bool1, 2772b8e80941Smrg .input_sizes = { 2773b8e80941Smrg 0, 0 2774b8e80941Smrg }, 2775b8e80941Smrg .input_types = { 2776b8e80941Smrg nir_type_int, nir_type_int 2777b8e80941Smrg }, 2778b8e80941Smrg .is_conversion = false, 2779b8e80941Smrg .algebraic_properties = 2780b8e80941Smrg 0 2781b8e80941Smrg}, 2782b8e80941Smrg{ 2783b8e80941Smrg .name = "ige32", 2784b8e80941Smrg .num_inputs = 2, 2785b8e80941Smrg .output_size = 0, 2786b8e80941Smrg .output_type = nir_type_bool32, 2787b8e80941Smrg .input_sizes = { 2788b8e80941Smrg 0, 0 2789b8e80941Smrg }, 2790b8e80941Smrg .input_types = { 2791b8e80941Smrg nir_type_int, nir_type_int 2792b8e80941Smrg }, 2793b8e80941Smrg .is_conversion = false, 2794b8e80941Smrg .algebraic_properties = 2795b8e80941Smrg 0 2796b8e80941Smrg}, 2797b8e80941Smrg{ 2798b8e80941Smrg .name = "ihadd", 2799b8e80941Smrg .num_inputs = 2, 2800b8e80941Smrg .output_size = 0, 2801b8e80941Smrg .output_type = nir_type_int, 2802b8e80941Smrg .input_sizes = { 2803b8e80941Smrg 0, 0 2804b8e80941Smrg }, 2805b8e80941Smrg .input_types = { 2806b8e80941Smrg nir_type_int, nir_type_int 2807b8e80941Smrg }, 2808b8e80941Smrg .is_conversion = false, 2809b8e80941Smrg .algebraic_properties = 2810b8e80941Smrg NIR_OP_IS_COMMUTATIVE 2811b8e80941Smrg}, 2812b8e80941Smrg{ 2813b8e80941Smrg .name = "ilt", 2814b8e80941Smrg .num_inputs = 2, 2815b8e80941Smrg .output_size = 0, 2816b8e80941Smrg .output_type = nir_type_bool1, 2817b8e80941Smrg .input_sizes = { 2818b8e80941Smrg 0, 0 2819b8e80941Smrg }, 2820b8e80941Smrg .input_types = { 2821b8e80941Smrg nir_type_int, nir_type_int 2822b8e80941Smrg }, 2823b8e80941Smrg .is_conversion = false, 2824b8e80941Smrg .algebraic_properties = 2825b8e80941Smrg 0 2826b8e80941Smrg}, 2827b8e80941Smrg{ 2828b8e80941Smrg .name = "ilt32", 2829b8e80941Smrg .num_inputs = 2, 2830b8e80941Smrg .output_size = 0, 2831b8e80941Smrg .output_type = nir_type_bool32, 2832b8e80941Smrg .input_sizes = { 2833b8e80941Smrg 0, 0 2834b8e80941Smrg }, 2835b8e80941Smrg .input_types = { 2836b8e80941Smrg nir_type_int, nir_type_int 2837b8e80941Smrg }, 2838b8e80941Smrg .is_conversion = false, 2839b8e80941Smrg .algebraic_properties = 2840b8e80941Smrg 0 2841b8e80941Smrg}, 2842b8e80941Smrg{ 2843b8e80941Smrg .name = "imax", 2844b8e80941Smrg .num_inputs = 2, 2845b8e80941Smrg .output_size = 0, 2846b8e80941Smrg .output_type = nir_type_int, 2847b8e80941Smrg .input_sizes = { 2848b8e80941Smrg 0, 0 2849b8e80941Smrg }, 2850b8e80941Smrg .input_types = { 2851b8e80941Smrg nir_type_int, nir_type_int 2852b8e80941Smrg }, 2853b8e80941Smrg .is_conversion = false, 2854b8e80941Smrg .algebraic_properties = 2855b8e80941Smrg NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 2856b8e80941Smrg}, 2857b8e80941Smrg{ 2858b8e80941Smrg .name = "imax3", 2859b8e80941Smrg .num_inputs = 3, 2860b8e80941Smrg .output_size = 0, 2861b8e80941Smrg .output_type = nir_type_int, 2862b8e80941Smrg .input_sizes = { 2863b8e80941Smrg 0, 0, 0 2864b8e80941Smrg }, 2865b8e80941Smrg .input_types = { 2866b8e80941Smrg nir_type_int, nir_type_int, nir_type_int 2867b8e80941Smrg }, 2868b8e80941Smrg .is_conversion = false, 2869b8e80941Smrg .algebraic_properties = 2870b8e80941Smrg 0 2871b8e80941Smrg}, 2872b8e80941Smrg{ 2873b8e80941Smrg .name = "imed3", 2874b8e80941Smrg .num_inputs = 3, 2875b8e80941Smrg .output_size = 0, 2876b8e80941Smrg .output_type = nir_type_int, 2877b8e80941Smrg .input_sizes = { 2878b8e80941Smrg 0, 0, 0 2879b8e80941Smrg }, 2880b8e80941Smrg .input_types = { 2881b8e80941Smrg nir_type_int, nir_type_int, nir_type_int 2882b8e80941Smrg }, 2883b8e80941Smrg .is_conversion = false, 2884b8e80941Smrg .algebraic_properties = 2885b8e80941Smrg 0 2886b8e80941Smrg}, 2887b8e80941Smrg{ 2888b8e80941Smrg .name = "imin", 2889b8e80941Smrg .num_inputs = 2, 2890b8e80941Smrg .output_size = 0, 2891b8e80941Smrg .output_type = nir_type_int, 2892b8e80941Smrg .input_sizes = { 2893b8e80941Smrg 0, 0 2894b8e80941Smrg }, 2895b8e80941Smrg .input_types = { 2896b8e80941Smrg nir_type_int, nir_type_int 2897b8e80941Smrg }, 2898b8e80941Smrg .is_conversion = false, 2899b8e80941Smrg .algebraic_properties = 2900b8e80941Smrg NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 2901b8e80941Smrg}, 2902b8e80941Smrg{ 2903b8e80941Smrg .name = "imin3", 2904b8e80941Smrg .num_inputs = 3, 2905b8e80941Smrg .output_size = 0, 2906b8e80941Smrg .output_type = nir_type_int, 2907b8e80941Smrg .input_sizes = { 2908b8e80941Smrg 0, 0, 0 2909b8e80941Smrg }, 2910b8e80941Smrg .input_types = { 2911b8e80941Smrg nir_type_int, nir_type_int, nir_type_int 2912b8e80941Smrg }, 2913b8e80941Smrg .is_conversion = false, 2914b8e80941Smrg .algebraic_properties = 2915b8e80941Smrg 0 2916b8e80941Smrg}, 2917b8e80941Smrg{ 2918b8e80941Smrg .name = "imod", 2919b8e80941Smrg .num_inputs = 2, 2920b8e80941Smrg .output_size = 0, 2921b8e80941Smrg .output_type = nir_type_int, 2922b8e80941Smrg .input_sizes = { 2923b8e80941Smrg 0, 0 2924b8e80941Smrg }, 2925b8e80941Smrg .input_types = { 2926b8e80941Smrg nir_type_int, nir_type_int 2927b8e80941Smrg }, 2928b8e80941Smrg .is_conversion = false, 2929b8e80941Smrg .algebraic_properties = 2930b8e80941Smrg 0 2931b8e80941Smrg}, 2932b8e80941Smrg{ 2933b8e80941Smrg .name = "imov", 2934b8e80941Smrg .num_inputs = 1, 2935b8e80941Smrg .output_size = 0, 2936b8e80941Smrg .output_type = nir_type_int, 2937b8e80941Smrg .input_sizes = { 2938b8e80941Smrg 0 2939b8e80941Smrg }, 2940b8e80941Smrg .input_types = { 2941b8e80941Smrg nir_type_int 2942b8e80941Smrg }, 2943b8e80941Smrg .is_conversion = false, 2944b8e80941Smrg .algebraic_properties = 2945b8e80941Smrg 0 2946b8e80941Smrg}, 2947b8e80941Smrg{ 2948b8e80941Smrg .name = "imul", 2949b8e80941Smrg .num_inputs = 2, 2950b8e80941Smrg .output_size = 0, 2951b8e80941Smrg .output_type = nir_type_int, 2952b8e80941Smrg .input_sizes = { 2953b8e80941Smrg 0, 0 2954b8e80941Smrg }, 2955b8e80941Smrg .input_types = { 2956b8e80941Smrg nir_type_int, nir_type_int 2957b8e80941Smrg }, 2958b8e80941Smrg .is_conversion = false, 2959b8e80941Smrg .algebraic_properties = 2960b8e80941Smrg NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 2961b8e80941Smrg}, 2962b8e80941Smrg{ 2963b8e80941Smrg .name = "imul_2x32_64", 2964b8e80941Smrg .num_inputs = 2, 2965b8e80941Smrg .output_size = 0, 2966b8e80941Smrg .output_type = nir_type_int64, 2967b8e80941Smrg .input_sizes = { 2968b8e80941Smrg 0, 0 2969b8e80941Smrg }, 2970b8e80941Smrg .input_types = { 2971b8e80941Smrg nir_type_int32, nir_type_int32 2972b8e80941Smrg }, 2973b8e80941Smrg .is_conversion = false, 2974b8e80941Smrg .algebraic_properties = 2975b8e80941Smrg NIR_OP_IS_COMMUTATIVE 2976b8e80941Smrg}, 2977b8e80941Smrg{ 2978b8e80941Smrg .name = "imul_high", 2979b8e80941Smrg .num_inputs = 2, 2980b8e80941Smrg .output_size = 0, 2981b8e80941Smrg .output_type = nir_type_int, 2982b8e80941Smrg .input_sizes = { 2983b8e80941Smrg 0, 0 2984b8e80941Smrg }, 2985b8e80941Smrg .input_types = { 2986b8e80941Smrg nir_type_int, nir_type_int 2987b8e80941Smrg }, 2988b8e80941Smrg .is_conversion = false, 2989b8e80941Smrg .algebraic_properties = 2990b8e80941Smrg NIR_OP_IS_COMMUTATIVE 2991b8e80941Smrg}, 2992b8e80941Smrg{ 2993b8e80941Smrg .name = "ine", 2994b8e80941Smrg .num_inputs = 2, 2995b8e80941Smrg .output_size = 0, 2996b8e80941Smrg .output_type = nir_type_bool1, 2997b8e80941Smrg .input_sizes = { 2998b8e80941Smrg 0, 0 2999b8e80941Smrg }, 3000b8e80941Smrg .input_types = { 3001b8e80941Smrg nir_type_int, nir_type_int 3002b8e80941Smrg }, 3003b8e80941Smrg .is_conversion = false, 3004b8e80941Smrg .algebraic_properties = 3005b8e80941Smrg NIR_OP_IS_COMMUTATIVE 3006b8e80941Smrg}, 3007b8e80941Smrg{ 3008b8e80941Smrg .name = "ine32", 3009b8e80941Smrg .num_inputs = 2, 3010b8e80941Smrg .output_size = 0, 3011b8e80941Smrg .output_type = nir_type_bool32, 3012b8e80941Smrg .input_sizes = { 3013b8e80941Smrg 0, 0 3014b8e80941Smrg }, 3015b8e80941Smrg .input_types = { 3016b8e80941Smrg nir_type_int, nir_type_int 3017b8e80941Smrg }, 3018b8e80941Smrg .is_conversion = false, 3019b8e80941Smrg .algebraic_properties = 3020b8e80941Smrg NIR_OP_IS_COMMUTATIVE 3021b8e80941Smrg}, 3022b8e80941Smrg{ 3023b8e80941Smrg .name = "ineg", 3024b8e80941Smrg .num_inputs = 1, 3025b8e80941Smrg .output_size = 0, 3026b8e80941Smrg .output_type = nir_type_int, 3027b8e80941Smrg .input_sizes = { 3028b8e80941Smrg 0 3029b8e80941Smrg }, 3030b8e80941Smrg .input_types = { 3031b8e80941Smrg nir_type_int 3032b8e80941Smrg }, 3033b8e80941Smrg .is_conversion = false, 3034b8e80941Smrg .algebraic_properties = 3035b8e80941Smrg 0 3036b8e80941Smrg}, 3037b8e80941Smrg{ 3038b8e80941Smrg .name = "inot", 3039b8e80941Smrg .num_inputs = 1, 3040b8e80941Smrg .output_size = 0, 3041b8e80941Smrg .output_type = nir_type_int, 3042b8e80941Smrg .input_sizes = { 3043b8e80941Smrg 0 3044b8e80941Smrg }, 3045b8e80941Smrg .input_types = { 3046b8e80941Smrg nir_type_int 3047b8e80941Smrg }, 3048b8e80941Smrg .is_conversion = false, 3049b8e80941Smrg .algebraic_properties = 3050b8e80941Smrg 0 3051b8e80941Smrg}, 3052b8e80941Smrg{ 3053b8e80941Smrg .name = "ior", 3054b8e80941Smrg .num_inputs = 2, 3055b8e80941Smrg .output_size = 0, 3056b8e80941Smrg .output_type = nir_type_uint, 3057b8e80941Smrg .input_sizes = { 3058b8e80941Smrg 0, 0 3059b8e80941Smrg }, 3060b8e80941Smrg .input_types = { 3061b8e80941Smrg nir_type_uint, nir_type_uint 3062b8e80941Smrg }, 3063b8e80941Smrg .is_conversion = false, 3064b8e80941Smrg .algebraic_properties = 3065b8e80941Smrg NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 3066b8e80941Smrg}, 3067b8e80941Smrg{ 3068b8e80941Smrg .name = "irem", 3069b8e80941Smrg .num_inputs = 2, 3070b8e80941Smrg .output_size = 0, 3071b8e80941Smrg .output_type = nir_type_int, 3072b8e80941Smrg .input_sizes = { 3073b8e80941Smrg 0, 0 3074b8e80941Smrg }, 3075b8e80941Smrg .input_types = { 3076b8e80941Smrg nir_type_int, nir_type_int 3077b8e80941Smrg }, 3078b8e80941Smrg .is_conversion = false, 3079b8e80941Smrg .algebraic_properties = 3080b8e80941Smrg 0 3081b8e80941Smrg}, 3082b8e80941Smrg{ 3083b8e80941Smrg .name = "irhadd", 3084b8e80941Smrg .num_inputs = 2, 3085b8e80941Smrg .output_size = 0, 3086b8e80941Smrg .output_type = nir_type_int, 3087b8e80941Smrg .input_sizes = { 3088b8e80941Smrg 0, 0 3089b8e80941Smrg }, 3090b8e80941Smrg .input_types = { 3091b8e80941Smrg nir_type_int, nir_type_int 3092b8e80941Smrg }, 3093b8e80941Smrg .is_conversion = false, 3094b8e80941Smrg .algebraic_properties = 3095b8e80941Smrg NIR_OP_IS_COMMUTATIVE 3096b8e80941Smrg}, 3097b8e80941Smrg{ 3098b8e80941Smrg .name = "ishl", 3099b8e80941Smrg .num_inputs = 2, 3100b8e80941Smrg .output_size = 0, 3101b8e80941Smrg .output_type = nir_type_int, 3102b8e80941Smrg .input_sizes = { 3103b8e80941Smrg 0, 0 3104b8e80941Smrg }, 3105b8e80941Smrg .input_types = { 3106b8e80941Smrg nir_type_int, nir_type_uint32 3107b8e80941Smrg }, 3108b8e80941Smrg .is_conversion = false, 3109b8e80941Smrg .algebraic_properties = 3110b8e80941Smrg 0 3111b8e80941Smrg}, 3112b8e80941Smrg{ 3113b8e80941Smrg .name = "ishr", 3114b8e80941Smrg .num_inputs = 2, 3115b8e80941Smrg .output_size = 0, 3116b8e80941Smrg .output_type = nir_type_int, 3117b8e80941Smrg .input_sizes = { 3118b8e80941Smrg 0, 0 3119b8e80941Smrg }, 3120b8e80941Smrg .input_types = { 3121b8e80941Smrg nir_type_int, nir_type_uint32 3122b8e80941Smrg }, 3123b8e80941Smrg .is_conversion = false, 3124b8e80941Smrg .algebraic_properties = 3125b8e80941Smrg 0 3126b8e80941Smrg}, 3127b8e80941Smrg{ 3128b8e80941Smrg .name = "isign", 3129b8e80941Smrg .num_inputs = 1, 3130b8e80941Smrg .output_size = 0, 3131b8e80941Smrg .output_type = nir_type_int, 3132b8e80941Smrg .input_sizes = { 3133b8e80941Smrg 0 3134b8e80941Smrg }, 3135b8e80941Smrg .input_types = { 3136b8e80941Smrg nir_type_int 3137b8e80941Smrg }, 3138b8e80941Smrg .is_conversion = false, 3139b8e80941Smrg .algebraic_properties = 3140b8e80941Smrg 0 3141b8e80941Smrg}, 3142b8e80941Smrg{ 3143b8e80941Smrg .name = "isub", 3144b8e80941Smrg .num_inputs = 2, 3145b8e80941Smrg .output_size = 0, 3146b8e80941Smrg .output_type = nir_type_int, 3147b8e80941Smrg .input_sizes = { 3148b8e80941Smrg 0, 0 3149b8e80941Smrg }, 3150b8e80941Smrg .input_types = { 3151b8e80941Smrg nir_type_int, nir_type_int 3152b8e80941Smrg }, 3153b8e80941Smrg .is_conversion = false, 3154b8e80941Smrg .algebraic_properties = 3155b8e80941Smrg 0 3156b8e80941Smrg}, 3157b8e80941Smrg{ 3158b8e80941Smrg .name = "isub_sat", 3159b8e80941Smrg .num_inputs = 2, 3160b8e80941Smrg .output_size = 0, 3161b8e80941Smrg .output_type = nir_type_int, 3162b8e80941Smrg .input_sizes = { 3163b8e80941Smrg 0, 0 3164b8e80941Smrg }, 3165b8e80941Smrg .input_types = { 3166b8e80941Smrg nir_type_int, nir_type_int 3167b8e80941Smrg }, 3168b8e80941Smrg .is_conversion = false, 3169b8e80941Smrg .algebraic_properties = 3170b8e80941Smrg 0 3171b8e80941Smrg}, 3172b8e80941Smrg{ 3173b8e80941Smrg .name = "ixor", 3174b8e80941Smrg .num_inputs = 2, 3175b8e80941Smrg .output_size = 0, 3176b8e80941Smrg .output_type = nir_type_uint, 3177b8e80941Smrg .input_sizes = { 3178b8e80941Smrg 0, 0 3179b8e80941Smrg }, 3180b8e80941Smrg .input_types = { 3181b8e80941Smrg nir_type_uint, nir_type_uint 3182b8e80941Smrg }, 3183b8e80941Smrg .is_conversion = false, 3184b8e80941Smrg .algebraic_properties = 3185b8e80941Smrg NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 3186b8e80941Smrg}, 3187b8e80941Smrg{ 3188b8e80941Smrg .name = "ldexp", 3189b8e80941Smrg .num_inputs = 2, 3190b8e80941Smrg .output_size = 0, 3191b8e80941Smrg .output_type = nir_type_float, 3192b8e80941Smrg .input_sizes = { 3193b8e80941Smrg 0, 0 3194b8e80941Smrg }, 3195b8e80941Smrg .input_types = { 3196b8e80941Smrg nir_type_float, nir_type_int32 3197b8e80941Smrg }, 3198b8e80941Smrg .is_conversion = false, 3199b8e80941Smrg .algebraic_properties = 3200b8e80941Smrg 0 3201b8e80941Smrg}, 3202b8e80941Smrg{ 3203b8e80941Smrg .name = "pack_32_2x16", 3204b8e80941Smrg .num_inputs = 1, 3205b8e80941Smrg .output_size = 1, 3206b8e80941Smrg .output_type = nir_type_uint32, 3207b8e80941Smrg .input_sizes = { 3208b8e80941Smrg 2 3209b8e80941Smrg }, 3210b8e80941Smrg .input_types = { 3211b8e80941Smrg nir_type_uint16 3212b8e80941Smrg }, 3213b8e80941Smrg .is_conversion = false, 3214b8e80941Smrg .algebraic_properties = 3215b8e80941Smrg 0 3216b8e80941Smrg}, 3217b8e80941Smrg{ 3218b8e80941Smrg .name = "pack_32_2x16_split", 3219b8e80941Smrg .num_inputs = 2, 3220b8e80941Smrg .output_size = 0, 3221b8e80941Smrg .output_type = nir_type_uint32, 3222b8e80941Smrg .input_sizes = { 3223b8e80941Smrg 0, 0 3224b8e80941Smrg }, 3225b8e80941Smrg .input_types = { 3226b8e80941Smrg nir_type_uint16, nir_type_uint16 3227b8e80941Smrg }, 3228b8e80941Smrg .is_conversion = false, 3229b8e80941Smrg .algebraic_properties = 3230b8e80941Smrg 0 3231b8e80941Smrg}, 3232b8e80941Smrg{ 3233b8e80941Smrg .name = "pack_64_2x32", 3234b8e80941Smrg .num_inputs = 1, 3235b8e80941Smrg .output_size = 1, 3236b8e80941Smrg .output_type = nir_type_uint64, 3237b8e80941Smrg .input_sizes = { 3238b8e80941Smrg 2 3239b8e80941Smrg }, 3240b8e80941Smrg .input_types = { 3241b8e80941Smrg nir_type_uint32 3242b8e80941Smrg }, 3243b8e80941Smrg .is_conversion = false, 3244b8e80941Smrg .algebraic_properties = 3245b8e80941Smrg 0 3246b8e80941Smrg}, 3247b8e80941Smrg{ 3248b8e80941Smrg .name = "pack_64_2x32_split", 3249b8e80941Smrg .num_inputs = 2, 3250b8e80941Smrg .output_size = 0, 3251b8e80941Smrg .output_type = nir_type_uint64, 3252b8e80941Smrg .input_sizes = { 3253b8e80941Smrg 0, 0 3254b8e80941Smrg }, 3255b8e80941Smrg .input_types = { 3256b8e80941Smrg nir_type_uint32, nir_type_uint32 3257b8e80941Smrg }, 3258b8e80941Smrg .is_conversion = false, 3259b8e80941Smrg .algebraic_properties = 3260b8e80941Smrg 0 3261b8e80941Smrg}, 3262b8e80941Smrg{ 3263b8e80941Smrg .name = "pack_64_4x16", 3264b8e80941Smrg .num_inputs = 1, 3265b8e80941Smrg .output_size = 1, 3266b8e80941Smrg .output_type = nir_type_uint64, 3267b8e80941Smrg .input_sizes = { 3268b8e80941Smrg 4 3269b8e80941Smrg }, 3270b8e80941Smrg .input_types = { 3271b8e80941Smrg nir_type_uint16 3272b8e80941Smrg }, 3273b8e80941Smrg .is_conversion = false, 3274b8e80941Smrg .algebraic_properties = 3275b8e80941Smrg 0 3276b8e80941Smrg}, 3277b8e80941Smrg{ 3278b8e80941Smrg .name = "pack_half_2x16", 3279b8e80941Smrg .num_inputs = 1, 3280b8e80941Smrg .output_size = 1, 3281b8e80941Smrg .output_type = nir_type_uint32, 3282b8e80941Smrg .input_sizes = { 3283b8e80941Smrg 2 3284b8e80941Smrg }, 3285b8e80941Smrg .input_types = { 3286b8e80941Smrg nir_type_float32 3287b8e80941Smrg }, 3288b8e80941Smrg .is_conversion = false, 3289b8e80941Smrg .algebraic_properties = 3290b8e80941Smrg 0 3291b8e80941Smrg}, 3292b8e80941Smrg{ 3293b8e80941Smrg .name = "pack_half_2x16_split", 3294b8e80941Smrg .num_inputs = 2, 3295b8e80941Smrg .output_size = 1, 3296b8e80941Smrg .output_type = nir_type_uint32, 3297b8e80941Smrg .input_sizes = { 3298b8e80941Smrg 1, 1 3299b8e80941Smrg }, 3300b8e80941Smrg .input_types = { 3301b8e80941Smrg nir_type_float32, nir_type_float32 3302b8e80941Smrg }, 3303b8e80941Smrg .is_conversion = false, 3304b8e80941Smrg .algebraic_properties = 3305b8e80941Smrg 0 3306b8e80941Smrg}, 3307b8e80941Smrg{ 3308b8e80941Smrg .name = "pack_snorm_2x16", 3309b8e80941Smrg .num_inputs = 1, 3310b8e80941Smrg .output_size = 1, 3311b8e80941Smrg .output_type = nir_type_uint32, 3312b8e80941Smrg .input_sizes = { 3313b8e80941Smrg 2 3314b8e80941Smrg }, 3315b8e80941Smrg .input_types = { 3316b8e80941Smrg nir_type_float32 3317b8e80941Smrg }, 3318b8e80941Smrg .is_conversion = false, 3319b8e80941Smrg .algebraic_properties = 3320b8e80941Smrg 0 3321b8e80941Smrg}, 3322b8e80941Smrg{ 3323b8e80941Smrg .name = "pack_snorm_4x8", 3324b8e80941Smrg .num_inputs = 1, 3325b8e80941Smrg .output_size = 1, 3326b8e80941Smrg .output_type = nir_type_uint32, 3327b8e80941Smrg .input_sizes = { 3328b8e80941Smrg 4 3329b8e80941Smrg }, 3330b8e80941Smrg .input_types = { 3331b8e80941Smrg nir_type_float32 3332b8e80941Smrg }, 3333b8e80941Smrg .is_conversion = false, 3334b8e80941Smrg .algebraic_properties = 3335b8e80941Smrg 0 3336b8e80941Smrg}, 3337b8e80941Smrg{ 3338b8e80941Smrg .name = "pack_unorm_2x16", 3339b8e80941Smrg .num_inputs = 1, 3340b8e80941Smrg .output_size = 1, 3341b8e80941Smrg .output_type = nir_type_uint32, 3342b8e80941Smrg .input_sizes = { 3343b8e80941Smrg 2 3344b8e80941Smrg }, 3345b8e80941Smrg .input_types = { 3346b8e80941Smrg nir_type_float32 3347b8e80941Smrg }, 3348b8e80941Smrg .is_conversion = false, 3349b8e80941Smrg .algebraic_properties = 3350b8e80941Smrg 0 3351b8e80941Smrg}, 3352b8e80941Smrg{ 3353b8e80941Smrg .name = "pack_unorm_4x8", 3354b8e80941Smrg .num_inputs = 1, 3355b8e80941Smrg .output_size = 1, 3356b8e80941Smrg .output_type = nir_type_uint32, 3357b8e80941Smrg .input_sizes = { 3358b8e80941Smrg 4 3359b8e80941Smrg }, 3360b8e80941Smrg .input_types = { 3361b8e80941Smrg nir_type_float32 3362b8e80941Smrg }, 3363b8e80941Smrg .is_conversion = false, 3364b8e80941Smrg .algebraic_properties = 3365b8e80941Smrg 0 3366b8e80941Smrg}, 3367b8e80941Smrg{ 3368b8e80941Smrg .name = "pack_uvec2_to_uint", 3369b8e80941Smrg .num_inputs = 1, 3370b8e80941Smrg .output_size = 1, 3371b8e80941Smrg .output_type = nir_type_uint32, 3372b8e80941Smrg .input_sizes = { 3373b8e80941Smrg 2 3374b8e80941Smrg }, 3375b8e80941Smrg .input_types = { 3376b8e80941Smrg nir_type_uint32 3377b8e80941Smrg }, 3378b8e80941Smrg .is_conversion = false, 3379b8e80941Smrg .algebraic_properties = 3380b8e80941Smrg 0 3381b8e80941Smrg}, 3382b8e80941Smrg{ 3383b8e80941Smrg .name = "pack_uvec4_to_uint", 3384b8e80941Smrg .num_inputs = 1, 3385b8e80941Smrg .output_size = 1, 3386b8e80941Smrg .output_type = nir_type_uint32, 3387b8e80941Smrg .input_sizes = { 3388b8e80941Smrg 4 3389b8e80941Smrg }, 3390b8e80941Smrg .input_types = { 3391b8e80941Smrg nir_type_uint32 3392b8e80941Smrg }, 3393b8e80941Smrg .is_conversion = false, 3394b8e80941Smrg .algebraic_properties = 3395b8e80941Smrg 0 3396b8e80941Smrg}, 3397b8e80941Smrg{ 3398b8e80941Smrg .name = "seq", 3399b8e80941Smrg .num_inputs = 2, 3400b8e80941Smrg .output_size = 0, 3401b8e80941Smrg .output_type = nir_type_float32, 3402b8e80941Smrg .input_sizes = { 3403b8e80941Smrg 0, 0 3404b8e80941Smrg }, 3405b8e80941Smrg .input_types = { 3406b8e80941Smrg nir_type_float32, nir_type_float32 3407b8e80941Smrg }, 3408b8e80941Smrg .is_conversion = false, 3409b8e80941Smrg .algebraic_properties = 3410b8e80941Smrg NIR_OP_IS_COMMUTATIVE 3411b8e80941Smrg}, 3412b8e80941Smrg{ 3413b8e80941Smrg .name = "sge", 3414b8e80941Smrg .num_inputs = 2, 3415b8e80941Smrg .output_size = 0, 3416b8e80941Smrg .output_type = nir_type_float, 3417b8e80941Smrg .input_sizes = { 3418b8e80941Smrg 0, 0 3419b8e80941Smrg }, 3420b8e80941Smrg .input_types = { 3421b8e80941Smrg nir_type_float, nir_type_float 3422b8e80941Smrg }, 3423b8e80941Smrg .is_conversion = false, 3424b8e80941Smrg .algebraic_properties = 3425b8e80941Smrg 0 3426b8e80941Smrg}, 3427b8e80941Smrg{ 3428b8e80941Smrg .name = "slt", 3429b8e80941Smrg .num_inputs = 2, 3430b8e80941Smrg .output_size = 0, 3431b8e80941Smrg .output_type = nir_type_float32, 3432b8e80941Smrg .input_sizes = { 3433b8e80941Smrg 0, 0 3434b8e80941Smrg }, 3435b8e80941Smrg .input_types = { 3436b8e80941Smrg nir_type_float32, nir_type_float32 3437b8e80941Smrg }, 3438b8e80941Smrg .is_conversion = false, 3439b8e80941Smrg .algebraic_properties = 3440b8e80941Smrg 0 3441b8e80941Smrg}, 3442b8e80941Smrg{ 3443b8e80941Smrg .name = "sne", 3444b8e80941Smrg .num_inputs = 2, 3445b8e80941Smrg .output_size = 0, 3446b8e80941Smrg .output_type = nir_type_float32, 3447b8e80941Smrg .input_sizes = { 3448b8e80941Smrg 0, 0 3449b8e80941Smrg }, 3450b8e80941Smrg .input_types = { 3451b8e80941Smrg nir_type_float32, nir_type_float32 3452b8e80941Smrg }, 3453b8e80941Smrg .is_conversion = false, 3454b8e80941Smrg .algebraic_properties = 3455b8e80941Smrg NIR_OP_IS_COMMUTATIVE 3456b8e80941Smrg}, 3457b8e80941Smrg{ 3458b8e80941Smrg .name = "u2f16", 3459b8e80941Smrg .num_inputs = 1, 3460b8e80941Smrg .output_size = 0, 3461b8e80941Smrg .output_type = nir_type_float16, 3462b8e80941Smrg .input_sizes = { 3463b8e80941Smrg 0 3464b8e80941Smrg }, 3465b8e80941Smrg .input_types = { 3466b8e80941Smrg nir_type_uint 3467b8e80941Smrg }, 3468b8e80941Smrg .is_conversion = true, 3469b8e80941Smrg .algebraic_properties = 3470b8e80941Smrg 0 3471b8e80941Smrg}, 3472b8e80941Smrg{ 3473b8e80941Smrg .name = "u2f32", 3474b8e80941Smrg .num_inputs = 1, 3475b8e80941Smrg .output_size = 0, 3476b8e80941Smrg .output_type = nir_type_float32, 3477b8e80941Smrg .input_sizes = { 3478b8e80941Smrg 0 3479b8e80941Smrg }, 3480b8e80941Smrg .input_types = { 3481b8e80941Smrg nir_type_uint 3482b8e80941Smrg }, 3483b8e80941Smrg .is_conversion = true, 3484b8e80941Smrg .algebraic_properties = 3485b8e80941Smrg 0 3486b8e80941Smrg}, 3487b8e80941Smrg{ 3488b8e80941Smrg .name = "u2f64", 3489b8e80941Smrg .num_inputs = 1, 3490b8e80941Smrg .output_size = 0, 3491b8e80941Smrg .output_type = nir_type_float64, 3492b8e80941Smrg .input_sizes = { 3493b8e80941Smrg 0 3494b8e80941Smrg }, 3495b8e80941Smrg .input_types = { 3496b8e80941Smrg nir_type_uint 3497b8e80941Smrg }, 3498b8e80941Smrg .is_conversion = true, 3499b8e80941Smrg .algebraic_properties = 3500b8e80941Smrg 0 3501b8e80941Smrg}, 3502b8e80941Smrg{ 3503b8e80941Smrg .name = "u2u1", 3504b8e80941Smrg .num_inputs = 1, 3505b8e80941Smrg .output_size = 0, 3506b8e80941Smrg .output_type = nir_type_uint1, 3507b8e80941Smrg .input_sizes = { 3508b8e80941Smrg 0 3509b8e80941Smrg }, 3510b8e80941Smrg .input_types = { 3511b8e80941Smrg nir_type_uint 3512b8e80941Smrg }, 3513b8e80941Smrg .is_conversion = true, 3514b8e80941Smrg .algebraic_properties = 3515b8e80941Smrg 0 3516b8e80941Smrg}, 3517b8e80941Smrg{ 3518b8e80941Smrg .name = "u2u16", 3519b8e80941Smrg .num_inputs = 1, 3520b8e80941Smrg .output_size = 0, 3521b8e80941Smrg .output_type = nir_type_uint16, 3522b8e80941Smrg .input_sizes = { 3523b8e80941Smrg 0 3524b8e80941Smrg }, 3525b8e80941Smrg .input_types = { 3526b8e80941Smrg nir_type_uint 3527b8e80941Smrg }, 3528b8e80941Smrg .is_conversion = true, 3529b8e80941Smrg .algebraic_properties = 3530b8e80941Smrg 0 3531b8e80941Smrg}, 3532b8e80941Smrg{ 3533b8e80941Smrg .name = "u2u32", 3534b8e80941Smrg .num_inputs = 1, 3535b8e80941Smrg .output_size = 0, 3536b8e80941Smrg .output_type = nir_type_uint32, 3537b8e80941Smrg .input_sizes = { 3538b8e80941Smrg 0 3539b8e80941Smrg }, 3540b8e80941Smrg .input_types = { 3541b8e80941Smrg nir_type_uint 3542b8e80941Smrg }, 3543b8e80941Smrg .is_conversion = true, 3544b8e80941Smrg .algebraic_properties = 3545b8e80941Smrg 0 3546b8e80941Smrg}, 3547b8e80941Smrg{ 3548b8e80941Smrg .name = "u2u64", 3549b8e80941Smrg .num_inputs = 1, 3550b8e80941Smrg .output_size = 0, 3551b8e80941Smrg .output_type = nir_type_uint64, 3552b8e80941Smrg .input_sizes = { 3553b8e80941Smrg 0 3554b8e80941Smrg }, 3555b8e80941Smrg .input_types = { 3556b8e80941Smrg nir_type_uint 3557b8e80941Smrg }, 3558b8e80941Smrg .is_conversion = true, 3559b8e80941Smrg .algebraic_properties = 3560b8e80941Smrg 0 3561b8e80941Smrg}, 3562b8e80941Smrg{ 3563b8e80941Smrg .name = "u2u8", 3564b8e80941Smrg .num_inputs = 1, 3565b8e80941Smrg .output_size = 0, 3566b8e80941Smrg .output_type = nir_type_uint8, 3567b8e80941Smrg .input_sizes = { 3568b8e80941Smrg 0 3569b8e80941Smrg }, 3570b8e80941Smrg .input_types = { 3571b8e80941Smrg nir_type_uint 3572b8e80941Smrg }, 3573b8e80941Smrg .is_conversion = true, 3574b8e80941Smrg .algebraic_properties = 3575b8e80941Smrg 0 3576b8e80941Smrg}, 3577b8e80941Smrg{ 3578b8e80941Smrg .name = "uadd_carry", 3579b8e80941Smrg .num_inputs = 2, 3580b8e80941Smrg .output_size = 0, 3581b8e80941Smrg .output_type = nir_type_uint, 3582b8e80941Smrg .input_sizes = { 3583b8e80941Smrg 0, 0 3584b8e80941Smrg }, 3585b8e80941Smrg .input_types = { 3586b8e80941Smrg nir_type_uint, nir_type_uint 3587b8e80941Smrg }, 3588b8e80941Smrg .is_conversion = false, 3589b8e80941Smrg .algebraic_properties = 3590b8e80941Smrg NIR_OP_IS_COMMUTATIVE 3591b8e80941Smrg}, 3592b8e80941Smrg{ 3593b8e80941Smrg .name = "uadd_sat", 3594b8e80941Smrg .num_inputs = 2, 3595b8e80941Smrg .output_size = 0, 3596b8e80941Smrg .output_type = nir_type_uint, 3597b8e80941Smrg .input_sizes = { 3598b8e80941Smrg 0, 0 3599b8e80941Smrg }, 3600b8e80941Smrg .input_types = { 3601b8e80941Smrg nir_type_uint, nir_type_uint 3602b8e80941Smrg }, 3603b8e80941Smrg .is_conversion = false, 3604b8e80941Smrg .algebraic_properties = 3605b8e80941Smrg NIR_OP_IS_COMMUTATIVE 3606b8e80941Smrg}, 3607b8e80941Smrg{ 3608b8e80941Smrg .name = "ubfe", 3609b8e80941Smrg .num_inputs = 3, 3610b8e80941Smrg .output_size = 0, 3611b8e80941Smrg .output_type = nir_type_uint32, 3612b8e80941Smrg .input_sizes = { 3613b8e80941Smrg 0, 0, 0 3614b8e80941Smrg }, 3615b8e80941Smrg .input_types = { 3616b8e80941Smrg nir_type_uint32, nir_type_int32, nir_type_int32 3617b8e80941Smrg }, 3618b8e80941Smrg .is_conversion = false, 3619b8e80941Smrg .algebraic_properties = 3620b8e80941Smrg 0 3621b8e80941Smrg}, 3622b8e80941Smrg{ 3623b8e80941Smrg .name = "ubitfield_extract", 3624b8e80941Smrg .num_inputs = 3, 3625b8e80941Smrg .output_size = 0, 3626b8e80941Smrg .output_type = nir_type_uint32, 3627b8e80941Smrg .input_sizes = { 3628b8e80941Smrg 0, 0, 0 3629b8e80941Smrg }, 3630b8e80941Smrg .input_types = { 3631b8e80941Smrg nir_type_uint32, nir_type_int32, nir_type_int32 3632b8e80941Smrg }, 3633b8e80941Smrg .is_conversion = false, 3634b8e80941Smrg .algebraic_properties = 3635b8e80941Smrg 0 3636b8e80941Smrg}, 3637b8e80941Smrg{ 3638b8e80941Smrg .name = "udiv", 3639b8e80941Smrg .num_inputs = 2, 3640b8e80941Smrg .output_size = 0, 3641b8e80941Smrg .output_type = nir_type_uint, 3642b8e80941Smrg .input_sizes = { 3643b8e80941Smrg 0, 0 3644b8e80941Smrg }, 3645b8e80941Smrg .input_types = { 3646b8e80941Smrg nir_type_uint, nir_type_uint 3647b8e80941Smrg }, 3648b8e80941Smrg .is_conversion = false, 3649b8e80941Smrg .algebraic_properties = 3650b8e80941Smrg 0 3651b8e80941Smrg}, 3652b8e80941Smrg{ 3653b8e80941Smrg .name = "ufind_msb", 3654b8e80941Smrg .num_inputs = 1, 3655b8e80941Smrg .output_size = 0, 3656b8e80941Smrg .output_type = nir_type_int32, 3657b8e80941Smrg .input_sizes = { 3658b8e80941Smrg 0 3659b8e80941Smrg }, 3660b8e80941Smrg .input_types = { 3661b8e80941Smrg nir_type_uint 3662b8e80941Smrg }, 3663b8e80941Smrg .is_conversion = false, 3664b8e80941Smrg .algebraic_properties = 3665b8e80941Smrg 0 3666b8e80941Smrg}, 3667b8e80941Smrg{ 3668b8e80941Smrg .name = "uge", 3669b8e80941Smrg .num_inputs = 2, 3670b8e80941Smrg .output_size = 0, 3671b8e80941Smrg .output_type = nir_type_bool1, 3672b8e80941Smrg .input_sizes = { 3673b8e80941Smrg 0, 0 3674b8e80941Smrg }, 3675b8e80941Smrg .input_types = { 3676b8e80941Smrg nir_type_uint, nir_type_uint 3677b8e80941Smrg }, 3678b8e80941Smrg .is_conversion = false, 3679b8e80941Smrg .algebraic_properties = 3680b8e80941Smrg 0 3681b8e80941Smrg}, 3682b8e80941Smrg{ 3683b8e80941Smrg .name = "uge32", 3684b8e80941Smrg .num_inputs = 2, 3685b8e80941Smrg .output_size = 0, 3686b8e80941Smrg .output_type = nir_type_bool32, 3687b8e80941Smrg .input_sizes = { 3688b8e80941Smrg 0, 0 3689b8e80941Smrg }, 3690b8e80941Smrg .input_types = { 3691b8e80941Smrg nir_type_uint, nir_type_uint 3692b8e80941Smrg }, 3693b8e80941Smrg .is_conversion = false, 3694b8e80941Smrg .algebraic_properties = 3695b8e80941Smrg 0 3696b8e80941Smrg}, 3697b8e80941Smrg{ 3698b8e80941Smrg .name = "uhadd", 3699b8e80941Smrg .num_inputs = 2, 3700b8e80941Smrg .output_size = 0, 3701b8e80941Smrg .output_type = nir_type_uint, 3702b8e80941Smrg .input_sizes = { 3703b8e80941Smrg 0, 0 3704b8e80941Smrg }, 3705b8e80941Smrg .input_types = { 3706b8e80941Smrg nir_type_uint, nir_type_uint 3707b8e80941Smrg }, 3708b8e80941Smrg .is_conversion = false, 3709b8e80941Smrg .algebraic_properties = 3710b8e80941Smrg NIR_OP_IS_COMMUTATIVE 3711b8e80941Smrg}, 3712b8e80941Smrg{ 3713b8e80941Smrg .name = "ult", 3714b8e80941Smrg .num_inputs = 2, 3715b8e80941Smrg .output_size = 0, 3716b8e80941Smrg .output_type = nir_type_bool1, 3717b8e80941Smrg .input_sizes = { 3718b8e80941Smrg 0, 0 3719b8e80941Smrg }, 3720b8e80941Smrg .input_types = { 3721b8e80941Smrg nir_type_uint, nir_type_uint 3722b8e80941Smrg }, 3723b8e80941Smrg .is_conversion = false, 3724b8e80941Smrg .algebraic_properties = 3725b8e80941Smrg 0 3726b8e80941Smrg}, 3727b8e80941Smrg{ 3728b8e80941Smrg .name = "ult32", 3729b8e80941Smrg .num_inputs = 2, 3730b8e80941Smrg .output_size = 0, 3731b8e80941Smrg .output_type = nir_type_bool32, 3732b8e80941Smrg .input_sizes = { 3733b8e80941Smrg 0, 0 3734b8e80941Smrg }, 3735b8e80941Smrg .input_types = { 3736b8e80941Smrg nir_type_uint, nir_type_uint 3737b8e80941Smrg }, 3738b8e80941Smrg .is_conversion = false, 3739b8e80941Smrg .algebraic_properties = 3740b8e80941Smrg 0 3741b8e80941Smrg}, 3742b8e80941Smrg{ 3743b8e80941Smrg .name = "umax", 3744b8e80941Smrg .num_inputs = 2, 3745b8e80941Smrg .output_size = 0, 3746b8e80941Smrg .output_type = nir_type_uint, 3747b8e80941Smrg .input_sizes = { 3748b8e80941Smrg 0, 0 3749b8e80941Smrg }, 3750b8e80941Smrg .input_types = { 3751b8e80941Smrg nir_type_uint, nir_type_uint 3752b8e80941Smrg }, 3753b8e80941Smrg .is_conversion = false, 3754b8e80941Smrg .algebraic_properties = 3755b8e80941Smrg NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 3756b8e80941Smrg}, 3757b8e80941Smrg{ 3758b8e80941Smrg .name = "umax3", 3759b8e80941Smrg .num_inputs = 3, 3760b8e80941Smrg .output_size = 0, 3761b8e80941Smrg .output_type = nir_type_uint, 3762b8e80941Smrg .input_sizes = { 3763b8e80941Smrg 0, 0, 0 3764b8e80941Smrg }, 3765b8e80941Smrg .input_types = { 3766b8e80941Smrg nir_type_uint, nir_type_uint, nir_type_uint 3767b8e80941Smrg }, 3768b8e80941Smrg .is_conversion = false, 3769b8e80941Smrg .algebraic_properties = 3770b8e80941Smrg 0 3771b8e80941Smrg}, 3772b8e80941Smrg{ 3773b8e80941Smrg .name = "umax_4x8", 3774b8e80941Smrg .num_inputs = 2, 3775b8e80941Smrg .output_size = 0, 3776b8e80941Smrg .output_type = nir_type_int32, 3777b8e80941Smrg .input_sizes = { 3778b8e80941Smrg 0, 0 3779b8e80941Smrg }, 3780b8e80941Smrg .input_types = { 3781b8e80941Smrg nir_type_int32, nir_type_int32 3782b8e80941Smrg }, 3783b8e80941Smrg .is_conversion = false, 3784b8e80941Smrg .algebraic_properties = 3785b8e80941Smrg NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 3786b8e80941Smrg}, 3787b8e80941Smrg{ 3788b8e80941Smrg .name = "umed3", 3789b8e80941Smrg .num_inputs = 3, 3790b8e80941Smrg .output_size = 0, 3791b8e80941Smrg .output_type = nir_type_uint, 3792b8e80941Smrg .input_sizes = { 3793b8e80941Smrg 0, 0, 0 3794b8e80941Smrg }, 3795b8e80941Smrg .input_types = { 3796b8e80941Smrg nir_type_uint, nir_type_uint, nir_type_uint 3797b8e80941Smrg }, 3798b8e80941Smrg .is_conversion = false, 3799b8e80941Smrg .algebraic_properties = 3800b8e80941Smrg 0 3801b8e80941Smrg}, 3802b8e80941Smrg{ 3803b8e80941Smrg .name = "umin", 3804b8e80941Smrg .num_inputs = 2, 3805b8e80941Smrg .output_size = 0, 3806b8e80941Smrg .output_type = nir_type_uint, 3807b8e80941Smrg .input_sizes = { 3808b8e80941Smrg 0, 0 3809b8e80941Smrg }, 3810b8e80941Smrg .input_types = { 3811b8e80941Smrg nir_type_uint, nir_type_uint 3812b8e80941Smrg }, 3813b8e80941Smrg .is_conversion = false, 3814b8e80941Smrg .algebraic_properties = 3815b8e80941Smrg NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 3816b8e80941Smrg}, 3817b8e80941Smrg{ 3818b8e80941Smrg .name = "umin3", 3819b8e80941Smrg .num_inputs = 3, 3820b8e80941Smrg .output_size = 0, 3821b8e80941Smrg .output_type = nir_type_uint, 3822b8e80941Smrg .input_sizes = { 3823b8e80941Smrg 0, 0, 0 3824b8e80941Smrg }, 3825b8e80941Smrg .input_types = { 3826b8e80941Smrg nir_type_uint, nir_type_uint, nir_type_uint 3827b8e80941Smrg }, 3828b8e80941Smrg .is_conversion = false, 3829b8e80941Smrg .algebraic_properties = 3830b8e80941Smrg 0 3831b8e80941Smrg}, 3832b8e80941Smrg{ 3833b8e80941Smrg .name = "umin_4x8", 3834b8e80941Smrg .num_inputs = 2, 3835b8e80941Smrg .output_size = 0, 3836b8e80941Smrg .output_type = nir_type_int32, 3837b8e80941Smrg .input_sizes = { 3838b8e80941Smrg 0, 0 3839b8e80941Smrg }, 3840b8e80941Smrg .input_types = { 3841b8e80941Smrg nir_type_int32, nir_type_int32 3842b8e80941Smrg }, 3843b8e80941Smrg .is_conversion = false, 3844b8e80941Smrg .algebraic_properties = 3845b8e80941Smrg NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 3846b8e80941Smrg}, 3847b8e80941Smrg{ 3848b8e80941Smrg .name = "umod", 3849b8e80941Smrg .num_inputs = 2, 3850b8e80941Smrg .output_size = 0, 3851b8e80941Smrg .output_type = nir_type_uint, 3852b8e80941Smrg .input_sizes = { 3853b8e80941Smrg 0, 0 3854b8e80941Smrg }, 3855b8e80941Smrg .input_types = { 3856b8e80941Smrg nir_type_uint, nir_type_uint 3857b8e80941Smrg }, 3858b8e80941Smrg .is_conversion = false, 3859b8e80941Smrg .algebraic_properties = 3860b8e80941Smrg 0 3861b8e80941Smrg}, 3862b8e80941Smrg{ 3863b8e80941Smrg .name = "umul_2x32_64", 3864b8e80941Smrg .num_inputs = 2, 3865b8e80941Smrg .output_size = 0, 3866b8e80941Smrg .output_type = nir_type_uint64, 3867b8e80941Smrg .input_sizes = { 3868b8e80941Smrg 0, 0 3869b8e80941Smrg }, 3870b8e80941Smrg .input_types = { 3871b8e80941Smrg nir_type_uint32, nir_type_uint32 3872b8e80941Smrg }, 3873b8e80941Smrg .is_conversion = false, 3874b8e80941Smrg .algebraic_properties = 3875b8e80941Smrg NIR_OP_IS_COMMUTATIVE 3876b8e80941Smrg}, 3877b8e80941Smrg{ 3878b8e80941Smrg .name = "umul_high", 3879b8e80941Smrg .num_inputs = 2, 3880b8e80941Smrg .output_size = 0, 3881b8e80941Smrg .output_type = nir_type_uint, 3882b8e80941Smrg .input_sizes = { 3883b8e80941Smrg 0, 0 3884b8e80941Smrg }, 3885b8e80941Smrg .input_types = { 3886b8e80941Smrg nir_type_uint, nir_type_uint 3887b8e80941Smrg }, 3888b8e80941Smrg .is_conversion = false, 3889b8e80941Smrg .algebraic_properties = 3890b8e80941Smrg NIR_OP_IS_COMMUTATIVE 3891b8e80941Smrg}, 3892b8e80941Smrg{ 3893b8e80941Smrg .name = "umul_unorm_4x8", 3894b8e80941Smrg .num_inputs = 2, 3895b8e80941Smrg .output_size = 0, 3896b8e80941Smrg .output_type = nir_type_int32, 3897b8e80941Smrg .input_sizes = { 3898b8e80941Smrg 0, 0 3899b8e80941Smrg }, 3900b8e80941Smrg .input_types = { 3901b8e80941Smrg nir_type_int32, nir_type_int32 3902b8e80941Smrg }, 3903b8e80941Smrg .is_conversion = false, 3904b8e80941Smrg .algebraic_properties = 3905b8e80941Smrg NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 3906b8e80941Smrg}, 3907b8e80941Smrg{ 3908b8e80941Smrg .name = "unpack_32_2x16", 3909b8e80941Smrg .num_inputs = 1, 3910b8e80941Smrg .output_size = 2, 3911b8e80941Smrg .output_type = nir_type_uint16, 3912b8e80941Smrg .input_sizes = { 3913b8e80941Smrg 1 3914b8e80941Smrg }, 3915b8e80941Smrg .input_types = { 3916b8e80941Smrg nir_type_uint32 3917b8e80941Smrg }, 3918b8e80941Smrg .is_conversion = false, 3919b8e80941Smrg .algebraic_properties = 3920b8e80941Smrg 0 3921b8e80941Smrg}, 3922b8e80941Smrg{ 3923b8e80941Smrg .name = "unpack_32_2x16_split_x", 3924b8e80941Smrg .num_inputs = 1, 3925b8e80941Smrg .output_size = 0, 3926b8e80941Smrg .output_type = nir_type_uint16, 3927b8e80941Smrg .input_sizes = { 3928b8e80941Smrg 0 3929b8e80941Smrg }, 3930b8e80941Smrg .input_types = { 3931b8e80941Smrg nir_type_uint32 3932b8e80941Smrg }, 3933b8e80941Smrg .is_conversion = false, 3934b8e80941Smrg .algebraic_properties = 3935b8e80941Smrg 0 3936b8e80941Smrg}, 3937b8e80941Smrg{ 3938b8e80941Smrg .name = "unpack_32_2x16_split_y", 3939b8e80941Smrg .num_inputs = 1, 3940b8e80941Smrg .output_size = 0, 3941b8e80941Smrg .output_type = nir_type_uint16, 3942b8e80941Smrg .input_sizes = { 3943b8e80941Smrg 0 3944b8e80941Smrg }, 3945b8e80941Smrg .input_types = { 3946b8e80941Smrg nir_type_uint32 3947b8e80941Smrg }, 3948b8e80941Smrg .is_conversion = false, 3949b8e80941Smrg .algebraic_properties = 3950b8e80941Smrg 0 3951b8e80941Smrg}, 3952b8e80941Smrg{ 3953b8e80941Smrg .name = "unpack_64_2x32", 3954b8e80941Smrg .num_inputs = 1, 3955b8e80941Smrg .output_size = 2, 3956b8e80941Smrg .output_type = nir_type_uint32, 3957b8e80941Smrg .input_sizes = { 3958b8e80941Smrg 1 3959b8e80941Smrg }, 3960b8e80941Smrg .input_types = { 3961b8e80941Smrg nir_type_uint64 3962b8e80941Smrg }, 3963b8e80941Smrg .is_conversion = false, 3964b8e80941Smrg .algebraic_properties = 3965b8e80941Smrg 0 3966b8e80941Smrg}, 3967b8e80941Smrg{ 3968b8e80941Smrg .name = "unpack_64_2x32_split_x", 3969b8e80941Smrg .num_inputs = 1, 3970b8e80941Smrg .output_size = 0, 3971b8e80941Smrg .output_type = nir_type_uint32, 3972b8e80941Smrg .input_sizes = { 3973b8e80941Smrg 0 3974b8e80941Smrg }, 3975b8e80941Smrg .input_types = { 3976b8e80941Smrg nir_type_uint64 3977b8e80941Smrg }, 3978b8e80941Smrg .is_conversion = false, 3979b8e80941Smrg .algebraic_properties = 3980b8e80941Smrg 0 3981b8e80941Smrg}, 3982b8e80941Smrg{ 3983b8e80941Smrg .name = "unpack_64_2x32_split_y", 3984b8e80941Smrg .num_inputs = 1, 3985b8e80941Smrg .output_size = 0, 3986b8e80941Smrg .output_type = nir_type_uint32, 3987b8e80941Smrg .input_sizes = { 3988b8e80941Smrg 0 3989b8e80941Smrg }, 3990b8e80941Smrg .input_types = { 3991b8e80941Smrg nir_type_uint64 3992b8e80941Smrg }, 3993b8e80941Smrg .is_conversion = false, 3994b8e80941Smrg .algebraic_properties = 3995b8e80941Smrg 0 3996b8e80941Smrg}, 3997b8e80941Smrg{ 3998b8e80941Smrg .name = "unpack_64_4x16", 3999b8e80941Smrg .num_inputs = 1, 4000b8e80941Smrg .output_size = 4, 4001b8e80941Smrg .output_type = nir_type_uint16, 4002b8e80941Smrg .input_sizes = { 4003b8e80941Smrg 1 4004b8e80941Smrg }, 4005b8e80941Smrg .input_types = { 4006b8e80941Smrg nir_type_uint64 4007b8e80941Smrg }, 4008b8e80941Smrg .is_conversion = false, 4009b8e80941Smrg .algebraic_properties = 4010b8e80941Smrg 0 4011b8e80941Smrg}, 4012b8e80941Smrg{ 4013b8e80941Smrg .name = "unpack_half_2x16", 4014b8e80941Smrg .num_inputs = 1, 4015b8e80941Smrg .output_size = 2, 4016b8e80941Smrg .output_type = nir_type_float32, 4017b8e80941Smrg .input_sizes = { 4018b8e80941Smrg 1 4019b8e80941Smrg }, 4020b8e80941Smrg .input_types = { 4021b8e80941Smrg nir_type_uint32 4022b8e80941Smrg }, 4023b8e80941Smrg .is_conversion = false, 4024b8e80941Smrg .algebraic_properties = 4025b8e80941Smrg 0 4026b8e80941Smrg}, 4027b8e80941Smrg{ 4028b8e80941Smrg .name = "unpack_half_2x16_split_x", 4029b8e80941Smrg .num_inputs = 1, 4030b8e80941Smrg .output_size = 0, 4031b8e80941Smrg .output_type = nir_type_float32, 4032b8e80941Smrg .input_sizes = { 4033b8e80941Smrg 0 4034b8e80941Smrg }, 4035b8e80941Smrg .input_types = { 4036b8e80941Smrg nir_type_uint32 4037b8e80941Smrg }, 4038b8e80941Smrg .is_conversion = false, 4039b8e80941Smrg .algebraic_properties = 4040b8e80941Smrg 0 4041b8e80941Smrg}, 4042b8e80941Smrg{ 4043b8e80941Smrg .name = "unpack_half_2x16_split_y", 4044b8e80941Smrg .num_inputs = 1, 4045b8e80941Smrg .output_size = 0, 4046b8e80941Smrg .output_type = nir_type_float32, 4047b8e80941Smrg .input_sizes = { 4048b8e80941Smrg 0 4049b8e80941Smrg }, 4050b8e80941Smrg .input_types = { 4051b8e80941Smrg nir_type_uint32 4052b8e80941Smrg }, 4053b8e80941Smrg .is_conversion = false, 4054b8e80941Smrg .algebraic_properties = 4055b8e80941Smrg 0 4056b8e80941Smrg}, 4057b8e80941Smrg{ 4058b8e80941Smrg .name = "unpack_snorm_2x16", 4059b8e80941Smrg .num_inputs = 1, 4060b8e80941Smrg .output_size = 2, 4061b8e80941Smrg .output_type = nir_type_float32, 4062b8e80941Smrg .input_sizes = { 4063b8e80941Smrg 1 4064b8e80941Smrg }, 4065b8e80941Smrg .input_types = { 4066b8e80941Smrg nir_type_uint32 4067b8e80941Smrg }, 4068b8e80941Smrg .is_conversion = false, 4069b8e80941Smrg .algebraic_properties = 4070b8e80941Smrg 0 4071b8e80941Smrg}, 4072b8e80941Smrg{ 4073b8e80941Smrg .name = "unpack_snorm_4x8", 4074b8e80941Smrg .num_inputs = 1, 4075b8e80941Smrg .output_size = 4, 4076b8e80941Smrg .output_type = nir_type_float32, 4077b8e80941Smrg .input_sizes = { 4078b8e80941Smrg 1 4079b8e80941Smrg }, 4080b8e80941Smrg .input_types = { 4081b8e80941Smrg nir_type_uint32 4082b8e80941Smrg }, 4083b8e80941Smrg .is_conversion = false, 4084b8e80941Smrg .algebraic_properties = 4085b8e80941Smrg 0 4086b8e80941Smrg}, 4087b8e80941Smrg{ 4088b8e80941Smrg .name = "unpack_unorm_2x16", 4089b8e80941Smrg .num_inputs = 1, 4090b8e80941Smrg .output_size = 2, 4091b8e80941Smrg .output_type = nir_type_float32, 4092b8e80941Smrg .input_sizes = { 4093b8e80941Smrg 1 4094b8e80941Smrg }, 4095b8e80941Smrg .input_types = { 4096b8e80941Smrg nir_type_uint32 4097b8e80941Smrg }, 4098b8e80941Smrg .is_conversion = false, 4099b8e80941Smrg .algebraic_properties = 4100b8e80941Smrg 0 4101b8e80941Smrg}, 4102b8e80941Smrg{ 4103b8e80941Smrg .name = "unpack_unorm_4x8", 4104b8e80941Smrg .num_inputs = 1, 4105b8e80941Smrg .output_size = 4, 4106b8e80941Smrg .output_type = nir_type_float32, 4107b8e80941Smrg .input_sizes = { 4108b8e80941Smrg 1 4109b8e80941Smrg }, 4110b8e80941Smrg .input_types = { 4111b8e80941Smrg nir_type_uint32 4112b8e80941Smrg }, 4113b8e80941Smrg .is_conversion = false, 4114b8e80941Smrg .algebraic_properties = 4115b8e80941Smrg 0 4116b8e80941Smrg}, 4117b8e80941Smrg{ 4118b8e80941Smrg .name = "urhadd", 4119b8e80941Smrg .num_inputs = 2, 4120b8e80941Smrg .output_size = 0, 4121b8e80941Smrg .output_type = nir_type_uint, 4122b8e80941Smrg .input_sizes = { 4123b8e80941Smrg 0, 0 4124b8e80941Smrg }, 4125b8e80941Smrg .input_types = { 4126b8e80941Smrg nir_type_uint, nir_type_uint 4127b8e80941Smrg }, 4128b8e80941Smrg .is_conversion = false, 4129b8e80941Smrg .algebraic_properties = 4130b8e80941Smrg NIR_OP_IS_COMMUTATIVE 4131b8e80941Smrg}, 4132b8e80941Smrg{ 4133b8e80941Smrg .name = "usadd_4x8", 4134b8e80941Smrg .num_inputs = 2, 4135b8e80941Smrg .output_size = 0, 4136b8e80941Smrg .output_type = nir_type_int32, 4137b8e80941Smrg .input_sizes = { 4138b8e80941Smrg 0, 0 4139b8e80941Smrg }, 4140b8e80941Smrg .input_types = { 4141b8e80941Smrg nir_type_int32, nir_type_int32 4142b8e80941Smrg }, 4143b8e80941Smrg .is_conversion = false, 4144b8e80941Smrg .algebraic_properties = 4145b8e80941Smrg NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE 4146b8e80941Smrg}, 4147b8e80941Smrg{ 4148b8e80941Smrg .name = "ushr", 4149b8e80941Smrg .num_inputs = 2, 4150b8e80941Smrg .output_size = 0, 4151b8e80941Smrg .output_type = nir_type_uint, 4152b8e80941Smrg .input_sizes = { 4153b8e80941Smrg 0, 0 4154b8e80941Smrg }, 4155b8e80941Smrg .input_types = { 4156b8e80941Smrg nir_type_uint, nir_type_uint32 4157b8e80941Smrg }, 4158b8e80941Smrg .is_conversion = false, 4159b8e80941Smrg .algebraic_properties = 4160b8e80941Smrg 0 4161b8e80941Smrg}, 4162b8e80941Smrg{ 4163b8e80941Smrg .name = "ussub_4x8", 4164b8e80941Smrg .num_inputs = 2, 4165b8e80941Smrg .output_size = 0, 4166b8e80941Smrg .output_type = nir_type_int32, 4167b8e80941Smrg .input_sizes = { 4168b8e80941Smrg 0, 0 4169b8e80941Smrg }, 4170b8e80941Smrg .input_types = { 4171b8e80941Smrg nir_type_int32, nir_type_int32 4172b8e80941Smrg }, 4173b8e80941Smrg .is_conversion = false, 4174b8e80941Smrg .algebraic_properties = 4175b8e80941Smrg 0 4176b8e80941Smrg}, 4177b8e80941Smrg{ 4178b8e80941Smrg .name = "usub_borrow", 4179b8e80941Smrg .num_inputs = 2, 4180b8e80941Smrg .output_size = 0, 4181b8e80941Smrg .output_type = nir_type_uint, 4182b8e80941Smrg .input_sizes = { 4183b8e80941Smrg 0, 0 4184b8e80941Smrg }, 4185b8e80941Smrg .input_types = { 4186b8e80941Smrg nir_type_uint, nir_type_uint 4187b8e80941Smrg }, 4188b8e80941Smrg .is_conversion = false, 4189b8e80941Smrg .algebraic_properties = 4190b8e80941Smrg 0 4191b8e80941Smrg}, 4192b8e80941Smrg{ 4193b8e80941Smrg .name = "usub_sat", 4194b8e80941Smrg .num_inputs = 2, 4195b8e80941Smrg .output_size = 0, 4196b8e80941Smrg .output_type = nir_type_uint, 4197b8e80941Smrg .input_sizes = { 4198b8e80941Smrg 0, 0 4199b8e80941Smrg }, 4200b8e80941Smrg .input_types = { 4201b8e80941Smrg nir_type_uint, nir_type_uint 4202b8e80941Smrg }, 4203b8e80941Smrg .is_conversion = false, 4204b8e80941Smrg .algebraic_properties = 4205b8e80941Smrg 0 4206b8e80941Smrg}, 4207b8e80941Smrg{ 4208b8e80941Smrg .name = "vec2", 4209b8e80941Smrg .num_inputs = 2, 4210b8e80941Smrg .output_size = 2, 4211b8e80941Smrg .output_type = nir_type_uint, 4212b8e80941Smrg .input_sizes = { 4213b8e80941Smrg 1, 1 4214b8e80941Smrg }, 4215b8e80941Smrg .input_types = { 4216b8e80941Smrg nir_type_uint, nir_type_uint 4217b8e80941Smrg }, 4218b8e80941Smrg .is_conversion = false, 4219b8e80941Smrg .algebraic_properties = 4220b8e80941Smrg 0 4221b8e80941Smrg}, 4222b8e80941Smrg{ 4223b8e80941Smrg .name = "vec3", 4224b8e80941Smrg .num_inputs = 3, 4225b8e80941Smrg .output_size = 3, 4226b8e80941Smrg .output_type = nir_type_uint, 4227b8e80941Smrg .input_sizes = { 4228b8e80941Smrg 1, 1, 1 4229b8e80941Smrg }, 4230b8e80941Smrg .input_types = { 4231b8e80941Smrg nir_type_uint, nir_type_uint, nir_type_uint 4232b8e80941Smrg }, 4233b8e80941Smrg .is_conversion = false, 4234b8e80941Smrg .algebraic_properties = 4235b8e80941Smrg 0 4236b8e80941Smrg}, 4237b8e80941Smrg{ 4238b8e80941Smrg .name = "vec4", 4239b8e80941Smrg .num_inputs = 4, 4240b8e80941Smrg .output_size = 4, 4241b8e80941Smrg .output_type = nir_type_uint, 4242b8e80941Smrg .input_sizes = { 4243b8e80941Smrg 1, 1, 1, 1 4244b8e80941Smrg }, 4245b8e80941Smrg .input_types = { 4246b8e80941Smrg nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint 4247b8e80941Smrg }, 4248b8e80941Smrg .is_conversion = false, 4249b8e80941Smrg .algebraic_properties = 4250b8e80941Smrg 0 4251b8e80941Smrg}, 4252b8e80941Smrg}; 4253b8e80941Smrg 4254