Lines Matching defs:opcode
498 if (instr->opcode == aco_opcode::p_as_uniform)
510 if (can_use_opsel(gfx_level, instr->opcode, idx))
516 switch (instr->opcode) {
555 if (instr->opcode == aco_opcode::v_cvt_f32_ubyte0) {
557 case 0: instr->opcode = aco_opcode::v_cvt_f32_ubyte0; break;
558 case 1: instr->opcode = aco_opcode::v_cvt_f32_ubyte1; break;
559 case 2: instr->opcode = aco_opcode::v_cvt_f32_ubyte2; break;
560 case 3: instr->opcode = aco_opcode::v_cvt_f32_ubyte3; break;
572 if (instr->opcode == aco_opcode::ds_write_b8)
573 instr->opcode = aco_opcode::ds_write_b8_d16_hi;
574 else if (instr->opcode == aco_opcode::ds_write_b16)
575 instr->opcode = aco_opcode::ds_write_b16_d16_hi;
576 else if (instr->opcode == aco_opcode::buffer_store_byte)
577 instr->opcode = aco_opcode::buffer_store_byte_d16_hi;
578 else if (instr->opcode == aco_opcode::buffer_store_short)
579 instr->opcode = aco_opcode::buffer_store_short_d16_hi;
580 else if (instr->opcode == aco_opcode::buffer_store_format_d16_x)
581 instr->opcode = aco_opcode::buffer_store_format_d16_hi_x;
582 else if (instr->opcode == aco_opcode::flat_store_byte)
583 instr->opcode = aco_opcode::flat_store_byte_d16_hi;
584 else if (instr->opcode == aco_opcode::flat_store_short)
585 instr->opcode = aco_opcode::flat_store_short_d16_hi;
586 else if (instr->opcode == aco_opcode::scratch_store_byte)
587 instr->opcode = aco_opcode::scratch_store_byte_d16_hi;
588 else if (instr->opcode == aco_opcode::scratch_store_short)
589 instr->opcode = aco_opcode::scratch_store_short_d16_hi;
590 else if (instr->opcode == aco_opcode::global_store_byte)
591 instr->opcode = aco_opcode::global_store_byte_d16_hi;
592 else if (instr->opcode == aco_opcode::global_store_short)
593 instr->opcode = aco_opcode::global_store_short_d16_hi;
619 if (instr_is_16bit(gfx_level, instr->opcode))
623 if (instr->opcode == aco_opcode::v_fma_mixlo_f16 ||
624 can_use_opsel(gfx_level, instr->opcode, -1))
630 switch (instr->opcode) {
684 if (reg.byte() == 0 && instr_is_16bit(gfx_level, instr->opcode))
690 assert(can_use_opsel(gfx_level, instr->opcode, -1));
695 if (instr->opcode == aco_opcode::v_fma_mixlo_f16) {
696 instr->opcode = aco_opcode::v_fma_mixhi_f16;
708 else if (instr->opcode == aco_opcode::buffer_load_ubyte_d16)
709 instr->opcode = aco_opcode::buffer_load_ubyte_d16_hi;
710 else if (instr->opcode == aco_opcode::buffer_load_sbyte_d16)
711 instr->opcode = aco_opcode::buffer_load_sbyte_d16_hi;
712 else if (instr->opcode == aco_opcode::buffer_load_short_d16)
713 instr->opcode = aco_opcode::buffer_load_short_d16_hi;
714 else if (instr->opcode == aco_opcode::buffer_load_format_d16_x)
715 instr->opcode = aco_opcode::buffer_load_format_d16_hi_x;
716 else if (instr->opcode == aco_opcode::flat_load_ubyte_d16)
717 instr->opcode = aco_opcode::flat_load_ubyte_d16_hi;
718 else if (instr->opcode == aco_opcode::flat_load_sbyte_d16)
719 instr->opcode = aco_opcode::flat_load_sbyte_d16_hi;
720 else if (instr->opcode == aco_opcode::flat_load_short_d16)
721 instr->opcode = aco_opcode::flat_load_short_d16_hi;
722 else if (instr->opcode == aco_opcode::scratch_load_ubyte_d16)
723 instr->opcode = aco_opcode::scratch_load_ubyte_d16_hi;
724 else if (instr->opcode == aco_opcode::scratch_load_sbyte_d16)
725 instr->opcode = aco_opcode::scratch_load_sbyte_d16_hi;
726 else if (instr->opcode == aco_opcode::scratch_load_short_d16)
727 instr->opcode = aco_opcode::scratch_load_short_d16_hi;
728 else if (instr->opcode == aco_opcode::global_load_ubyte_d16)
729 instr->opcode = aco_opcode::global_load_ubyte_d16_hi;
730 else if (instr->opcode == aco_opcode::global_load_sbyte_d16)
731 instr->opcode = aco_opcode::global_load_sbyte_d16_hi;
732 else if (instr->opcode == aco_opcode::global_load_short_d16)
733 instr->opcode = aco_opcode::global_load_short_d16_hi;
734 else if (instr->opcode == aco_opcode::ds_read_u8_d16)
735 instr->opcode = aco_opcode::ds_read_u8_d16_hi;
736 else if (instr->opcode == aco_opcode::ds_read_i8_d16)
737 instr->opcode = aco_opcode::ds_read_i8_d16_hi;
738 else if (instr->opcode == aco_opcode::ds_read_u16_d16)
739 instr->opcode = aco_opcode::ds_read_u16_d16_hi;
1104 if (instr->opcode == aco_opcode::p_create_vector) {
1356 if (instr->opcode == aco_opcode::p_create_vector) {
1366 if (!is_phi(instr) && instr->opcode != aco_opcode::p_create_vector) {
1864 switch (instr->opcode) {
1919 bool is_writelane = instr->opcode == aco_opcode::v_writelane_b32 ||
1920 instr->opcode == aco_opcode::v_writelane_b32_e64;
2032 aco_opcode opcode =
2037 create_instruction<Pseudo_instruction>(opcode, Format::PSEUDO, preds.size(), 1)};
2180 aco_opcode opcode = val.is_linear() ? aco_opcode::p_linear_phi : aco_opcode::p_phi;
2182 create_instruction<Pseudo_instruction>(opcode, Format::PSEUDO, preds.size(), 1)};
2244 phi->opcode == aco_opcode::p_phi ? loop_header.logical_preds : loop_header.linear_preds;
2335 instr->opcode == aco_opcode::p_phi ? block.logical_preds : block.linear_preds;
2383 if (instr->opcode == aco_opcode::p_create_vector) {
2392 } else if (instr->opcode == aco_opcode::p_split_vector &&
2404 } else if (instr->opcode == aco_opcode::s_and_b32 ||
2405 instr->opcode == aco_opcode::s_and_b64) {
2434 switch (instr->opcode) {
2549 if ((instr->opcode != aco_opcode::v_mad_f32 &&
2550 (instr->opcode != aco_opcode::v_fma_f32 || program->gfx_level < GFX10) &&
2551 instr->opcode != aco_opcode::v_mad_f16 && instr->opcode != aco_opcode::v_mad_legacy_f16 &&
2552 (instr->opcode != aco_opcode::v_fma_f16 || program->gfx_level < GFX10) &&
2553 (instr->opcode != aco_opcode::v_pk_fma_f16 || program->gfx_level < GFX10) &&
2554 (instr->opcode != aco_opcode::v_mad_legacy_f32 || !program->dev.has_mac_legacy32) &&
2555 (instr->opcode != aco_opcode::v_fma_legacy_f32 || !program->dev.has_mac_legacy32) &&
2556 (instr->opcode != aco_opcode::v_dot4_i32_i8 || program->family == CHIP_VEGA20)) ||
2581 switch (instr->opcode) {
2582 case aco_opcode::v_mad_f32: instr->opcode = aco_opcode::v_mac_f32; break;
2583 case aco_opcode::v_fma_f32: instr->opcode = aco_opcode::v_fmac_f32; break;
2585 case aco_opcode::v_mad_legacy_f16: instr->opcode = aco_opcode::v_mac_f16; break;
2586 case aco_opcode::v_fma_f16: instr->opcode = aco_opcode::v_fmac_f16; break;
2587 case aco_opcode::v_pk_fma_f16: instr->opcode = aco_opcode::v_pk_fmac_f16; break;
2588 case aco_opcode::v_dot4_i32_i8: instr->opcode = aco_opcode::v_dot4c_i32_i8; break;
2589 case aco_opcode::v_mad_legacy_f32: instr->opcode = aco_opcode::v_mac_legacy_f32; break;
2590 case aco_opcode::v_fma_legacy_f32: instr->opcode = aco_opcode::v_fmac_legacy_f32; break;
2600 if (instr->opcode != aco_opcode::s_add_i32 && instr->opcode != aco_opcode::s_mul_i32 &&
2601 instr->opcode != aco_opcode::s_cselect_b32)
2606 if (instr->opcode != aco_opcode::s_cselect_b32 && instr->operands[1].isLiteral())
2643 switch (instr_sopk->opcode) {
2644 case aco_opcode::s_add_i32: instr_sopk->opcode = aco_opcode::s_addk_i32; break;
2645 case aco_opcode::s_mul_i32: instr_sopk->opcode = aco_opcode::s_mulk_i32; break;
2646 case aco_opcode::s_cselect_b32: instr_sopk->opcode = aco_opcode::s_cmovk_i32; break;
2711 if (instr->opcode == aco_opcode::p_logical_end) {
2725 if (phi->opcode == aco_opcode::p_phi) {
2734 } else if (phi->opcode != aco_opcode::p_linear_phi) {
2743 if (instr->opcode == aco_opcode::p_branch) {
2792 if (instr->opcode == aco_opcode::v_interp_p2_f32 ||
2793 instr->opcode == aco_opcode::v_mac_f32 || instr->opcode == aco_opcode::v_fmac_f32 ||
2794 instr->opcode == aco_opcode::v_mac_f16 || instr->opcode == aco_opcode::v_fmac_f16 ||
2795 instr->opcode == aco_opcode::v_mac_legacy_f32 ||
2796 instr->opcode == aco_opcode::v_fmac_legacy_f32 ||
2797 instr->opcode == aco_opcode::v_pk_fmac_f16 ||
2798 instr->opcode == aco_opcode::v_writelane_b32 ||
2799 instr->opcode == aco_opcode::v_writelane_b32_e64 ||
2800 instr->opcode == aco_opcode::v_dot4c_i32_i8) {
2804 } else if (instr->opcode == aco_opcode::s_addk_i32 ||
2805 instr->opcode == aco_opcode::s_mulk_i32 ||
2806 instr->opcode == aco_opcode::s_cmovk_i32) {
2867 if (instr->opcode == aco_opcode::p_split_vector) {
2887 } else if (instr->opcode == aco_opcode::p_wqm ||
2888 instr->opcode == aco_opcode::p_parallelcopy) {
2894 } else if (instr->opcode == aco_opcode::p_extract_vector) {
2899 } else if (instr->opcode == aco_opcode::p_create_vector) {
2920 instr->opcode != aco_opcode::p_create_vector ? rename_not_killed_ops
3012 (instr->opcode == aco_opcode::v_cndmask_b32 &&
3014 ((instr->opcode == aco_opcode::v_add_co_u32 ||
3015 instr->opcode == aco_opcode::v_addc_co_u32 ||
3016 instr->opcode == aco_opcode::v_sub_co_u32 ||
3017 instr->opcode == aco_opcode::v_subb_co_u32 ||
3018 instr->opcode == aco_opcode::v_subrev_co_u32 ||
3019 instr->opcode == aco_opcode::v_subbrev_co_u32) &&
3021 ((instr->opcode == aco_opcode::v_addc_co_u32 ||
3022 instr->opcode == aco_opcode::v_subb_co_u32 ||
3023 instr->opcode == aco_opcode::v_subbrev_co_u32) &&
3073 tmp->opcode, format, tmp->operands.size(), tmp->definitions.size()));