brintos

brintos / llvm-project-archived public Read only

0
0
Text · 399.9 KiB · c90b2c9 Raw
8870 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx700 < %s | FileCheck -check-prefixes=GFX7,GFX7-SDAG %s3; RUN: llc -global-isel -mtriple=amdgcn-amd-amdhsa -mcpu=gfx700 < %s | FileCheck -check-prefixes=GFX7,GFX7-GISEL %s4 5; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 < %s | FileCheck -check-prefixes=GFX8,GFX8-SDAG %s6; RUN: llc -global-isel -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 < %s | FileCheck -check-prefixes=GFX8,GFX8-GISEL %s7 8; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 < %s | FileCheck -check-prefixes=GFX9,GFX900,GFX9-SDAG,GFX900-SDAG %s9; RUN: llc -global-isel -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 < %s | FileCheck -check-prefixes=GFX9,GFX900,GFX9-GISEL,GFX900-GISEL %s10 11; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx950 < %s | FileCheck -check-prefixes=GFX9,GFX950,GFX9-SDAG,GFX950-SDAG %s12; RUN: llc -global-isel -mtriple=amdgcn-amd-amdhsa -mcpu=gfx950 < %s | FileCheck -check-prefixes=GFX9,GFX950,GFX9-GISEL,GFX950-GISEL %s13 14; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1030 < %s | FileCheck -check-prefixes=GFX10,GFX10-SDAG %s15; RUN: llc -global-isel -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1030 < %s | FileCheck -check-prefixes=GFX10,GFX10-GISEL %s16 17; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -mattr=+real-true16 < %s | FileCheck -check-prefixes=GFX11,GFX11-TRUE16,GFX11-SDAG,GFX11-TRUE16-SDAG %s18; RUN: llc -global-isel -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -mattr=+real-true16 < %s | FileCheck -check-prefixes=GFX11,GFX11-TRUE16,GFX11-GISEL,GFX11-TRUE16-GISEL %s19 20; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -mattr=-real-true16 < %s | FileCheck -check-prefixes=GFX11,GFX11-FAKE16,GFX11-SDAG,GFX11-FAKE16-SDAG %s21; RUN: llc -global-isel -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -mattr=-real-true16 < %s | FileCheck -check-prefixes=GFX11,GFX11-FAKE16,GFX11-GISEL,GFX11-FAKE16-GISEL %s22 23; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -mattr=+real-true16 < %s | FileCheck -check-prefixes=GFX12,GFX12-TRUE16,GFX12-SDAG,GFX12-TRUE16-SDAG %s24; RUN: llc -global-isel -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -mattr=+real-true16 < %s | FileCheck -check-prefixes=GFX12,GFX12-TRUE16,GFX12-GISEL,GFX12-TRUE16-GISEL %s25 26; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -mattr=-real-true16 < %s | FileCheck -check-prefixes=GFX12,GFX12-FAKE16,GFX12-SDAG,GFX12-FAKE16-SDAG %s27; RUN: llc -global-isel -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -mattr=-real-true16 < %s | FileCheck -check-prefixes=GFX12,GFX12-FAKE16,GFX12-GISEL,GFX12-FAKE16-GISEL %s28 29define half @v_maximumnum_f16(half %x, half %y) {30; GFX7-SDAG-LABEL: v_maximumnum_f16:31; GFX7-SDAG:       ; %bb.0:32; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)33; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v034; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v135; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v036; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v137; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v138; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]39;40; GFX7-GISEL-LABEL: v_maximumnum_f16:41; GFX7-GISEL:       ; %bb.0:42; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)43; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v044; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v145; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v146; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v047; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]48;49; GFX8-SDAG-LABEL: v_maximumnum_f16:50; GFX8-SDAG:       ; %bb.0:51; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)52; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v153; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v054; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v155; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]56;57; GFX8-GISEL-LABEL: v_maximumnum_f16:58; GFX8-GISEL:       ; %bb.0:59; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)60; GFX8-GISEL-NEXT:    v_max_f16_e32 v0, v0, v061; GFX8-GISEL-NEXT:    v_max_f16_e32 v1, v1, v162; GFX8-GISEL-NEXT:    v_max_f16_e32 v0, v0, v163; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]64;65; GFX9-SDAG-LABEL: v_maximumnum_f16:66; GFX9-SDAG:       ; %bb.0:67; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)68; GFX9-SDAG-NEXT:    v_max_f16_e32 v1, v1, v169; GFX9-SDAG-NEXT:    v_max_f16_e32 v0, v0, v070; GFX9-SDAG-NEXT:    v_max_f16_e32 v0, v0, v171; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]72;73; GFX9-GISEL-LABEL: v_maximumnum_f16:74; GFX9-GISEL:       ; %bb.0:75; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)76; GFX9-GISEL-NEXT:    v_max_f16_e32 v0, v0, v077; GFX9-GISEL-NEXT:    v_max_f16_e32 v1, v1, v178; GFX9-GISEL-NEXT:    v_max_f16_e32 v0, v0, v179; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]80;81; GFX10-SDAG-LABEL: v_maximumnum_f16:82; GFX10-SDAG:       ; %bb.0:83; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)84; GFX10-SDAG-NEXT:    v_max_f16_e32 v1, v1, v185; GFX10-SDAG-NEXT:    v_max_f16_e32 v0, v0, v086; GFX10-SDAG-NEXT:    v_max_f16_e32 v0, v0, v187; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]88;89; GFX10-GISEL-LABEL: v_maximumnum_f16:90; GFX10-GISEL:       ; %bb.0:91; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)92; GFX10-GISEL-NEXT:    v_max_f16_e32 v0, v0, v093; GFX10-GISEL-NEXT:    v_max_f16_e32 v1, v1, v194; GFX10-GISEL-NEXT:    v_max_f16_e32 v0, v0, v195; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]96;97; GFX11-TRUE16-SDAG-LABEL: v_maximumnum_f16:98; GFX11-TRUE16-SDAG:       ; %bb.0:99; GFX11-TRUE16-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)100; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e32 v0.h, v1.l, v1.l101; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.l102; GFX11-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)103; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.h104; GFX11-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]105;106; GFX11-TRUE16-GISEL-LABEL: v_maximumnum_f16:107; GFX11-TRUE16-GISEL:       ; %bb.0:108; GFX11-TRUE16-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)109; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.l110; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e32 v0.h, v1.l, v1.l111; GFX11-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)112; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.h113; GFX11-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]114;115; GFX11-FAKE16-SDAG-LABEL: v_maximumnum_f16:116; GFX11-FAKE16-SDAG:       ; %bb.0:117; GFX11-FAKE16-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)118; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e32 v1, v1, v1119; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e32 v0, v0, v0120; GFX11-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)121; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e32 v0, v0, v1122; GFX11-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]123;124; GFX11-FAKE16-GISEL-LABEL: v_maximumnum_f16:125; GFX11-FAKE16-GISEL:       ; %bb.0:126; GFX11-FAKE16-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)127; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e32 v0, v0, v0128; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e32 v1, v1, v1129; GFX11-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)130; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e32 v0, v0, v1131; GFX11-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]132;133; GFX12-TRUE16-SDAG-LABEL: v_maximumnum_f16:134; GFX12-TRUE16-SDAG:       ; %bb.0:135; GFX12-TRUE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x0136; GFX12-TRUE16-SDAG-NEXT:    s_wait_expcnt 0x0137; GFX12-TRUE16-SDAG-NEXT:    s_wait_samplecnt 0x0138; GFX12-TRUE16-SDAG-NEXT:    s_wait_bvhcnt 0x0139; GFX12-TRUE16-SDAG-NEXT:    s_wait_kmcnt 0x0140; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.h, v1.l, v1.l141; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.l142; GFX12-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)143; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.h144; GFX12-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]145;146; GFX12-TRUE16-GISEL-LABEL: v_maximumnum_f16:147; GFX12-TRUE16-GISEL:       ; %bb.0:148; GFX12-TRUE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x0149; GFX12-TRUE16-GISEL-NEXT:    s_wait_expcnt 0x0150; GFX12-TRUE16-GISEL-NEXT:    s_wait_samplecnt 0x0151; GFX12-TRUE16-GISEL-NEXT:    s_wait_bvhcnt 0x0152; GFX12-TRUE16-GISEL-NEXT:    s_wait_kmcnt 0x0153; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.l154; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.h, v1.l, v1.l155; GFX12-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)156; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.h157; GFX12-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]158;159; GFX12-FAKE16-SDAG-LABEL: v_maximumnum_f16:160; GFX12-FAKE16-SDAG:       ; %bb.0:161; GFX12-FAKE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x0162; GFX12-FAKE16-SDAG-NEXT:    s_wait_expcnt 0x0163; GFX12-FAKE16-SDAG-NEXT:    s_wait_samplecnt 0x0164; GFX12-FAKE16-SDAG-NEXT:    s_wait_bvhcnt 0x0165; GFX12-FAKE16-SDAG-NEXT:    s_wait_kmcnt 0x0166; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v1, v1, v1167; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v0, v0, v0168; GFX12-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)169; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v0, v0, v1170; GFX12-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]171;172; GFX12-FAKE16-GISEL-LABEL: v_maximumnum_f16:173; GFX12-FAKE16-GISEL:       ; %bb.0:174; GFX12-FAKE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x0175; GFX12-FAKE16-GISEL-NEXT:    s_wait_expcnt 0x0176; GFX12-FAKE16-GISEL-NEXT:    s_wait_samplecnt 0x0177; GFX12-FAKE16-GISEL-NEXT:    s_wait_bvhcnt 0x0178; GFX12-FAKE16-GISEL-NEXT:    s_wait_kmcnt 0x0179; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v0, v0, v0180; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v1, v1, v1181; GFX12-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)182; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v0, v0, v1183; GFX12-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]184  %result = call half @llvm.maximumnum.f16(half %x, half %y)185  ret half %result186}187 188define half @v_maximumnum_f16_nnan(half %x, half %y) {189; GFX7-SDAG-LABEL: v_maximumnum_f16_nnan:190; GFX7-SDAG:       ; %bb.0:191; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)192; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v1193; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v0194; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v1195; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v0196; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v1197; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]198;199; GFX7-GISEL-LABEL: v_maximumnum_f16_nnan:200; GFX7-GISEL:       ; %bb.0:201; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)202; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v0203; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v1204; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v1205; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v0206; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]207;208; GFX8-LABEL: v_maximumnum_f16_nnan:209; GFX8:       ; %bb.0:210; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)211; GFX8-NEXT:    v_max_f16_e32 v0, v0, v1212; GFX8-NEXT:    s_setpc_b64 s[30:31]213;214; GFX9-LABEL: v_maximumnum_f16_nnan:215; GFX9:       ; %bb.0:216; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)217; GFX9-NEXT:    v_max_f16_e32 v0, v0, v1218; GFX9-NEXT:    s_setpc_b64 s[30:31]219;220; GFX10-LABEL: v_maximumnum_f16_nnan:221; GFX10:       ; %bb.0:222; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)223; GFX10-NEXT:    v_max_f16_e32 v0, v0, v1224; GFX10-NEXT:    s_setpc_b64 s[30:31]225;226; GFX11-TRUE16-LABEL: v_maximumnum_f16_nnan:227; GFX11-TRUE16:       ; %bb.0:228; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)229; GFX11-TRUE16-NEXT:    v_max_f16_e32 v0.l, v0.l, v1.l230; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]231;232; GFX11-FAKE16-LABEL: v_maximumnum_f16_nnan:233; GFX11-FAKE16:       ; %bb.0:234; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)235; GFX11-FAKE16-NEXT:    v_max_f16_e32 v0, v0, v1236; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]237;238; GFX12-TRUE16-LABEL: v_maximumnum_f16_nnan:239; GFX12-TRUE16:       ; %bb.0:240; GFX12-TRUE16-NEXT:    s_wait_loadcnt_dscnt 0x0241; GFX12-TRUE16-NEXT:    s_wait_expcnt 0x0242; GFX12-TRUE16-NEXT:    s_wait_samplecnt 0x0243; GFX12-TRUE16-NEXT:    s_wait_bvhcnt 0x0244; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x0245; GFX12-TRUE16-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v1.l246; GFX12-TRUE16-NEXT:    s_setpc_b64 s[30:31]247;248; GFX12-FAKE16-LABEL: v_maximumnum_f16_nnan:249; GFX12-FAKE16:       ; %bb.0:250; GFX12-FAKE16-NEXT:    s_wait_loadcnt_dscnt 0x0251; GFX12-FAKE16-NEXT:    s_wait_expcnt 0x0252; GFX12-FAKE16-NEXT:    s_wait_samplecnt 0x0253; GFX12-FAKE16-NEXT:    s_wait_bvhcnt 0x0254; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x0255; GFX12-FAKE16-NEXT:    v_max_num_f16_e32 v0, v0, v1256; GFX12-FAKE16-NEXT:    s_setpc_b64 s[30:31]257  %result = call nnan half @llvm.maximumnum.f16(half %x, half %y)258  ret half %result259}260 261define half @v_maximumnum_f16_1.0(half %x) {262; GFX7-SDAG-LABEL: v_maximumnum_f16_1.0:263; GFX7-SDAG:       ; %bb.0:264; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)265; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v0266; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v0267; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, 1.0, v0268; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]269;270; GFX7-GISEL-LABEL: v_maximumnum_f16_1.0:271; GFX7-GISEL:       ; %bb.0:272; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)273; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v0274; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, 1.0, v0275; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v0276; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]277;278; GFX8-LABEL: v_maximumnum_f16_1.0:279; GFX8:       ; %bb.0:280; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)281; GFX8-NEXT:    v_max_f16_e32 v0, v0, v0282; GFX8-NEXT:    v_max_f16_e32 v0, 1.0, v0283; GFX8-NEXT:    s_setpc_b64 s[30:31]284;285; GFX9-LABEL: v_maximumnum_f16_1.0:286; GFX9:       ; %bb.0:287; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)288; GFX9-NEXT:    v_max_f16_e32 v0, v0, v0289; GFX9-NEXT:    v_max_f16_e32 v0, 1.0, v0290; GFX9-NEXT:    s_setpc_b64 s[30:31]291;292; GFX10-LABEL: v_maximumnum_f16_1.0:293; GFX10:       ; %bb.0:294; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)295; GFX10-NEXT:    v_max_f16_e32 v0, v0, v0296; GFX10-NEXT:    v_max_f16_e32 v0, 1.0, v0297; GFX10-NEXT:    s_setpc_b64 s[30:31]298;299; GFX11-TRUE16-LABEL: v_maximumnum_f16_1.0:300; GFX11-TRUE16:       ; %bb.0:301; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)302; GFX11-TRUE16-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.l303; GFX11-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)304; GFX11-TRUE16-NEXT:    v_max_f16_e32 v0.l, 1.0, v0.l305; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]306;307; GFX11-FAKE16-LABEL: v_maximumnum_f16_1.0:308; GFX11-FAKE16:       ; %bb.0:309; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)310; GFX11-FAKE16-NEXT:    v_max_f16_e32 v0, v0, v0311; GFX11-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)312; GFX11-FAKE16-NEXT:    v_max_f16_e32 v0, 1.0, v0313; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]314;315; GFX12-TRUE16-LABEL: v_maximumnum_f16_1.0:316; GFX12-TRUE16:       ; %bb.0:317; GFX12-TRUE16-NEXT:    s_wait_loadcnt_dscnt 0x0318; GFX12-TRUE16-NEXT:    s_wait_expcnt 0x0319; GFX12-TRUE16-NEXT:    s_wait_samplecnt 0x0320; GFX12-TRUE16-NEXT:    s_wait_bvhcnt 0x0321; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x0322; GFX12-TRUE16-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.l323; GFX12-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)324; GFX12-TRUE16-NEXT:    v_max_num_f16_e32 v0.l, 1.0, v0.l325; GFX12-TRUE16-NEXT:    s_setpc_b64 s[30:31]326;327; GFX12-FAKE16-LABEL: v_maximumnum_f16_1.0:328; GFX12-FAKE16:       ; %bb.0:329; GFX12-FAKE16-NEXT:    s_wait_loadcnt_dscnt 0x0330; GFX12-FAKE16-NEXT:    s_wait_expcnt 0x0331; GFX12-FAKE16-NEXT:    s_wait_samplecnt 0x0332; GFX12-FAKE16-NEXT:    s_wait_bvhcnt 0x0333; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x0334; GFX12-FAKE16-NEXT:    v_max_num_f16_e32 v0, v0, v0335; GFX12-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)336; GFX12-FAKE16-NEXT:    v_max_num_f16_e32 v0, 1.0, v0337; GFX12-FAKE16-NEXT:    s_setpc_b64 s[30:31]338  %result = call half @llvm.maximumnum.f16(half %x, half 1.0)339  ret half %result340}341 342define float @v_maximumnum_f32(float %x, float %y) {343; GFX7-SDAG-LABEL: v_maximumnum_f32:344; GFX7-SDAG:       ; %bb.0:345; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)346; GFX7-SDAG-NEXT:    v_mul_f32_e32 v1, 1.0, v1347; GFX7-SDAG-NEXT:    v_mul_f32_e32 v0, 1.0, v0348; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v1349; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]350;351; GFX7-GISEL-LABEL: v_maximumnum_f32:352; GFX7-GISEL:       ; %bb.0:353; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)354; GFX7-GISEL-NEXT:    v_mul_f32_e32 v0, 1.0, v0355; GFX7-GISEL-NEXT:    v_mul_f32_e32 v1, 1.0, v1356; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v1357; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]358;359; GFX8-SDAG-LABEL: v_maximumnum_f32:360; GFX8-SDAG:       ; %bb.0:361; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)362; GFX8-SDAG-NEXT:    v_mul_f32_e32 v1, 1.0, v1363; GFX8-SDAG-NEXT:    v_mul_f32_e32 v0, 1.0, v0364; GFX8-SDAG-NEXT:    v_max_f32_e32 v0, v0, v1365; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]366;367; GFX8-GISEL-LABEL: v_maximumnum_f32:368; GFX8-GISEL:       ; %bb.0:369; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)370; GFX8-GISEL-NEXT:    v_mul_f32_e32 v0, 1.0, v0371; GFX8-GISEL-NEXT:    v_mul_f32_e32 v1, 1.0, v1372; GFX8-GISEL-NEXT:    v_max_f32_e32 v0, v0, v1373; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]374;375; GFX9-SDAG-LABEL: v_maximumnum_f32:376; GFX9-SDAG:       ; %bb.0:377; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)378; GFX9-SDAG-NEXT:    v_max_f32_e32 v1, v1, v1379; GFX9-SDAG-NEXT:    v_max_f32_e32 v0, v0, v0380; GFX9-SDAG-NEXT:    v_max_f32_e32 v0, v0, v1381; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]382;383; GFX9-GISEL-LABEL: v_maximumnum_f32:384; GFX9-GISEL:       ; %bb.0:385; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)386; GFX9-GISEL-NEXT:    v_max_f32_e32 v0, v0, v0387; GFX9-GISEL-NEXT:    v_max_f32_e32 v1, v1, v1388; GFX9-GISEL-NEXT:    v_max_f32_e32 v0, v0, v1389; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]390;391; GFX10-SDAG-LABEL: v_maximumnum_f32:392; GFX10-SDAG:       ; %bb.0:393; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)394; GFX10-SDAG-NEXT:    v_max_f32_e32 v1, v1, v1395; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v0396; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v1397; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]398;399; GFX10-GISEL-LABEL: v_maximumnum_f32:400; GFX10-GISEL:       ; %bb.0:401; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)402; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v0403; GFX10-GISEL-NEXT:    v_max_f32_e32 v1, v1, v1404; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v1405; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]406;407; GFX11-SDAG-LABEL: v_maximumnum_f32:408; GFX11-SDAG:       ; %bb.0:409; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)410; GFX11-SDAG-NEXT:    v_dual_max_f32 v1, v1, v1 :: v_dual_max_f32 v0, v0, v0411; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)412; GFX11-SDAG-NEXT:    v_max_f32_e32 v0, v0, v1413; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]414;415; GFX11-GISEL-LABEL: v_maximumnum_f32:416; GFX11-GISEL:       ; %bb.0:417; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)418; GFX11-GISEL-NEXT:    v_dual_max_f32 v0, v0, v0 :: v_dual_max_f32 v1, v1, v1419; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)420; GFX11-GISEL-NEXT:    v_max_f32_e32 v0, v0, v1421; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]422;423; GFX12-SDAG-LABEL: v_maximumnum_f32:424; GFX12-SDAG:       ; %bb.0:425; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x0426; GFX12-SDAG-NEXT:    s_wait_expcnt 0x0427; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x0428; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x0429; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x0430; GFX12-SDAG-NEXT:    v_dual_max_num_f32 v1, v1, v1 :: v_dual_max_num_f32 v0, v0, v0431; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)432; GFX12-SDAG-NEXT:    v_max_num_f32_e32 v0, v0, v1433; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]434;435; GFX12-GISEL-LABEL: v_maximumnum_f32:436; GFX12-GISEL:       ; %bb.0:437; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x0438; GFX12-GISEL-NEXT:    s_wait_expcnt 0x0439; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x0440; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x0441; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x0442; GFX12-GISEL-NEXT:    v_dual_max_num_f32 v0, v0, v0 :: v_dual_max_num_f32 v1, v1, v1443; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)444; GFX12-GISEL-NEXT:    v_max_num_f32_e32 v0, v0, v1445; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]446  %result = call float @llvm.maximumnum.f32(float %x, float %y)447  ret float %result448}449 450define float @v_maximumnum_f32_nnan(float %x, float %y) {451; GFX7-LABEL: v_maximumnum_f32_nnan:452; GFX7:       ; %bb.0:453; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)454; GFX7-NEXT:    v_max_f32_e32 v0, v0, v1455; GFX7-NEXT:    s_setpc_b64 s[30:31]456;457; GFX8-LABEL: v_maximumnum_f32_nnan:458; GFX8:       ; %bb.0:459; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)460; GFX8-NEXT:    v_max_f32_e32 v0, v0, v1461; GFX8-NEXT:    s_setpc_b64 s[30:31]462;463; GFX9-LABEL: v_maximumnum_f32_nnan:464; GFX9:       ; %bb.0:465; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)466; GFX9-NEXT:    v_max_f32_e32 v0, v0, v1467; GFX9-NEXT:    s_setpc_b64 s[30:31]468;469; GFX10-LABEL: v_maximumnum_f32_nnan:470; GFX10:       ; %bb.0:471; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)472; GFX10-NEXT:    v_max_f32_e32 v0, v0, v1473; GFX10-NEXT:    s_setpc_b64 s[30:31]474;475; GFX11-LABEL: v_maximumnum_f32_nnan:476; GFX11:       ; %bb.0:477; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)478; GFX11-NEXT:    v_max_f32_e32 v0, v0, v1479; GFX11-NEXT:    s_setpc_b64 s[30:31]480;481; GFX12-LABEL: v_maximumnum_f32_nnan:482; GFX12:       ; %bb.0:483; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x0484; GFX12-NEXT:    s_wait_expcnt 0x0485; GFX12-NEXT:    s_wait_samplecnt 0x0486; GFX12-NEXT:    s_wait_bvhcnt 0x0487; GFX12-NEXT:    s_wait_kmcnt 0x0488; GFX12-NEXT:    v_max_num_f32_e32 v0, v0, v1489; GFX12-NEXT:    s_setpc_b64 s[30:31]490  %result = call nnan float @llvm.maximumnum.f32(float %x, float %y)491  ret float %result492}493 494define double @v_maximumnum_f64(double %x, double %y) {495; GFX7-SDAG-LABEL: v_maximumnum_f64:496; GFX7-SDAG:       ; %bb.0:497; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)498; GFX7-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]499; GFX7-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]500; GFX7-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]501; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]502;503; GFX7-GISEL-LABEL: v_maximumnum_f64:504; GFX7-GISEL:       ; %bb.0:505; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)506; GFX7-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]507; GFX7-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]508; GFX7-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]509; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]510;511; GFX8-SDAG-LABEL: v_maximumnum_f64:512; GFX8-SDAG:       ; %bb.0:513; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)514; GFX8-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]515; GFX8-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]516; GFX8-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]517; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]518;519; GFX8-GISEL-LABEL: v_maximumnum_f64:520; GFX8-GISEL:       ; %bb.0:521; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)522; GFX8-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]523; GFX8-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]524; GFX8-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]525; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]526;527; GFX9-SDAG-LABEL: v_maximumnum_f64:528; GFX9-SDAG:       ; %bb.0:529; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)530; GFX9-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]531; GFX9-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]532; GFX9-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]533; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]534;535; GFX9-GISEL-LABEL: v_maximumnum_f64:536; GFX9-GISEL:       ; %bb.0:537; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)538; GFX9-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]539; GFX9-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]540; GFX9-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]541; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]542;543; GFX10-SDAG-LABEL: v_maximumnum_f64:544; GFX10-SDAG:       ; %bb.0:545; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)546; GFX10-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]547; GFX10-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]548; GFX10-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]549; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]550;551; GFX10-GISEL-LABEL: v_maximumnum_f64:552; GFX10-GISEL:       ; %bb.0:553; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)554; GFX10-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]555; GFX10-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]556; GFX10-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]557; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]558;559; GFX11-SDAG-LABEL: v_maximumnum_f64:560; GFX11-SDAG:       ; %bb.0:561; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)562; GFX11-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]563; GFX11-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]564; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)565; GFX11-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]566; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]567;568; GFX11-GISEL-LABEL: v_maximumnum_f64:569; GFX11-GISEL:       ; %bb.0:570; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)571; GFX11-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]572; GFX11-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]573; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)574; GFX11-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]575; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]576;577; GFX12-SDAG-LABEL: v_maximumnum_f64:578; GFX12-SDAG:       ; %bb.0:579; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x0580; GFX12-SDAG-NEXT:    s_wait_expcnt 0x0581; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x0582; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x0583; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x0584; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[2:3]585; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[0:1]586; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)587; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[2:3]588; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]589;590; GFX12-GISEL-LABEL: v_maximumnum_f64:591; GFX12-GISEL:       ; %bb.0:592; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x0593; GFX12-GISEL-NEXT:    s_wait_expcnt 0x0594; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x0595; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x0596; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x0597; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[0:1]598; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[2:3]599; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)600; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[2:3]601; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]602  %result = call double @llvm.maximumnum.f64(double %x, double %y)603  ret double %result604}605 606define double @v_maximumnum_f64_nnan(double %x, double %y) {607; GFX7-LABEL: v_maximumnum_f64_nnan:608; GFX7:       ; %bb.0:609; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)610; GFX7-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]611; GFX7-NEXT:    s_setpc_b64 s[30:31]612;613; GFX8-LABEL: v_maximumnum_f64_nnan:614; GFX8:       ; %bb.0:615; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)616; GFX8-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]617; GFX8-NEXT:    s_setpc_b64 s[30:31]618;619; GFX9-LABEL: v_maximumnum_f64_nnan:620; GFX9:       ; %bb.0:621; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)622; GFX9-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]623; GFX9-NEXT:    s_setpc_b64 s[30:31]624;625; GFX10-LABEL: v_maximumnum_f64_nnan:626; GFX10:       ; %bb.0:627; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)628; GFX10-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]629; GFX10-NEXT:    s_setpc_b64 s[30:31]630;631; GFX11-LABEL: v_maximumnum_f64_nnan:632; GFX11:       ; %bb.0:633; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)634; GFX11-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]635; GFX11-NEXT:    s_setpc_b64 s[30:31]636;637; GFX12-LABEL: v_maximumnum_f64_nnan:638; GFX12:       ; %bb.0:639; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x0640; GFX12-NEXT:    s_wait_expcnt 0x0641; GFX12-NEXT:    s_wait_samplecnt 0x0642; GFX12-NEXT:    s_wait_bvhcnt 0x0643; GFX12-NEXT:    s_wait_kmcnt 0x0644; GFX12-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[2:3]645; GFX12-NEXT:    s_setpc_b64 s[30:31]646  %result = call nnan double @llvm.maximumnum.f64(double %x, double %y)647  ret double %result648}649 650define float @v_maximumnum_f32_1.0(float %x) {651; GFX7-LABEL: v_maximumnum_f32_1.0:652; GFX7:       ; %bb.0:653; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)654; GFX7-NEXT:    v_mul_f32_e32 v0, 1.0, v0655; GFX7-NEXT:    v_max_f32_e32 v0, 1.0, v0656; GFX7-NEXT:    s_setpc_b64 s[30:31]657;658; GFX8-LABEL: v_maximumnum_f32_1.0:659; GFX8:       ; %bb.0:660; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)661; GFX8-NEXT:    v_mul_f32_e32 v0, 1.0, v0662; GFX8-NEXT:    v_max_f32_e32 v0, 1.0, v0663; GFX8-NEXT:    s_setpc_b64 s[30:31]664;665; GFX9-LABEL: v_maximumnum_f32_1.0:666; GFX9:       ; %bb.0:667; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)668; GFX9-NEXT:    v_max_f32_e32 v0, v0, v0669; GFX9-NEXT:    v_max_f32_e32 v0, 1.0, v0670; GFX9-NEXT:    s_setpc_b64 s[30:31]671;672; GFX10-LABEL: v_maximumnum_f32_1.0:673; GFX10:       ; %bb.0:674; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)675; GFX10-NEXT:    v_max_f32_e32 v0, v0, v0676; GFX10-NEXT:    v_max_f32_e32 v0, 1.0, v0677; GFX10-NEXT:    s_setpc_b64 s[30:31]678;679; GFX11-LABEL: v_maximumnum_f32_1.0:680; GFX11:       ; %bb.0:681; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)682; GFX11-NEXT:    v_max_f32_e32 v0, v0, v0683; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_1)684; GFX11-NEXT:    v_max_f32_e32 v0, 1.0, v0685; GFX11-NEXT:    s_setpc_b64 s[30:31]686;687; GFX12-LABEL: v_maximumnum_f32_1.0:688; GFX12:       ; %bb.0:689; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x0690; GFX12-NEXT:    s_wait_expcnt 0x0691; GFX12-NEXT:    s_wait_samplecnt 0x0692; GFX12-NEXT:    s_wait_bvhcnt 0x0693; GFX12-NEXT:    s_wait_kmcnt 0x0694; GFX12-NEXT:    v_max_num_f32_e32 v0, v0, v0695; GFX12-NEXT:    s_delay_alu instid0(VALU_DEP_1)696; GFX12-NEXT:    v_max_num_f32_e32 v0, 1.0, v0697; GFX12-NEXT:    s_setpc_b64 s[30:31]698  %result = call float @llvm.maximumnum.f32(float %x, float 1.0)699  ret float %result700}701 702define float @v_maximumnum_f32_rhs_not_snan(float %x, float %y) {703; GFX7-LABEL: v_maximumnum_f32_rhs_not_snan:704; GFX7:       ; %bb.0:705; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)706; GFX7-NEXT:    v_mul_f32_e32 v1, 1.0, v1707; GFX7-NEXT:    v_mul_f32_e32 v0, 1.0, v0708; GFX7-NEXT:    v_max_f32_e32 v0, v0, v1709; GFX7-NEXT:    s_setpc_b64 s[30:31]710;711; GFX8-LABEL: v_maximumnum_f32_rhs_not_snan:712; GFX8:       ; %bb.0:713; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)714; GFX8-NEXT:    v_mul_f32_e32 v1, 1.0, v1715; GFX8-NEXT:    v_mul_f32_e32 v0, 1.0, v0716; GFX8-NEXT:    v_max_f32_e32 v0, v0, v1717; GFX8-NEXT:    s_setpc_b64 s[30:31]718;719; GFX9-LABEL: v_maximumnum_f32_rhs_not_snan:720; GFX9:       ; %bb.0:721; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)722; GFX9-NEXT:    v_max_f32_e32 v1, v1, v1723; GFX9-NEXT:    v_max_f32_e32 v0, v0, v0724; GFX9-NEXT:    v_max_f32_e32 v0, v0, v1725; GFX9-NEXT:    s_setpc_b64 s[30:31]726;727; GFX10-LABEL: v_maximumnum_f32_rhs_not_snan:728; GFX10:       ; %bb.0:729; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)730; GFX10-NEXT:    v_max_f32_e32 v1, v1, v1731; GFX10-NEXT:    v_max_f32_e32 v0, v0, v0732; GFX10-NEXT:    v_max_f32_e32 v0, v0, v1733; GFX10-NEXT:    s_setpc_b64 s[30:31]734;735; GFX11-LABEL: v_maximumnum_f32_rhs_not_snan:736; GFX11:       ; %bb.0:737; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)738; GFX11-NEXT:    v_dual_max_f32 v1, v1, v1 :: v_dual_max_f32 v0, v0, v0739; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_1)740; GFX11-NEXT:    v_max_f32_e32 v0, v0, v1741; GFX11-NEXT:    s_setpc_b64 s[30:31]742;743; GFX12-LABEL: v_maximumnum_f32_rhs_not_snan:744; GFX12:       ; %bb.0:745; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x0746; GFX12-NEXT:    s_wait_expcnt 0x0747; GFX12-NEXT:    s_wait_samplecnt 0x0748; GFX12-NEXT:    s_wait_bvhcnt 0x0749; GFX12-NEXT:    s_wait_kmcnt 0x0750; GFX12-NEXT:    v_dual_max_num_f32 v1, v1, v1 :: v_dual_max_num_f32 v0, v0, v0751; GFX12-NEXT:    s_delay_alu instid0(VALU_DEP_1)752; GFX12-NEXT:    v_max_num_f32_e32 v0, v0, v1753; GFX12-NEXT:    s_setpc_b64 s[30:31]754  %canon.y = call float @llvm.canonicalize.f32(float %y)755  %result = call float @llvm.maximumnum.f32(float %x, float %canon.y)756  ret float %result757}758 759define float @v_maximumnum_f32_lhs_not_snan(float %x, float %y) {760; GFX7-LABEL: v_maximumnum_f32_lhs_not_snan:761; GFX7:       ; %bb.0:762; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)763; GFX7-NEXT:    v_mul_f32_e32 v0, 1.0, v0764; GFX7-NEXT:    v_mul_f32_e32 v1, 1.0, v1765; GFX7-NEXT:    v_max_f32_e32 v0, v0, v1766; GFX7-NEXT:    s_setpc_b64 s[30:31]767;768; GFX8-LABEL: v_maximumnum_f32_lhs_not_snan:769; GFX8:       ; %bb.0:770; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)771; GFX8-NEXT:    v_mul_f32_e32 v0, 1.0, v0772; GFX8-NEXT:    v_mul_f32_e32 v1, 1.0, v1773; GFX8-NEXT:    v_max_f32_e32 v0, v0, v1774; GFX8-NEXT:    s_setpc_b64 s[30:31]775;776; GFX9-LABEL: v_maximumnum_f32_lhs_not_snan:777; GFX9:       ; %bb.0:778; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)779; GFX9-NEXT:    v_max_f32_e32 v0, v0, v0780; GFX9-NEXT:    v_max_f32_e32 v1, v1, v1781; GFX9-NEXT:    v_max_f32_e32 v0, v0, v1782; GFX9-NEXT:    s_setpc_b64 s[30:31]783;784; GFX10-LABEL: v_maximumnum_f32_lhs_not_snan:785; GFX10:       ; %bb.0:786; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)787; GFX10-NEXT:    v_max_f32_e32 v0, v0, v0788; GFX10-NEXT:    v_max_f32_e32 v1, v1, v1789; GFX10-NEXT:    v_max_f32_e32 v0, v0, v1790; GFX10-NEXT:    s_setpc_b64 s[30:31]791;792; GFX11-LABEL: v_maximumnum_f32_lhs_not_snan:793; GFX11:       ; %bb.0:794; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)795; GFX11-NEXT:    v_dual_max_f32 v0, v0, v0 :: v_dual_max_f32 v1, v1, v1796; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_1)797; GFX11-NEXT:    v_max_f32_e32 v0, v0, v1798; GFX11-NEXT:    s_setpc_b64 s[30:31]799;800; GFX12-LABEL: v_maximumnum_f32_lhs_not_snan:801; GFX12:       ; %bb.0:802; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x0803; GFX12-NEXT:    s_wait_expcnt 0x0804; GFX12-NEXT:    s_wait_samplecnt 0x0805; GFX12-NEXT:    s_wait_bvhcnt 0x0806; GFX12-NEXT:    s_wait_kmcnt 0x0807; GFX12-NEXT:    v_dual_max_num_f32 v0, v0, v0 :: v_dual_max_num_f32 v1, v1, v1808; GFX12-NEXT:    s_delay_alu instid0(VALU_DEP_1)809; GFX12-NEXT:    v_max_num_f32_e32 v0, v0, v1810; GFX12-NEXT:    s_setpc_b64 s[30:31]811  %canon.x = call float @llvm.canonicalize.f32(float %x)812  %result = call float @llvm.maximumnum.f32(float %canon.x, float %y)813  ret float %result814}815 816define float @v_maximumnum_f32_both_operands_not_snan(float %x, float %y) {817; GFX7-LABEL: v_maximumnum_f32_both_operands_not_snan:818; GFX7:       ; %bb.0:819; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)820; GFX7-NEXT:    v_mul_f32_e32 v0, 1.0, v0821; GFX7-NEXT:    v_mul_f32_e32 v1, 1.0, v1822; GFX7-NEXT:    v_max_f32_e32 v0, v0, v1823; GFX7-NEXT:    s_setpc_b64 s[30:31]824;825; GFX8-LABEL: v_maximumnum_f32_both_operands_not_snan:826; GFX8:       ; %bb.0:827; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)828; GFX8-NEXT:    v_mul_f32_e32 v0, 1.0, v0829; GFX8-NEXT:    v_mul_f32_e32 v1, 1.0, v1830; GFX8-NEXT:    v_max_f32_e32 v0, v0, v1831; GFX8-NEXT:    s_setpc_b64 s[30:31]832;833; GFX9-LABEL: v_maximumnum_f32_both_operands_not_snan:834; GFX9:       ; %bb.0:835; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)836; GFX9-NEXT:    v_max_f32_e32 v0, v0, v0837; GFX9-NEXT:    v_max_f32_e32 v1, v1, v1838; GFX9-NEXT:    v_max_f32_e32 v0, v0, v1839; GFX9-NEXT:    s_setpc_b64 s[30:31]840;841; GFX10-LABEL: v_maximumnum_f32_both_operands_not_snan:842; GFX10:       ; %bb.0:843; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)844; GFX10-NEXT:    v_max_f32_e32 v0, v0, v0845; GFX10-NEXT:    v_max_f32_e32 v1, v1, v1846; GFX10-NEXT:    v_max_f32_e32 v0, v0, v1847; GFX10-NEXT:    s_setpc_b64 s[30:31]848;849; GFX11-LABEL: v_maximumnum_f32_both_operands_not_snan:850; GFX11:       ; %bb.0:851; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)852; GFX11-NEXT:    v_dual_max_f32 v0, v0, v0 :: v_dual_max_f32 v1, v1, v1853; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_1)854; GFX11-NEXT:    v_max_f32_e32 v0, v0, v1855; GFX11-NEXT:    s_setpc_b64 s[30:31]856;857; GFX12-LABEL: v_maximumnum_f32_both_operands_not_snan:858; GFX12:       ; %bb.0:859; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x0860; GFX12-NEXT:    s_wait_expcnt 0x0861; GFX12-NEXT:    s_wait_samplecnt 0x0862; GFX12-NEXT:    s_wait_bvhcnt 0x0863; GFX12-NEXT:    s_wait_kmcnt 0x0864; GFX12-NEXT:    v_dual_max_num_f32 v0, v0, v0 :: v_dual_max_num_f32 v1, v1, v1865; GFX12-NEXT:    s_delay_alu instid0(VALU_DEP_1)866; GFX12-NEXT:    v_max_num_f32_e32 v0, v0, v1867; GFX12-NEXT:    s_setpc_b64 s[30:31]868  %canon.x = call float @llvm.canonicalize.f32(float %x)869  %canon.y = call float @llvm.canonicalize.f32(float %y)870  %result = call float @llvm.maximumnum.f32(float %canon.x, float %canon.y)871  ret float %result872}873 874define double @v_maximumnum_f64_1.0(double %x) {875; GFX7-LABEL: v_maximumnum_f64_1.0:876; GFX7:       ; %bb.0:877; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)878; GFX7-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]879; GFX7-NEXT:    v_max_f64 v[0:1], v[0:1], 1.0880; GFX7-NEXT:    s_setpc_b64 s[30:31]881;882; GFX8-LABEL: v_maximumnum_f64_1.0:883; GFX8:       ; %bb.0:884; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)885; GFX8-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]886; GFX8-NEXT:    v_max_f64 v[0:1], v[0:1], 1.0887; GFX8-NEXT:    s_setpc_b64 s[30:31]888;889; GFX9-LABEL: v_maximumnum_f64_1.0:890; GFX9:       ; %bb.0:891; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)892; GFX9-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]893; GFX9-NEXT:    v_max_f64 v[0:1], v[0:1], 1.0894; GFX9-NEXT:    s_setpc_b64 s[30:31]895;896; GFX10-LABEL: v_maximumnum_f64_1.0:897; GFX10:       ; %bb.0:898; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)899; GFX10-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]900; GFX10-NEXT:    v_max_f64 v[0:1], v[0:1], 1.0901; GFX10-NEXT:    s_setpc_b64 s[30:31]902;903; GFX11-LABEL: v_maximumnum_f64_1.0:904; GFX11:       ; %bb.0:905; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)906; GFX11-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]907; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_1)908; GFX11-NEXT:    v_max_f64 v[0:1], v[0:1], 1.0909; GFX11-NEXT:    s_setpc_b64 s[30:31]910;911; GFX12-LABEL: v_maximumnum_f64_1.0:912; GFX12:       ; %bb.0:913; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x0914; GFX12-NEXT:    s_wait_expcnt 0x0915; GFX12-NEXT:    s_wait_samplecnt 0x0916; GFX12-NEXT:    s_wait_bvhcnt 0x0917; GFX12-NEXT:    s_wait_kmcnt 0x0918; GFX12-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[0:1]919; GFX12-NEXT:    s_delay_alu instid0(VALU_DEP_1)920; GFX12-NEXT:    v_max_num_f64_e32 v[0:1], 1.0, v[0:1]921; GFX12-NEXT:    s_setpc_b64 s[30:31]922  %result = call double @llvm.maximumnum.f64(double %x, double 1.0)923  ret double %result924}925 926define half @v_maximumnum_f16_s_v(half inreg %x, half %y) {927; GFX7-SDAG-LABEL: v_maximumnum_f16_s_v:928; GFX7-SDAG:       ; %bb.0:929; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)930; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, s16931; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v0932; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v1933; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v0934; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v1, v0935; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]936;937; GFX7-GISEL-LABEL: v_maximumnum_f16_s_v:938; GFX7-GISEL:       ; %bb.0:939; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)940; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, s16941; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v0942; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v1, v0943; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v0944; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]945;946; GFX8-SDAG-LABEL: v_maximumnum_f16_s_v:947; GFX8-SDAG:       ; %bb.0:948; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)949; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v0950; GFX8-SDAG-NEXT:    v_max_f16_e64 v1, s16, s16951; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v1, v0952; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]953;954; GFX8-GISEL-LABEL: v_maximumnum_f16_s_v:955; GFX8-GISEL:       ; %bb.0:956; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)957; GFX8-GISEL-NEXT:    v_max_f16_e64 v1, s16, s16958; GFX8-GISEL-NEXT:    v_max_f16_e32 v0, v0, v0959; GFX8-GISEL-NEXT:    v_max_f16_e32 v0, v1, v0960; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]961;962; GFX900-SDAG-LABEL: v_maximumnum_f16_s_v:963; GFX900-SDAG:       ; %bb.0:964; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)965; GFX900-SDAG-NEXT:    v_max_f16_e32 v0, v0, v0966; GFX900-SDAG-NEXT:    v_max_f16_e64 v1, s16, s16967; GFX900-SDAG-NEXT:    v_max_f16_e32 v0, v1, v0968; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]969;970; GFX900-GISEL-LABEL: v_maximumnum_f16_s_v:971; GFX900-GISEL:       ; %bb.0:972; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)973; GFX900-GISEL-NEXT:    v_max_f16_e64 v1, s16, s16974; GFX900-GISEL-NEXT:    v_max_f16_e32 v0, v0, v0975; GFX900-GISEL-NEXT:    v_max_f16_e32 v0, v1, v0976; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]977;978; GFX950-SDAG-LABEL: v_maximumnum_f16_s_v:979; GFX950-SDAG:       ; %bb.0:980; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)981; GFX950-SDAG-NEXT:    v_max_f16_e32 v0, v0, v0982; GFX950-SDAG-NEXT:    v_max_f16_e64 v1, s0, s0983; GFX950-SDAG-NEXT:    v_max_f16_e32 v0, v1, v0984; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]985;986; GFX950-GISEL-LABEL: v_maximumnum_f16_s_v:987; GFX950-GISEL:       ; %bb.0:988; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)989; GFX950-GISEL-NEXT:    v_max_f16_e64 v1, s0, s0990; GFX950-GISEL-NEXT:    v_max_f16_e32 v0, v0, v0991; GFX950-GISEL-NEXT:    v_max_f16_e32 v0, v1, v0992; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]993;994; GFX10-SDAG-LABEL: v_maximumnum_f16_s_v:995; GFX10-SDAG:       ; %bb.0:996; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)997; GFX10-SDAG-NEXT:    v_max_f16_e32 v0, v0, v0998; GFX10-SDAG-NEXT:    v_max_f16_e64 v1, s16, s16999; GFX10-SDAG-NEXT:    v_max_f16_e32 v0, v1, v01000; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]1001;1002; GFX10-GISEL-LABEL: v_maximumnum_f16_s_v:1003; GFX10-GISEL:       ; %bb.0:1004; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1005; GFX10-GISEL-NEXT:    v_max_f16_e64 v1, s16, s161006; GFX10-GISEL-NEXT:    v_max_f16_e32 v0, v0, v01007; GFX10-GISEL-NEXT:    v_max_f16_e32 v0, v1, v01008; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]1009;1010; GFX11-TRUE16-SDAG-LABEL: v_maximumnum_f16_s_v:1011; GFX11-TRUE16-SDAG:       ; %bb.0:1012; GFX11-TRUE16-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1013; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.l1014; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e64 v0.h, s0, s01015; GFX11-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1016; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e32 v0.l, v0.h, v0.l1017; GFX11-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]1018;1019; GFX11-TRUE16-GISEL-LABEL: v_maximumnum_f16_s_v:1020; GFX11-TRUE16-GISEL:       ; %bb.0:1021; GFX11-TRUE16-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1022; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e64 v0.h, s0, s01023; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.l1024; GFX11-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1025; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e32 v0.l, v0.h, v0.l1026; GFX11-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]1027;1028; GFX11-FAKE16-SDAG-LABEL: v_maximumnum_f16_s_v:1029; GFX11-FAKE16-SDAG:       ; %bb.0:1030; GFX11-FAKE16-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1031; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e32 v0, v0, v01032; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e64 v1, s0, s01033; GFX11-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1034; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e32 v0, v1, v01035; GFX11-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]1036;1037; GFX11-FAKE16-GISEL-LABEL: v_maximumnum_f16_s_v:1038; GFX11-FAKE16-GISEL:       ; %bb.0:1039; GFX11-FAKE16-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1040; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e64 v1, s0, s01041; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e32 v0, v0, v01042; GFX11-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1043; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e32 v0, v1, v01044; GFX11-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]1045;1046; GFX12-TRUE16-SDAG-LABEL: v_maximumnum_f16_s_v:1047; GFX12-TRUE16-SDAG:       ; %bb.0:1048; GFX12-TRUE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x01049; GFX12-TRUE16-SDAG-NEXT:    s_wait_expcnt 0x01050; GFX12-TRUE16-SDAG-NEXT:    s_wait_samplecnt 0x01051; GFX12-TRUE16-SDAG-NEXT:    s_wait_bvhcnt 0x01052; GFX12-TRUE16-SDAG-NEXT:    s_wait_kmcnt 0x01053; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.l1054; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e64 v0.h, s0, s01055; GFX12-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1056; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.l, v0.h, v0.l1057; GFX12-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]1058;1059; GFX12-TRUE16-GISEL-LABEL: v_maximumnum_f16_s_v:1060; GFX12-TRUE16-GISEL:       ; %bb.0:1061; GFX12-TRUE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x01062; GFX12-TRUE16-GISEL-NEXT:    s_wait_expcnt 0x01063; GFX12-TRUE16-GISEL-NEXT:    s_wait_samplecnt 0x01064; GFX12-TRUE16-GISEL-NEXT:    s_wait_bvhcnt 0x01065; GFX12-TRUE16-GISEL-NEXT:    s_wait_kmcnt 0x01066; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e64 v0.h, s0, s01067; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.l1068; GFX12-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1069; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.l, v0.h, v0.l1070; GFX12-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]1071;1072; GFX12-FAKE16-SDAG-LABEL: v_maximumnum_f16_s_v:1073; GFX12-FAKE16-SDAG:       ; %bb.0:1074; GFX12-FAKE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x01075; GFX12-FAKE16-SDAG-NEXT:    s_wait_expcnt 0x01076; GFX12-FAKE16-SDAG-NEXT:    s_wait_samplecnt 0x01077; GFX12-FAKE16-SDAG-NEXT:    s_wait_bvhcnt 0x01078; GFX12-FAKE16-SDAG-NEXT:    s_wait_kmcnt 0x01079; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v0, v0, v01080; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e64 v1, s0, s01081; GFX12-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1082; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v0, v1, v01083; GFX12-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]1084;1085; GFX12-FAKE16-GISEL-LABEL: v_maximumnum_f16_s_v:1086; GFX12-FAKE16-GISEL:       ; %bb.0:1087; GFX12-FAKE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x01088; GFX12-FAKE16-GISEL-NEXT:    s_wait_expcnt 0x01089; GFX12-FAKE16-GISEL-NEXT:    s_wait_samplecnt 0x01090; GFX12-FAKE16-GISEL-NEXT:    s_wait_bvhcnt 0x01091; GFX12-FAKE16-GISEL-NEXT:    s_wait_kmcnt 0x01092; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e64 v1, s0, s01093; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v0, v0, v01094; GFX12-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1095; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v0, v1, v01096; GFX12-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]1097 %result = call half @llvm.maximumnum.f16(half %x, half %y)1098  ret half %result1099}1100 1101define half @v_maximumnum_f16_v_s(half %x, half inreg %y) {1102; GFX7-SDAG-LABEL: v_maximumnum_f16_v_s:1103; GFX7-SDAG:       ; %bb.0:1104; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1105; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v01106; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, s161107; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v01108; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v11109; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v11110; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]1111;1112; GFX7-GISEL-LABEL: v_maximumnum_f16_v_s:1113; GFX7-GISEL:       ; %bb.0:1114; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1115; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v01116; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, s161117; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v11118; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v01119; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]1120;1121; GFX8-SDAG-LABEL: v_maximumnum_f16_v_s:1122; GFX8-SDAG:       ; %bb.0:1123; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1124; GFX8-SDAG-NEXT:    v_max_f16_e64 v1, s16, s161125; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v01126; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v11127; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]1128;1129; GFX8-GISEL-LABEL: v_maximumnum_f16_v_s:1130; GFX8-GISEL:       ; %bb.0:1131; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1132; GFX8-GISEL-NEXT:    v_max_f16_e32 v0, v0, v01133; GFX8-GISEL-NEXT:    v_max_f16_e64 v1, s16, s161134; GFX8-GISEL-NEXT:    v_max_f16_e32 v0, v0, v11135; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]1136;1137; GFX900-SDAG-LABEL: v_maximumnum_f16_v_s:1138; GFX900-SDAG:       ; %bb.0:1139; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1140; GFX900-SDAG-NEXT:    v_max_f16_e64 v1, s16, s161141; GFX900-SDAG-NEXT:    v_max_f16_e32 v0, v0, v01142; GFX900-SDAG-NEXT:    v_max_f16_e32 v0, v0, v11143; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]1144;1145; GFX900-GISEL-LABEL: v_maximumnum_f16_v_s:1146; GFX900-GISEL:       ; %bb.0:1147; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1148; GFX900-GISEL-NEXT:    v_max_f16_e32 v0, v0, v01149; GFX900-GISEL-NEXT:    v_max_f16_e64 v1, s16, s161150; GFX900-GISEL-NEXT:    v_max_f16_e32 v0, v0, v11151; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]1152;1153; GFX950-SDAG-LABEL: v_maximumnum_f16_v_s:1154; GFX950-SDAG:       ; %bb.0:1155; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1156; GFX950-SDAG-NEXT:    v_max_f16_e64 v1, s0, s01157; GFX950-SDAG-NEXT:    v_max_f16_e32 v0, v0, v01158; GFX950-SDAG-NEXT:    v_max_f16_e32 v0, v0, v11159; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]1160;1161; GFX950-GISEL-LABEL: v_maximumnum_f16_v_s:1162; GFX950-GISEL:       ; %bb.0:1163; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1164; GFX950-GISEL-NEXT:    v_max_f16_e32 v0, v0, v01165; GFX950-GISEL-NEXT:    v_max_f16_e64 v1, s0, s01166; GFX950-GISEL-NEXT:    v_max_f16_e32 v0, v0, v11167; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]1168;1169; GFX10-SDAG-LABEL: v_maximumnum_f16_v_s:1170; GFX10-SDAG:       ; %bb.0:1171; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1172; GFX10-SDAG-NEXT:    v_max_f16_e64 v1, s16, s161173; GFX10-SDAG-NEXT:    v_max_f16_e32 v0, v0, v01174; GFX10-SDAG-NEXT:    v_max_f16_e32 v0, v0, v11175; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]1176;1177; GFX10-GISEL-LABEL: v_maximumnum_f16_v_s:1178; GFX10-GISEL:       ; %bb.0:1179; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1180; GFX10-GISEL-NEXT:    v_max_f16_e32 v0, v0, v01181; GFX10-GISEL-NEXT:    v_max_f16_e64 v1, s16, s161182; GFX10-GISEL-NEXT:    v_max_f16_e32 v0, v0, v11183; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]1184;1185; GFX11-TRUE16-SDAG-LABEL: v_maximumnum_f16_v_s:1186; GFX11-TRUE16-SDAG:       ; %bb.0:1187; GFX11-TRUE16-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1188; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e64 v0.h, s0, s01189; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.l1190; GFX11-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1191; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.h1192; GFX11-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]1193;1194; GFX11-TRUE16-GISEL-LABEL: v_maximumnum_f16_v_s:1195; GFX11-TRUE16-GISEL:       ; %bb.0:1196; GFX11-TRUE16-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1197; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.l1198; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e64 v0.h, s0, s01199; GFX11-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1200; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.h1201; GFX11-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]1202;1203; GFX11-FAKE16-SDAG-LABEL: v_maximumnum_f16_v_s:1204; GFX11-FAKE16-SDAG:       ; %bb.0:1205; GFX11-FAKE16-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1206; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e64 v1, s0, s01207; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e32 v0, v0, v01208; GFX11-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1209; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e32 v0, v0, v11210; GFX11-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]1211;1212; GFX11-FAKE16-GISEL-LABEL: v_maximumnum_f16_v_s:1213; GFX11-FAKE16-GISEL:       ; %bb.0:1214; GFX11-FAKE16-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1215; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e32 v0, v0, v01216; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e64 v1, s0, s01217; GFX11-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1218; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e32 v0, v0, v11219; GFX11-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]1220;1221; GFX12-TRUE16-SDAG-LABEL: v_maximumnum_f16_v_s:1222; GFX12-TRUE16-SDAG:       ; %bb.0:1223; GFX12-TRUE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x01224; GFX12-TRUE16-SDAG-NEXT:    s_wait_expcnt 0x01225; GFX12-TRUE16-SDAG-NEXT:    s_wait_samplecnt 0x01226; GFX12-TRUE16-SDAG-NEXT:    s_wait_bvhcnt 0x01227; GFX12-TRUE16-SDAG-NEXT:    s_wait_kmcnt 0x01228; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e64 v0.h, s0, s01229; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.l1230; GFX12-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1231; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.h1232; GFX12-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]1233;1234; GFX12-TRUE16-GISEL-LABEL: v_maximumnum_f16_v_s:1235; GFX12-TRUE16-GISEL:       ; %bb.0:1236; GFX12-TRUE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x01237; GFX12-TRUE16-GISEL-NEXT:    s_wait_expcnt 0x01238; GFX12-TRUE16-GISEL-NEXT:    s_wait_samplecnt 0x01239; GFX12-TRUE16-GISEL-NEXT:    s_wait_bvhcnt 0x01240; GFX12-TRUE16-GISEL-NEXT:    s_wait_kmcnt 0x01241; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.l1242; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e64 v0.h, s0, s01243; GFX12-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1244; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.h1245; GFX12-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]1246;1247; GFX12-FAKE16-SDAG-LABEL: v_maximumnum_f16_v_s:1248; GFX12-FAKE16-SDAG:       ; %bb.0:1249; GFX12-FAKE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x01250; GFX12-FAKE16-SDAG-NEXT:    s_wait_expcnt 0x01251; GFX12-FAKE16-SDAG-NEXT:    s_wait_samplecnt 0x01252; GFX12-FAKE16-SDAG-NEXT:    s_wait_bvhcnt 0x01253; GFX12-FAKE16-SDAG-NEXT:    s_wait_kmcnt 0x01254; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e64 v1, s0, s01255; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v0, v0, v01256; GFX12-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1257; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v0, v0, v11258; GFX12-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]1259;1260; GFX12-FAKE16-GISEL-LABEL: v_maximumnum_f16_v_s:1261; GFX12-FAKE16-GISEL:       ; %bb.0:1262; GFX12-FAKE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x01263; GFX12-FAKE16-GISEL-NEXT:    s_wait_expcnt 0x01264; GFX12-FAKE16-GISEL-NEXT:    s_wait_samplecnt 0x01265; GFX12-FAKE16-GISEL-NEXT:    s_wait_bvhcnt 0x01266; GFX12-FAKE16-GISEL-NEXT:    s_wait_kmcnt 0x01267; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v0, v0, v01268; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e64 v1, s0, s01269; GFX12-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1270; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v0, v0, v11271; GFX12-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]1272 %result = call half @llvm.maximumnum.f16(half %x, half %y)1273  ret half %result1274}1275 1276define half @v_maximumnum_f16_s_s(half inreg %x, half inreg %y) {1277; GFX7-SDAG-LABEL: v_maximumnum_f16_s_s:1278; GFX7-SDAG:       ; %bb.0:1279; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1280; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, s161281; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, s171282; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v01283; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v11284; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v11285; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]1286;1287; GFX7-GISEL-LABEL: v_maximumnum_f16_s_s:1288; GFX7-GISEL:       ; %bb.0:1289; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1290; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, s161291; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, s171292; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v11293; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v01294; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]1295;1296; GFX8-SDAG-LABEL: v_maximumnum_f16_s_s:1297; GFX8-SDAG:       ; %bb.0:1298; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1299; GFX8-SDAG-NEXT:    v_max_f16_e64 v0, s17, s171300; GFX8-SDAG-NEXT:    v_max_f16_e64 v1, s16, s161301; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v1, v01302; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]1303;1304; GFX8-GISEL-LABEL: v_maximumnum_f16_s_s:1305; GFX8-GISEL:       ; %bb.0:1306; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1307; GFX8-GISEL-NEXT:    v_max_f16_e64 v0, s16, s161308; GFX8-GISEL-NEXT:    v_max_f16_e64 v1, s17, s171309; GFX8-GISEL-NEXT:    v_max_f16_e32 v0, v0, v11310; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]1311;1312; GFX900-SDAG-LABEL: v_maximumnum_f16_s_s:1313; GFX900-SDAG:       ; %bb.0:1314; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1315; GFX900-SDAG-NEXT:    v_max_f16_e64 v0, s17, s171316; GFX900-SDAG-NEXT:    v_max_f16_e64 v1, s16, s161317; GFX900-SDAG-NEXT:    v_max_f16_e32 v0, v1, v01318; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]1319;1320; GFX900-GISEL-LABEL: v_maximumnum_f16_s_s:1321; GFX900-GISEL:       ; %bb.0:1322; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1323; GFX900-GISEL-NEXT:    v_max_f16_e64 v0, s16, s161324; GFX900-GISEL-NEXT:    v_max_f16_e64 v1, s17, s171325; GFX900-GISEL-NEXT:    v_max_f16_e32 v0, v0, v11326; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]1327;1328; GFX950-SDAG-LABEL: v_maximumnum_f16_s_s:1329; GFX950-SDAG:       ; %bb.0:1330; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1331; GFX950-SDAG-NEXT:    v_max_f16_e64 v0, s1, s11332; GFX950-SDAG-NEXT:    v_max_f16_e64 v1, s0, s01333; GFX950-SDAG-NEXT:    v_max_f16_e32 v0, v1, v01334; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]1335;1336; GFX950-GISEL-LABEL: v_maximumnum_f16_s_s:1337; GFX950-GISEL:       ; %bb.0:1338; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1339; GFX950-GISEL-NEXT:    v_max_f16_e64 v0, s0, s01340; GFX950-GISEL-NEXT:    v_max_f16_e64 v1, s1, s11341; GFX950-GISEL-NEXT:    v_max_f16_e32 v0, v0, v11342; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]1343;1344; GFX10-SDAG-LABEL: v_maximumnum_f16_s_s:1345; GFX10-SDAG:       ; %bb.0:1346; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1347; GFX10-SDAG-NEXT:    v_max_f16_e64 v0, s17, s171348; GFX10-SDAG-NEXT:    v_max_f16_e64 v1, s16, s161349; GFX10-SDAG-NEXT:    v_max_f16_e32 v0, v1, v01350; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]1351;1352; GFX10-GISEL-LABEL: v_maximumnum_f16_s_s:1353; GFX10-GISEL:       ; %bb.0:1354; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1355; GFX10-GISEL-NEXT:    v_max_f16_e64 v0, s16, s161356; GFX10-GISEL-NEXT:    v_max_f16_e64 v1, s17, s171357; GFX10-GISEL-NEXT:    v_max_f16_e32 v0, v0, v11358; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]1359;1360; GFX11-TRUE16-SDAG-LABEL: v_maximumnum_f16_s_s:1361; GFX11-TRUE16-SDAG:       ; %bb.0:1362; GFX11-TRUE16-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1363; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e64 v0.l, s1, s11364; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e64 v0.h, s0, s01365; GFX11-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1366; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e32 v0.l, v0.h, v0.l1367; GFX11-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]1368;1369; GFX11-TRUE16-GISEL-LABEL: v_maximumnum_f16_s_s:1370; GFX11-TRUE16-GISEL:       ; %bb.0:1371; GFX11-TRUE16-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1372; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e64 v0.l, s0, s01373; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e64 v0.h, s1, s11374; GFX11-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1375; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.h1376; GFX11-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]1377;1378; GFX11-FAKE16-SDAG-LABEL: v_maximumnum_f16_s_s:1379; GFX11-FAKE16-SDAG:       ; %bb.0:1380; GFX11-FAKE16-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1381; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e64 v0, s1, s11382; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e64 v1, s0, s01383; GFX11-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1384; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e32 v0, v1, v01385; GFX11-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]1386;1387; GFX11-FAKE16-GISEL-LABEL: v_maximumnum_f16_s_s:1388; GFX11-FAKE16-GISEL:       ; %bb.0:1389; GFX11-FAKE16-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1390; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e64 v0, s0, s01391; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e64 v1, s1, s11392; GFX11-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1393; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e32 v0, v0, v11394; GFX11-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]1395;1396; GFX12-TRUE16-SDAG-LABEL: v_maximumnum_f16_s_s:1397; GFX12-TRUE16-SDAG:       ; %bb.0:1398; GFX12-TRUE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x01399; GFX12-TRUE16-SDAG-NEXT:    s_wait_expcnt 0x01400; GFX12-TRUE16-SDAG-NEXT:    s_wait_samplecnt 0x01401; GFX12-TRUE16-SDAG-NEXT:    s_wait_bvhcnt 0x01402; GFX12-TRUE16-SDAG-NEXT:    s_wait_kmcnt 0x01403; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e64 v0.l, s1, s11404; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e64 v0.h, s0, s01405; GFX12-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1406; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.l, v0.h, v0.l1407; GFX12-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]1408;1409; GFX12-TRUE16-GISEL-LABEL: v_maximumnum_f16_s_s:1410; GFX12-TRUE16-GISEL:       ; %bb.0:1411; GFX12-TRUE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x01412; GFX12-TRUE16-GISEL-NEXT:    s_wait_expcnt 0x01413; GFX12-TRUE16-GISEL-NEXT:    s_wait_samplecnt 0x01414; GFX12-TRUE16-GISEL-NEXT:    s_wait_bvhcnt 0x01415; GFX12-TRUE16-GISEL-NEXT:    s_wait_kmcnt 0x01416; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e64 v0.l, s0, s01417; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e64 v0.h, s1, s11418; GFX12-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1419; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.h1420; GFX12-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]1421;1422; GFX12-FAKE16-SDAG-LABEL: v_maximumnum_f16_s_s:1423; GFX12-FAKE16-SDAG:       ; %bb.0:1424; GFX12-FAKE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x01425; GFX12-FAKE16-SDAG-NEXT:    s_wait_expcnt 0x01426; GFX12-FAKE16-SDAG-NEXT:    s_wait_samplecnt 0x01427; GFX12-FAKE16-SDAG-NEXT:    s_wait_bvhcnt 0x01428; GFX12-FAKE16-SDAG-NEXT:    s_wait_kmcnt 0x01429; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e64 v0, s1, s11430; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e64 v1, s0, s01431; GFX12-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1432; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v0, v1, v01433; GFX12-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]1434;1435; GFX12-FAKE16-GISEL-LABEL: v_maximumnum_f16_s_s:1436; GFX12-FAKE16-GISEL:       ; %bb.0:1437; GFX12-FAKE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x01438; GFX12-FAKE16-GISEL-NEXT:    s_wait_expcnt 0x01439; GFX12-FAKE16-GISEL-NEXT:    s_wait_samplecnt 0x01440; GFX12-FAKE16-GISEL-NEXT:    s_wait_bvhcnt 0x01441; GFX12-FAKE16-GISEL-NEXT:    s_wait_kmcnt 0x01442; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e64 v0, s0, s01443; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e64 v1, s1, s11444; GFX12-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1445; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v0, v0, v11446; GFX12-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]1447 %result = call half @llvm.maximumnum.f16(half %x, half %y)1448  ret half %result1449}1450 1451define float @v_maximumnum_f32_s_v(float inreg %x, float %y) {1452; GFX7-SDAG-LABEL: v_maximumnum_f32_s_v:1453; GFX7-SDAG:       ; %bb.0:1454; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1455; GFX7-SDAG-NEXT:    v_mul_f32_e32 v0, 1.0, v01456; GFX7-SDAG-NEXT:    v_mul_f32_e64 v1, 1.0, s161457; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v1, v01458; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]1459;1460; GFX7-GISEL-LABEL: v_maximumnum_f32_s_v:1461; GFX7-GISEL:       ; %bb.0:1462; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1463; GFX7-GISEL-NEXT:    v_mul_f32_e64 v1, 1.0, s161464; GFX7-GISEL-NEXT:    v_mul_f32_e32 v0, 1.0, v01465; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v1, v01466; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]1467;1468; GFX8-SDAG-LABEL: v_maximumnum_f32_s_v:1469; GFX8-SDAG:       ; %bb.0:1470; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1471; GFX8-SDAG-NEXT:    v_mul_f32_e32 v0, 1.0, v01472; GFX8-SDAG-NEXT:    v_mul_f32_e64 v1, 1.0, s161473; GFX8-SDAG-NEXT:    v_max_f32_e32 v0, v1, v01474; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]1475;1476; GFX8-GISEL-LABEL: v_maximumnum_f32_s_v:1477; GFX8-GISEL:       ; %bb.0:1478; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1479; GFX8-GISEL-NEXT:    v_mul_f32_e64 v1, 1.0, s161480; GFX8-GISEL-NEXT:    v_mul_f32_e32 v0, 1.0, v01481; GFX8-GISEL-NEXT:    v_max_f32_e32 v0, v1, v01482; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]1483;1484; GFX900-SDAG-LABEL: v_maximumnum_f32_s_v:1485; GFX900-SDAG:       ; %bb.0:1486; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1487; GFX900-SDAG-NEXT:    v_max_f32_e32 v0, v0, v01488; GFX900-SDAG-NEXT:    v_max_f32_e64 v1, s16, s161489; GFX900-SDAG-NEXT:    v_max_f32_e32 v0, v1, v01490; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]1491;1492; GFX900-GISEL-LABEL: v_maximumnum_f32_s_v:1493; GFX900-GISEL:       ; %bb.0:1494; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1495; GFX900-GISEL-NEXT:    v_max_f32_e64 v1, s16, s161496; GFX900-GISEL-NEXT:    v_max_f32_e32 v0, v0, v01497; GFX900-GISEL-NEXT:    v_max_f32_e32 v0, v1, v01498; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]1499;1500; GFX950-SDAG-LABEL: v_maximumnum_f32_s_v:1501; GFX950-SDAG:       ; %bb.0:1502; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1503; GFX950-SDAG-NEXT:    v_max_f32_e32 v0, v0, v01504; GFX950-SDAG-NEXT:    v_max_f32_e64 v1, s0, s01505; GFX950-SDAG-NEXT:    v_max_f32_e32 v0, v1, v01506; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]1507;1508; GFX950-GISEL-LABEL: v_maximumnum_f32_s_v:1509; GFX950-GISEL:       ; %bb.0:1510; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1511; GFX950-GISEL-NEXT:    v_max_f32_e64 v1, s0, s01512; GFX950-GISEL-NEXT:    v_max_f32_e32 v0, v0, v01513; GFX950-GISEL-NEXT:    v_max_f32_e32 v0, v1, v01514; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]1515;1516; GFX10-SDAG-LABEL: v_maximumnum_f32_s_v:1517; GFX10-SDAG:       ; %bb.0:1518; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1519; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v01520; GFX10-SDAG-NEXT:    v_max_f32_e64 v1, s16, s161521; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v1, v01522; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]1523;1524; GFX10-GISEL-LABEL: v_maximumnum_f32_s_v:1525; GFX10-GISEL:       ; %bb.0:1526; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1527; GFX10-GISEL-NEXT:    v_max_f32_e64 v1, s16, s161528; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v01529; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v1, v01530; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]1531;1532; GFX11-SDAG-LABEL: v_maximumnum_f32_s_v:1533; GFX11-SDAG:       ; %bb.0:1534; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1535; GFX11-SDAG-NEXT:    v_max_f32_e32 v0, v0, v01536; GFX11-SDAG-NEXT:    v_max_f32_e64 v1, s0, s01537; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1538; GFX11-SDAG-NEXT:    v_max_f32_e32 v0, v1, v01539; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]1540;1541; GFX11-GISEL-LABEL: v_maximumnum_f32_s_v:1542; GFX11-GISEL:       ; %bb.0:1543; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1544; GFX11-GISEL-NEXT:    v_max_f32_e64 v1, s0, s01545; GFX11-GISEL-NEXT:    v_max_f32_e32 v0, v0, v01546; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1547; GFX11-GISEL-NEXT:    v_max_f32_e32 v0, v1, v01548; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]1549;1550; GFX12-SDAG-LABEL: v_maximumnum_f32_s_v:1551; GFX12-SDAG:       ; %bb.0:1552; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x01553; GFX12-SDAG-NEXT:    s_wait_expcnt 0x01554; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x01555; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x01556; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x01557; GFX12-SDAG-NEXT:    v_max_num_f32_e32 v0, v0, v01558; GFX12-SDAG-NEXT:    v_max_num_f32_e64 v1, s0, s01559; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1560; GFX12-SDAG-NEXT:    v_max_num_f32_e32 v0, v1, v01561; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]1562;1563; GFX12-GISEL-LABEL: v_maximumnum_f32_s_v:1564; GFX12-GISEL:       ; %bb.0:1565; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x01566; GFX12-GISEL-NEXT:    s_wait_expcnt 0x01567; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x01568; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x01569; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x01570; GFX12-GISEL-NEXT:    v_max_num_f32_e64 v1, s0, s01571; GFX12-GISEL-NEXT:    v_max_num_f32_e32 v0, v0, v01572; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1573; GFX12-GISEL-NEXT:    v_max_num_f32_e32 v0, v1, v01574; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]1575 %result = call float @llvm.maximumnum.f32(float %x, float %y)1576  ret float %result1577}1578 1579define float @v_maximumnum_f32_v_s(float %x, float inreg %y) {1580; GFX7-SDAG-LABEL: v_maximumnum_f32_v_s:1581; GFX7-SDAG:       ; %bb.0:1582; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1583; GFX7-SDAG-NEXT:    v_mul_f32_e64 v1, 1.0, s161584; GFX7-SDAG-NEXT:    v_mul_f32_e32 v0, 1.0, v01585; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v11586; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]1587;1588; GFX7-GISEL-LABEL: v_maximumnum_f32_v_s:1589; GFX7-GISEL:       ; %bb.0:1590; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1591; GFX7-GISEL-NEXT:    v_mul_f32_e32 v0, 1.0, v01592; GFX7-GISEL-NEXT:    v_mul_f32_e64 v1, 1.0, s161593; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v11594; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]1595;1596; GFX8-SDAG-LABEL: v_maximumnum_f32_v_s:1597; GFX8-SDAG:       ; %bb.0:1598; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1599; GFX8-SDAG-NEXT:    v_mul_f32_e64 v1, 1.0, s161600; GFX8-SDAG-NEXT:    v_mul_f32_e32 v0, 1.0, v01601; GFX8-SDAG-NEXT:    v_max_f32_e32 v0, v0, v11602; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]1603;1604; GFX8-GISEL-LABEL: v_maximumnum_f32_v_s:1605; GFX8-GISEL:       ; %bb.0:1606; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1607; GFX8-GISEL-NEXT:    v_mul_f32_e32 v0, 1.0, v01608; GFX8-GISEL-NEXT:    v_mul_f32_e64 v1, 1.0, s161609; GFX8-GISEL-NEXT:    v_max_f32_e32 v0, v0, v11610; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]1611;1612; GFX900-SDAG-LABEL: v_maximumnum_f32_v_s:1613; GFX900-SDAG:       ; %bb.0:1614; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1615; GFX900-SDAG-NEXT:    v_max_f32_e64 v1, s16, s161616; GFX900-SDAG-NEXT:    v_max_f32_e32 v0, v0, v01617; GFX900-SDAG-NEXT:    v_max_f32_e32 v0, v0, v11618; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]1619;1620; GFX900-GISEL-LABEL: v_maximumnum_f32_v_s:1621; GFX900-GISEL:       ; %bb.0:1622; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1623; GFX900-GISEL-NEXT:    v_max_f32_e32 v0, v0, v01624; GFX900-GISEL-NEXT:    v_max_f32_e64 v1, s16, s161625; GFX900-GISEL-NEXT:    v_max_f32_e32 v0, v0, v11626; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]1627;1628; GFX950-SDAG-LABEL: v_maximumnum_f32_v_s:1629; GFX950-SDAG:       ; %bb.0:1630; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1631; GFX950-SDAG-NEXT:    v_max_f32_e64 v1, s0, s01632; GFX950-SDAG-NEXT:    v_max_f32_e32 v0, v0, v01633; GFX950-SDAG-NEXT:    v_max_f32_e32 v0, v0, v11634; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]1635;1636; GFX950-GISEL-LABEL: v_maximumnum_f32_v_s:1637; GFX950-GISEL:       ; %bb.0:1638; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1639; GFX950-GISEL-NEXT:    v_max_f32_e32 v0, v0, v01640; GFX950-GISEL-NEXT:    v_max_f32_e64 v1, s0, s01641; GFX950-GISEL-NEXT:    v_max_f32_e32 v0, v0, v11642; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]1643;1644; GFX10-SDAG-LABEL: v_maximumnum_f32_v_s:1645; GFX10-SDAG:       ; %bb.0:1646; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1647; GFX10-SDAG-NEXT:    v_max_f32_e64 v1, s16, s161648; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v01649; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v11650; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]1651;1652; GFX10-GISEL-LABEL: v_maximumnum_f32_v_s:1653; GFX10-GISEL:       ; %bb.0:1654; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1655; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v01656; GFX10-GISEL-NEXT:    v_max_f32_e64 v1, s16, s161657; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v11658; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]1659;1660; GFX11-SDAG-LABEL: v_maximumnum_f32_v_s:1661; GFX11-SDAG:       ; %bb.0:1662; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1663; GFX11-SDAG-NEXT:    v_max_f32_e64 v1, s0, s01664; GFX11-SDAG-NEXT:    v_max_f32_e32 v0, v0, v01665; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1666; GFX11-SDAG-NEXT:    v_max_f32_e32 v0, v0, v11667; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]1668;1669; GFX11-GISEL-LABEL: v_maximumnum_f32_v_s:1670; GFX11-GISEL:       ; %bb.0:1671; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1672; GFX11-GISEL-NEXT:    v_max_f32_e32 v0, v0, v01673; GFX11-GISEL-NEXT:    v_max_f32_e64 v1, s0, s01674; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1675; GFX11-GISEL-NEXT:    v_max_f32_e32 v0, v0, v11676; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]1677;1678; GFX12-SDAG-LABEL: v_maximumnum_f32_v_s:1679; GFX12-SDAG:       ; %bb.0:1680; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x01681; GFX12-SDAG-NEXT:    s_wait_expcnt 0x01682; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x01683; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x01684; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x01685; GFX12-SDAG-NEXT:    v_max_num_f32_e64 v1, s0, s01686; GFX12-SDAG-NEXT:    v_max_num_f32_e32 v0, v0, v01687; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1688; GFX12-SDAG-NEXT:    v_max_num_f32_e32 v0, v0, v11689; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]1690;1691; GFX12-GISEL-LABEL: v_maximumnum_f32_v_s:1692; GFX12-GISEL:       ; %bb.0:1693; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x01694; GFX12-GISEL-NEXT:    s_wait_expcnt 0x01695; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x01696; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x01697; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x01698; GFX12-GISEL-NEXT:    v_max_num_f32_e32 v0, v0, v01699; GFX12-GISEL-NEXT:    v_max_num_f32_e64 v1, s0, s01700; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1701; GFX12-GISEL-NEXT:    v_max_num_f32_e32 v0, v0, v11702; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]1703 %result = call float @llvm.maximumnum.f32(float %x, float %y)1704  ret float %result1705}1706 1707define float @v_maximumnum_f32_s_s(float inreg %x, float inreg %y) {1708; GFX7-SDAG-LABEL: v_maximumnum_f32_s_s:1709; GFX7-SDAG:       ; %bb.0:1710; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1711; GFX7-SDAG-NEXT:    v_mul_f32_e64 v0, 1.0, s171712; GFX7-SDAG-NEXT:    v_mul_f32_e64 v1, 1.0, s161713; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v1, v01714; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]1715;1716; GFX7-GISEL-LABEL: v_maximumnum_f32_s_s:1717; GFX7-GISEL:       ; %bb.0:1718; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1719; GFX7-GISEL-NEXT:    v_mul_f32_e64 v0, 1.0, s161720; GFX7-GISEL-NEXT:    v_mul_f32_e64 v1, 1.0, s171721; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v11722; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]1723;1724; GFX8-SDAG-LABEL: v_maximumnum_f32_s_s:1725; GFX8-SDAG:       ; %bb.0:1726; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1727; GFX8-SDAG-NEXT:    v_mul_f32_e64 v0, 1.0, s171728; GFX8-SDAG-NEXT:    v_mul_f32_e64 v1, 1.0, s161729; GFX8-SDAG-NEXT:    v_max_f32_e32 v0, v1, v01730; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]1731;1732; GFX8-GISEL-LABEL: v_maximumnum_f32_s_s:1733; GFX8-GISEL:       ; %bb.0:1734; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1735; GFX8-GISEL-NEXT:    v_mul_f32_e64 v0, 1.0, s161736; GFX8-GISEL-NEXT:    v_mul_f32_e64 v1, 1.0, s171737; GFX8-GISEL-NEXT:    v_max_f32_e32 v0, v0, v11738; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]1739;1740; GFX900-SDAG-LABEL: v_maximumnum_f32_s_s:1741; GFX900-SDAG:       ; %bb.0:1742; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1743; GFX900-SDAG-NEXT:    v_max_f32_e64 v0, s17, s171744; GFX900-SDAG-NEXT:    v_max_f32_e64 v1, s16, s161745; GFX900-SDAG-NEXT:    v_max_f32_e32 v0, v1, v01746; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]1747;1748; GFX900-GISEL-LABEL: v_maximumnum_f32_s_s:1749; GFX900-GISEL:       ; %bb.0:1750; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1751; GFX900-GISEL-NEXT:    v_max_f32_e64 v0, s16, s161752; GFX900-GISEL-NEXT:    v_max_f32_e64 v1, s17, s171753; GFX900-GISEL-NEXT:    v_max_f32_e32 v0, v0, v11754; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]1755;1756; GFX950-SDAG-LABEL: v_maximumnum_f32_s_s:1757; GFX950-SDAG:       ; %bb.0:1758; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1759; GFX950-SDAG-NEXT:    v_max_f32_e64 v0, s1, s11760; GFX950-SDAG-NEXT:    v_max_f32_e64 v1, s0, s01761; GFX950-SDAG-NEXT:    v_max_f32_e32 v0, v1, v01762; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]1763;1764; GFX950-GISEL-LABEL: v_maximumnum_f32_s_s:1765; GFX950-GISEL:       ; %bb.0:1766; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1767; GFX950-GISEL-NEXT:    v_max_f32_e64 v0, s0, s01768; GFX950-GISEL-NEXT:    v_max_f32_e64 v1, s1, s11769; GFX950-GISEL-NEXT:    v_max_f32_e32 v0, v0, v11770; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]1771;1772; GFX10-SDAG-LABEL: v_maximumnum_f32_s_s:1773; GFX10-SDAG:       ; %bb.0:1774; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1775; GFX10-SDAG-NEXT:    v_max_f32_e64 v0, s17, s171776; GFX10-SDAG-NEXT:    v_max_f32_e64 v1, s16, s161777; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v1, v01778; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]1779;1780; GFX10-GISEL-LABEL: v_maximumnum_f32_s_s:1781; GFX10-GISEL:       ; %bb.0:1782; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1783; GFX10-GISEL-NEXT:    v_max_f32_e64 v0, s16, s161784; GFX10-GISEL-NEXT:    v_max_f32_e64 v1, s17, s171785; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v11786; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]1787;1788; GFX11-SDAG-LABEL: v_maximumnum_f32_s_s:1789; GFX11-SDAG:       ; %bb.0:1790; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1791; GFX11-SDAG-NEXT:    v_max_f32_e64 v0, s1, s11792; GFX11-SDAG-NEXT:    v_max_f32_e64 v1, s0, s01793; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1794; GFX11-SDAG-NEXT:    v_max_f32_e32 v0, v1, v01795; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]1796;1797; GFX11-GISEL-LABEL: v_maximumnum_f32_s_s:1798; GFX11-GISEL:       ; %bb.0:1799; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1800; GFX11-GISEL-NEXT:    v_max_f32_e64 v0, s0, s01801; GFX11-GISEL-NEXT:    v_max_f32_e64 v1, s1, s11802; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1803; GFX11-GISEL-NEXT:    v_max_f32_e32 v0, v0, v11804; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]1805;1806; GFX12-SDAG-LABEL: v_maximumnum_f32_s_s:1807; GFX12-SDAG:       ; %bb.0:1808; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x01809; GFX12-SDAG-NEXT:    s_wait_expcnt 0x01810; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x01811; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x01812; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x01813; GFX12-SDAG-NEXT:    v_max_num_f32_e64 v0, s1, s11814; GFX12-SDAG-NEXT:    v_max_num_f32_e64 v1, s0, s01815; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)1816; GFX12-SDAG-NEXT:    v_max_num_f32_e32 v0, v1, v01817; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]1818;1819; GFX12-GISEL-LABEL: v_maximumnum_f32_s_s:1820; GFX12-GISEL:       ; %bb.0:1821; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x01822; GFX12-GISEL-NEXT:    s_wait_expcnt 0x01823; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x01824; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x01825; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x01826; GFX12-GISEL-NEXT:    v_max_num_f32_e64 v0, s0, s01827; GFX12-GISEL-NEXT:    v_max_num_f32_e64 v1, s1, s11828; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)1829; GFX12-GISEL-NEXT:    v_max_num_f32_e32 v0, v0, v11830; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]1831 %result = call float @llvm.maximumnum.f32(float %x, float %y)1832  ret float %result1833}1834 1835define double @v_maximumnum_f64_s_v(double inreg %x, double %y) {1836; GFX7-SDAG-LABEL: v_maximumnum_f64_s_v:1837; GFX7-SDAG:       ; %bb.0:1838; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1839; GFX7-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1840; GFX7-SDAG-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]1841; GFX7-SDAG-NEXT:    v_max_f64 v[0:1], v[2:3], v[0:1]1842; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]1843;1844; GFX7-GISEL-LABEL: v_maximumnum_f64_s_v:1845; GFX7-GISEL:       ; %bb.0:1846; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1847; GFX7-GISEL-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]1848; GFX7-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1849; GFX7-GISEL-NEXT:    v_max_f64 v[0:1], v[2:3], v[0:1]1850; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]1851;1852; GFX8-SDAG-LABEL: v_maximumnum_f64_s_v:1853; GFX8-SDAG:       ; %bb.0:1854; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1855; GFX8-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1856; GFX8-SDAG-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]1857; GFX8-SDAG-NEXT:    v_max_f64 v[0:1], v[2:3], v[0:1]1858; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]1859;1860; GFX8-GISEL-LABEL: v_maximumnum_f64_s_v:1861; GFX8-GISEL:       ; %bb.0:1862; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1863; GFX8-GISEL-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]1864; GFX8-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1865; GFX8-GISEL-NEXT:    v_max_f64 v[0:1], v[2:3], v[0:1]1866; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]1867;1868; GFX900-SDAG-LABEL: v_maximumnum_f64_s_v:1869; GFX900-SDAG:       ; %bb.0:1870; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1871; GFX900-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1872; GFX900-SDAG-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]1873; GFX900-SDAG-NEXT:    v_max_f64 v[0:1], v[2:3], v[0:1]1874; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]1875;1876; GFX900-GISEL-LABEL: v_maximumnum_f64_s_v:1877; GFX900-GISEL:       ; %bb.0:1878; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1879; GFX900-GISEL-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]1880; GFX900-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1881; GFX900-GISEL-NEXT:    v_max_f64 v[0:1], v[2:3], v[0:1]1882; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]1883;1884; GFX950-SDAG-LABEL: v_maximumnum_f64_s_v:1885; GFX950-SDAG:       ; %bb.0:1886; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1887; GFX950-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1888; GFX950-SDAG-NEXT:    v_max_f64 v[2:3], s[0:1], s[0:1]1889; GFX950-SDAG-NEXT:    v_max_f64 v[0:1], v[2:3], v[0:1]1890; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]1891;1892; GFX950-GISEL-LABEL: v_maximumnum_f64_s_v:1893; GFX950-GISEL:       ; %bb.0:1894; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1895; GFX950-GISEL-NEXT:    v_max_f64 v[2:3], s[0:1], s[0:1]1896; GFX950-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1897; GFX950-GISEL-NEXT:    v_max_f64 v[0:1], v[2:3], v[0:1]1898; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]1899;1900; GFX10-LABEL: v_maximumnum_f64_s_v:1901; GFX10:       ; %bb.0:1902; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1903; GFX10-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]1904; GFX10-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1905; GFX10-NEXT:    v_max_f64 v[0:1], v[2:3], v[0:1]1906; GFX10-NEXT:    s_setpc_b64 s[30:31]1907;1908; GFX11-LABEL: v_maximumnum_f64_s_v:1909; GFX11:       ; %bb.0:1910; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1911; GFX11-NEXT:    v_max_f64 v[2:3], s[0:1], s[0:1]1912; GFX11-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1913; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_1)1914; GFX11-NEXT:    v_max_f64 v[0:1], v[2:3], v[0:1]1915; GFX11-NEXT:    s_setpc_b64 s[30:31]1916;1917; GFX12-LABEL: v_maximumnum_f64_s_v:1918; GFX12:       ; %bb.0:1919; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x01920; GFX12-NEXT:    s_wait_expcnt 0x01921; GFX12-NEXT:    s_wait_samplecnt 0x01922; GFX12-NEXT:    s_wait_bvhcnt 0x01923; GFX12-NEXT:    s_wait_kmcnt 0x01924; GFX12-NEXT:    v_max_num_f64_e64 v[2:3], s[0:1], s[0:1]1925; GFX12-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[0:1]1926; GFX12-NEXT:    s_delay_alu instid0(VALU_DEP_1)1927; GFX12-NEXT:    v_max_num_f64_e32 v[0:1], v[2:3], v[0:1]1928; GFX12-NEXT:    s_setpc_b64 s[30:31]1929 %result = call double @llvm.maximumnum.f64(double %x, double %y)1930  ret double %result1931}1932 1933define double @v_maximumnum_f64_v_s(double %x, double inreg %y) {1934; GFX7-SDAG-LABEL: v_maximumnum_f64_v_s:1935; GFX7-SDAG:       ; %bb.0:1936; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1937; GFX7-SDAG-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]1938; GFX7-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1939; GFX7-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]1940; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]1941;1942; GFX7-GISEL-LABEL: v_maximumnum_f64_v_s:1943; GFX7-GISEL:       ; %bb.0:1944; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1945; GFX7-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1946; GFX7-GISEL-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]1947; GFX7-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]1948; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]1949;1950; GFX8-SDAG-LABEL: v_maximumnum_f64_v_s:1951; GFX8-SDAG:       ; %bb.0:1952; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1953; GFX8-SDAG-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]1954; GFX8-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1955; GFX8-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]1956; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]1957;1958; GFX8-GISEL-LABEL: v_maximumnum_f64_v_s:1959; GFX8-GISEL:       ; %bb.0:1960; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1961; GFX8-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1962; GFX8-GISEL-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]1963; GFX8-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]1964; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]1965;1966; GFX900-SDAG-LABEL: v_maximumnum_f64_v_s:1967; GFX900-SDAG:       ; %bb.0:1968; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1969; GFX900-SDAG-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]1970; GFX900-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1971; GFX900-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]1972; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]1973;1974; GFX900-GISEL-LABEL: v_maximumnum_f64_v_s:1975; GFX900-GISEL:       ; %bb.0:1976; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1977; GFX900-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1978; GFX900-GISEL-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]1979; GFX900-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]1980; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]1981;1982; GFX950-SDAG-LABEL: v_maximumnum_f64_v_s:1983; GFX950-SDAG:       ; %bb.0:1984; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1985; GFX950-SDAG-NEXT:    v_max_f64 v[2:3], s[0:1], s[0:1]1986; GFX950-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1987; GFX950-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]1988; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]1989;1990; GFX950-GISEL-LABEL: v_maximumnum_f64_v_s:1991; GFX950-GISEL:       ; %bb.0:1992; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1993; GFX950-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]1994; GFX950-GISEL-NEXT:    v_max_f64 v[2:3], s[0:1], s[0:1]1995; GFX950-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]1996; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]1997;1998; GFX10-LABEL: v_maximumnum_f64_v_s:1999; GFX10:       ; %bb.0:2000; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2001; GFX10-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]2002; GFX10-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]2003; GFX10-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]2004; GFX10-NEXT:    s_setpc_b64 s[30:31]2005;2006; GFX11-LABEL: v_maximumnum_f64_v_s:2007; GFX11:       ; %bb.0:2008; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2009; GFX11-NEXT:    v_max_f64 v[2:3], s[0:1], s[0:1]2010; GFX11-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]2011; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_1)2012; GFX11-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]2013; GFX11-NEXT:    s_setpc_b64 s[30:31]2014;2015; GFX12-LABEL: v_maximumnum_f64_v_s:2016; GFX12:       ; %bb.0:2017; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x02018; GFX12-NEXT:    s_wait_expcnt 0x02019; GFX12-NEXT:    s_wait_samplecnt 0x02020; GFX12-NEXT:    s_wait_bvhcnt 0x02021; GFX12-NEXT:    s_wait_kmcnt 0x02022; GFX12-NEXT:    v_max_num_f64_e64 v[2:3], s[0:1], s[0:1]2023; GFX12-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[0:1]2024; GFX12-NEXT:    s_delay_alu instid0(VALU_DEP_1)2025; GFX12-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[2:3]2026; GFX12-NEXT:    s_setpc_b64 s[30:31]2027 %result = call double @llvm.maximumnum.f64(double %x, double %y)2028  ret double %result2029}2030 2031define double @v_maximumnum_f64_s_s(double inreg %x, double inreg %y) {2032; GFX7-SDAG-LABEL: v_maximumnum_f64_s_s:2033; GFX7-SDAG:       ; %bb.0:2034; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2035; GFX7-SDAG-NEXT:    v_max_f64 v[0:1], s[18:19], s[18:19]2036; GFX7-SDAG-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]2037; GFX7-SDAG-NEXT:    v_max_f64 v[0:1], v[2:3], v[0:1]2038; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]2039;2040; GFX7-GISEL-LABEL: v_maximumnum_f64_s_s:2041; GFX7-GISEL:       ; %bb.0:2042; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2043; GFX7-GISEL-NEXT:    v_max_f64 v[0:1], s[16:17], s[16:17]2044; GFX7-GISEL-NEXT:    v_max_f64 v[2:3], s[18:19], s[18:19]2045; GFX7-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]2046; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]2047;2048; GFX8-SDAG-LABEL: v_maximumnum_f64_s_s:2049; GFX8-SDAG:       ; %bb.0:2050; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2051; GFX8-SDAG-NEXT:    v_max_f64 v[0:1], s[18:19], s[18:19]2052; GFX8-SDAG-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]2053; GFX8-SDAG-NEXT:    v_max_f64 v[0:1], v[2:3], v[0:1]2054; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]2055;2056; GFX8-GISEL-LABEL: v_maximumnum_f64_s_s:2057; GFX8-GISEL:       ; %bb.0:2058; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2059; GFX8-GISEL-NEXT:    v_max_f64 v[0:1], s[16:17], s[16:17]2060; GFX8-GISEL-NEXT:    v_max_f64 v[2:3], s[18:19], s[18:19]2061; GFX8-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]2062; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]2063;2064; GFX900-SDAG-LABEL: v_maximumnum_f64_s_s:2065; GFX900-SDAG:       ; %bb.0:2066; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2067; GFX900-SDAG-NEXT:    v_max_f64 v[0:1], s[18:19], s[18:19]2068; GFX900-SDAG-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]2069; GFX900-SDAG-NEXT:    v_max_f64 v[0:1], v[2:3], v[0:1]2070; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]2071;2072; GFX900-GISEL-LABEL: v_maximumnum_f64_s_s:2073; GFX900-GISEL:       ; %bb.0:2074; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2075; GFX900-GISEL-NEXT:    v_max_f64 v[0:1], s[16:17], s[16:17]2076; GFX900-GISEL-NEXT:    v_max_f64 v[2:3], s[18:19], s[18:19]2077; GFX900-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]2078; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]2079;2080; GFX950-SDAG-LABEL: v_maximumnum_f64_s_s:2081; GFX950-SDAG:       ; %bb.0:2082; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2083; GFX950-SDAG-NEXT:    v_max_f64 v[0:1], s[2:3], s[2:3]2084; GFX950-SDAG-NEXT:    v_max_f64 v[2:3], s[0:1], s[0:1]2085; GFX950-SDAG-NEXT:    v_max_f64 v[0:1], v[2:3], v[0:1]2086; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]2087;2088; GFX950-GISEL-LABEL: v_maximumnum_f64_s_s:2089; GFX950-GISEL:       ; %bb.0:2090; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2091; GFX950-GISEL-NEXT:    v_max_f64 v[0:1], s[0:1], s[0:1]2092; GFX950-GISEL-NEXT:    v_max_f64 v[2:3], s[2:3], s[2:3]2093; GFX950-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]2094; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]2095;2096; GFX10-SDAG-LABEL: v_maximumnum_f64_s_s:2097; GFX10-SDAG:       ; %bb.0:2098; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2099; GFX10-SDAG-NEXT:    v_max_f64 v[0:1], s[18:19], s[18:19]2100; GFX10-SDAG-NEXT:    v_max_f64 v[2:3], s[16:17], s[16:17]2101; GFX10-SDAG-NEXT:    v_max_f64 v[0:1], v[2:3], v[0:1]2102; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]2103;2104; GFX10-GISEL-LABEL: v_maximumnum_f64_s_s:2105; GFX10-GISEL:       ; %bb.0:2106; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2107; GFX10-GISEL-NEXT:    v_max_f64 v[0:1], s[16:17], s[16:17]2108; GFX10-GISEL-NEXT:    v_max_f64 v[2:3], s[18:19], s[18:19]2109; GFX10-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]2110; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]2111;2112; GFX11-SDAG-LABEL: v_maximumnum_f64_s_s:2113; GFX11-SDAG:       ; %bb.0:2114; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2115; GFX11-SDAG-NEXT:    v_max_f64 v[0:1], s[2:3], s[2:3]2116; GFX11-SDAG-NEXT:    v_max_f64 v[2:3], s[0:1], s[0:1]2117; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2118; GFX11-SDAG-NEXT:    v_max_f64 v[0:1], v[2:3], v[0:1]2119; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]2120;2121; GFX11-GISEL-LABEL: v_maximumnum_f64_s_s:2122; GFX11-GISEL:       ; %bb.0:2123; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2124; GFX11-GISEL-NEXT:    v_max_f64 v[0:1], s[0:1], s[0:1]2125; GFX11-GISEL-NEXT:    v_max_f64 v[2:3], s[2:3], s[2:3]2126; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2127; GFX11-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]2128; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]2129;2130; GFX12-SDAG-LABEL: v_maximumnum_f64_s_s:2131; GFX12-SDAG:       ; %bb.0:2132; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x02133; GFX12-SDAG-NEXT:    s_wait_expcnt 0x02134; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x02135; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x02136; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x02137; GFX12-SDAG-NEXT:    v_max_num_f64_e64 v[0:1], s[2:3], s[2:3]2138; GFX12-SDAG-NEXT:    v_max_num_f64_e64 v[2:3], s[0:1], s[0:1]2139; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2140; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[0:1], v[2:3], v[0:1]2141; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]2142;2143; GFX12-GISEL-LABEL: v_maximumnum_f64_s_s:2144; GFX12-GISEL:       ; %bb.0:2145; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x02146; GFX12-GISEL-NEXT:    s_wait_expcnt 0x02147; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x02148; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x02149; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x02150; GFX12-GISEL-NEXT:    v_max_num_f64_e64 v[0:1], s[0:1], s[0:1]2151; GFX12-GISEL-NEXT:    v_max_num_f64_e64 v[2:3], s[2:3], s[2:3]2152; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2153; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[2:3]2154; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]2155 %result = call double @llvm.maximumnum.f64(double %x, double %y)2156  ret double %result2157}2158 2159define float @v_maximumnum_f32_fabs_rhs(float %x, float %y) {2160; GFX7-SDAG-LABEL: v_maximumnum_f32_fabs_rhs:2161; GFX7-SDAG:       ; %bb.0:2162; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2163; GFX7-SDAG-NEXT:    v_mul_f32_e64 v1, 1.0, |v1|2164; GFX7-SDAG-NEXT:    v_mul_f32_e32 v0, 1.0, v02165; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12166; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]2167;2168; GFX7-GISEL-LABEL: v_maximumnum_f32_fabs_rhs:2169; GFX7-GISEL:       ; %bb.0:2170; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2171; GFX7-GISEL-NEXT:    v_mul_f32_e32 v0, 1.0, v02172; GFX7-GISEL-NEXT:    v_mul_f32_e64 v1, 1.0, |v1|2173; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12174; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]2175;2176; GFX8-SDAG-LABEL: v_maximumnum_f32_fabs_rhs:2177; GFX8-SDAG:       ; %bb.0:2178; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2179; GFX8-SDAG-NEXT:    v_mul_f32_e64 v1, 1.0, |v1|2180; GFX8-SDAG-NEXT:    v_mul_f32_e32 v0, 1.0, v02181; GFX8-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12182; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]2183;2184; GFX8-GISEL-LABEL: v_maximumnum_f32_fabs_rhs:2185; GFX8-GISEL:       ; %bb.0:2186; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2187; GFX8-GISEL-NEXT:    v_mul_f32_e32 v0, 1.0, v02188; GFX8-GISEL-NEXT:    v_mul_f32_e64 v1, 1.0, |v1|2189; GFX8-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12190; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]2191;2192; GFX9-SDAG-LABEL: v_maximumnum_f32_fabs_rhs:2193; GFX9-SDAG:       ; %bb.0:2194; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2195; GFX9-SDAG-NEXT:    v_max_f32_e64 v1, |v1|, |v1|2196; GFX9-SDAG-NEXT:    v_max_f32_e32 v0, v0, v02197; GFX9-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12198; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]2199;2200; GFX9-GISEL-LABEL: v_maximumnum_f32_fabs_rhs:2201; GFX9-GISEL:       ; %bb.0:2202; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2203; GFX9-GISEL-NEXT:    v_max_f32_e32 v0, v0, v02204; GFX9-GISEL-NEXT:    v_max_f32_e64 v1, |v1|, |v1|2205; GFX9-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12206; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]2207;2208; GFX10-SDAG-LABEL: v_maximumnum_f32_fabs_rhs:2209; GFX10-SDAG:       ; %bb.0:2210; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2211; GFX10-SDAG-NEXT:    v_max_f32_e64 v1, |v1|, |v1|2212; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v02213; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12214; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]2215;2216; GFX10-GISEL-LABEL: v_maximumnum_f32_fabs_rhs:2217; GFX10-GISEL:       ; %bb.0:2218; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2219; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v02220; GFX10-GISEL-NEXT:    v_max_f32_e64 v1, |v1|, |v1|2221; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12222; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]2223;2224; GFX11-SDAG-LABEL: v_maximumnum_f32_fabs_rhs:2225; GFX11-SDAG:       ; %bb.0:2226; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2227; GFX11-SDAG-NEXT:    v_max_f32_e64 v1, |v1|, |v1|2228; GFX11-SDAG-NEXT:    v_max_f32_e32 v0, v0, v02229; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2230; GFX11-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12231; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]2232;2233; GFX11-GISEL-LABEL: v_maximumnum_f32_fabs_rhs:2234; GFX11-GISEL:       ; %bb.0:2235; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2236; GFX11-GISEL-NEXT:    v_max_f32_e32 v0, v0, v02237; GFX11-GISEL-NEXT:    v_max_f32_e64 v1, |v1|, |v1|2238; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2239; GFX11-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12240; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]2241;2242; GFX12-SDAG-LABEL: v_maximumnum_f32_fabs_rhs:2243; GFX12-SDAG:       ; %bb.0:2244; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x02245; GFX12-SDAG-NEXT:    s_wait_expcnt 0x02246; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x02247; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x02248; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x02249; GFX12-SDAG-NEXT:    v_max_num_f32_e64 v1, |v1|, |v1|2250; GFX12-SDAG-NEXT:    v_max_num_f32_e32 v0, v0, v02251; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2252; GFX12-SDAG-NEXT:    v_max_num_f32_e32 v0, v0, v12253; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]2254;2255; GFX12-GISEL-LABEL: v_maximumnum_f32_fabs_rhs:2256; GFX12-GISEL:       ; %bb.0:2257; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x02258; GFX12-GISEL-NEXT:    s_wait_expcnt 0x02259; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x02260; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x02261; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x02262; GFX12-GISEL-NEXT:    v_max_num_f32_e32 v0, v0, v02263; GFX12-GISEL-NEXT:    v_max_num_f32_e64 v1, |v1|, |v1|2264; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2265; GFX12-GISEL-NEXT:    v_max_num_f32_e32 v0, v0, v12266; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]2267  %fabs.y = call float @llvm.fabs.f32(float %y)2268  %result = call float @llvm.maximumnum.f32(float %x, float %fabs.y)2269  ret float %result2270}2271 2272define float @v_maximumnum_f32_fneg_fabs_rhs(float %x, float %y) {2273; GFX7-SDAG-LABEL: v_maximumnum_f32_fneg_fabs_rhs:2274; GFX7-SDAG:       ; %bb.0:2275; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2276; GFX7-SDAG-NEXT:    v_mul_f32_e64 v1, -1.0, |v1|2277; GFX7-SDAG-NEXT:    v_mul_f32_e32 v0, 1.0, v02278; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12279; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]2280;2281; GFX7-GISEL-LABEL: v_maximumnum_f32_fneg_fabs_rhs:2282; GFX7-GISEL:       ; %bb.0:2283; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2284; GFX7-GISEL-NEXT:    v_mul_f32_e32 v0, 1.0, v02285; GFX7-GISEL-NEXT:    v_mul_f32_e64 v1, -1.0, |v1|2286; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12287; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]2288;2289; GFX8-SDAG-LABEL: v_maximumnum_f32_fneg_fabs_rhs:2290; GFX8-SDAG:       ; %bb.0:2291; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2292; GFX8-SDAG-NEXT:    v_mul_f32_e64 v1, -1.0, |v1|2293; GFX8-SDAG-NEXT:    v_mul_f32_e32 v0, 1.0, v02294; GFX8-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12295; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]2296;2297; GFX8-GISEL-LABEL: v_maximumnum_f32_fneg_fabs_rhs:2298; GFX8-GISEL:       ; %bb.0:2299; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2300; GFX8-GISEL-NEXT:    v_mul_f32_e32 v0, 1.0, v02301; GFX8-GISEL-NEXT:    v_mul_f32_e64 v1, -1.0, |v1|2302; GFX8-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12303; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]2304;2305; GFX9-SDAG-LABEL: v_maximumnum_f32_fneg_fabs_rhs:2306; GFX9-SDAG:       ; %bb.0:2307; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2308; GFX9-SDAG-NEXT:    v_max_f32_e64 v1, -|v1|, -|v1|2309; GFX9-SDAG-NEXT:    v_max_f32_e32 v0, v0, v02310; GFX9-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12311; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]2312;2313; GFX9-GISEL-LABEL: v_maximumnum_f32_fneg_fabs_rhs:2314; GFX9-GISEL:       ; %bb.0:2315; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2316; GFX9-GISEL-NEXT:    v_max_f32_e32 v0, v0, v02317; GFX9-GISEL-NEXT:    v_max_f32_e64 v1, -|v1|, -|v1|2318; GFX9-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12319; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]2320;2321; GFX10-SDAG-LABEL: v_maximumnum_f32_fneg_fabs_rhs:2322; GFX10-SDAG:       ; %bb.0:2323; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2324; GFX10-SDAG-NEXT:    v_max_f32_e64 v1, -|v1|, -|v1|2325; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v02326; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12327; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]2328;2329; GFX10-GISEL-LABEL: v_maximumnum_f32_fneg_fabs_rhs:2330; GFX10-GISEL:       ; %bb.0:2331; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2332; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v02333; GFX10-GISEL-NEXT:    v_max_f32_e64 v1, -|v1|, -|v1|2334; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12335; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]2336;2337; GFX11-SDAG-LABEL: v_maximumnum_f32_fneg_fabs_rhs:2338; GFX11-SDAG:       ; %bb.0:2339; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2340; GFX11-SDAG-NEXT:    v_max_f32_e64 v1, -|v1|, -|v1|2341; GFX11-SDAG-NEXT:    v_max_f32_e32 v0, v0, v02342; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2343; GFX11-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12344; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]2345;2346; GFX11-GISEL-LABEL: v_maximumnum_f32_fneg_fabs_rhs:2347; GFX11-GISEL:       ; %bb.0:2348; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2349; GFX11-GISEL-NEXT:    v_max_f32_e32 v0, v0, v02350; GFX11-GISEL-NEXT:    v_max_f32_e64 v1, -|v1|, -|v1|2351; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2352; GFX11-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12353; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]2354;2355; GFX12-SDAG-LABEL: v_maximumnum_f32_fneg_fabs_rhs:2356; GFX12-SDAG:       ; %bb.0:2357; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x02358; GFX12-SDAG-NEXT:    s_wait_expcnt 0x02359; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x02360; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x02361; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x02362; GFX12-SDAG-NEXT:    v_max_num_f32_e64 v1, -|v1|, -|v1|2363; GFX12-SDAG-NEXT:    v_max_num_f32_e32 v0, v0, v02364; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2365; GFX12-SDAG-NEXT:    v_max_num_f32_e32 v0, v0, v12366; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]2367;2368; GFX12-GISEL-LABEL: v_maximumnum_f32_fneg_fabs_rhs:2369; GFX12-GISEL:       ; %bb.0:2370; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x02371; GFX12-GISEL-NEXT:    s_wait_expcnt 0x02372; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x02373; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x02374; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x02375; GFX12-GISEL-NEXT:    v_max_num_f32_e32 v0, v0, v02376; GFX12-GISEL-NEXT:    v_max_num_f32_e64 v1, -|v1|, -|v1|2377; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2378; GFX12-GISEL-NEXT:    v_max_num_f32_e32 v0, v0, v12379; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]2380  %fabs.y = call float @llvm.fabs.f32(float %y)2381  %fneg.fabs.y = fneg float %fabs.y2382  %result = call float @llvm.maximumnum.f32(float %x, float %fneg.fabs.y)2383  ret float %result2384}2385 2386define float @v_maximumnum_f32_fabs(float %x, float %y) {2387; GFX7-SDAG-LABEL: v_maximumnum_f32_fabs:2388; GFX7-SDAG:       ; %bb.0:2389; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2390; GFX7-SDAG-NEXT:    v_mul_f32_e64 v1, 1.0, |v1|2391; GFX7-SDAG-NEXT:    v_mul_f32_e64 v0, 1.0, |v0|2392; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12393; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]2394;2395; GFX7-GISEL-LABEL: v_maximumnum_f32_fabs:2396; GFX7-GISEL:       ; %bb.0:2397; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2398; GFX7-GISEL-NEXT:    v_mul_f32_e64 v0, 1.0, |v0|2399; GFX7-GISEL-NEXT:    v_mul_f32_e64 v1, 1.0, |v1|2400; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12401; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]2402;2403; GFX8-SDAG-LABEL: v_maximumnum_f32_fabs:2404; GFX8-SDAG:       ; %bb.0:2405; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2406; GFX8-SDAG-NEXT:    v_mul_f32_e64 v1, 1.0, |v1|2407; GFX8-SDAG-NEXT:    v_mul_f32_e64 v0, 1.0, |v0|2408; GFX8-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12409; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]2410;2411; GFX8-GISEL-LABEL: v_maximumnum_f32_fabs:2412; GFX8-GISEL:       ; %bb.0:2413; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2414; GFX8-GISEL-NEXT:    v_mul_f32_e64 v0, 1.0, |v0|2415; GFX8-GISEL-NEXT:    v_mul_f32_e64 v1, 1.0, |v1|2416; GFX8-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12417; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]2418;2419; GFX9-SDAG-LABEL: v_maximumnum_f32_fabs:2420; GFX9-SDAG:       ; %bb.0:2421; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2422; GFX9-SDAG-NEXT:    v_max_f32_e64 v1, |v1|, |v1|2423; GFX9-SDAG-NEXT:    v_max_f32_e64 v0, |v0|, |v0|2424; GFX9-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12425; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]2426;2427; GFX9-GISEL-LABEL: v_maximumnum_f32_fabs:2428; GFX9-GISEL:       ; %bb.0:2429; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2430; GFX9-GISEL-NEXT:    v_max_f32_e64 v0, |v0|, |v0|2431; GFX9-GISEL-NEXT:    v_max_f32_e64 v1, |v1|, |v1|2432; GFX9-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12433; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]2434;2435; GFX10-SDAG-LABEL: v_maximumnum_f32_fabs:2436; GFX10-SDAG:       ; %bb.0:2437; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2438; GFX10-SDAG-NEXT:    v_max_f32_e64 v1, |v1|, |v1|2439; GFX10-SDAG-NEXT:    v_max_f32_e64 v0, |v0|, |v0|2440; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12441; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]2442;2443; GFX10-GISEL-LABEL: v_maximumnum_f32_fabs:2444; GFX10-GISEL:       ; %bb.0:2445; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2446; GFX10-GISEL-NEXT:    v_max_f32_e64 v0, |v0|, |v0|2447; GFX10-GISEL-NEXT:    v_max_f32_e64 v1, |v1|, |v1|2448; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12449; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]2450;2451; GFX11-SDAG-LABEL: v_maximumnum_f32_fabs:2452; GFX11-SDAG:       ; %bb.0:2453; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2454; GFX11-SDAG-NEXT:    v_max_f32_e64 v1, |v1|, |v1|2455; GFX11-SDAG-NEXT:    v_max_f32_e64 v0, |v0|, |v0|2456; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2457; GFX11-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12458; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]2459;2460; GFX11-GISEL-LABEL: v_maximumnum_f32_fabs:2461; GFX11-GISEL:       ; %bb.0:2462; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2463; GFX11-GISEL-NEXT:    v_max_f32_e64 v0, |v0|, |v0|2464; GFX11-GISEL-NEXT:    v_max_f32_e64 v1, |v1|, |v1|2465; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2466; GFX11-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12467; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]2468;2469; GFX12-SDAG-LABEL: v_maximumnum_f32_fabs:2470; GFX12-SDAG:       ; %bb.0:2471; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x02472; GFX12-SDAG-NEXT:    s_wait_expcnt 0x02473; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x02474; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x02475; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x02476; GFX12-SDAG-NEXT:    v_max_num_f32_e64 v1, |v1|, |v1|2477; GFX12-SDAG-NEXT:    v_max_num_f32_e64 v0, |v0|, |v0|2478; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2479; GFX12-SDAG-NEXT:    v_max_num_f32_e32 v0, v0, v12480; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]2481;2482; GFX12-GISEL-LABEL: v_maximumnum_f32_fabs:2483; GFX12-GISEL:       ; %bb.0:2484; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x02485; GFX12-GISEL-NEXT:    s_wait_expcnt 0x02486; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x02487; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x02488; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x02489; GFX12-GISEL-NEXT:    v_max_num_f32_e64 v0, |v0|, |v0|2490; GFX12-GISEL-NEXT:    v_max_num_f32_e64 v1, |v1|, |v1|2491; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2492; GFX12-GISEL-NEXT:    v_max_num_f32_e32 v0, v0, v12493; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]2494  %fabs.x = call float @llvm.fabs.f32(float %x)2495  %fabs.y = call float @llvm.fabs.f32(float %y)2496  %result = call float @llvm.maximumnum.f32(float %fabs.x, float %fabs.y)2497  ret float %result2498}2499 2500define float @v_maximumnum_f32_fneg(float %x, float %y) {2501; GFX7-SDAG-LABEL: v_maximumnum_f32_fneg:2502; GFX7-SDAG:       ; %bb.0:2503; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2504; GFX7-SDAG-NEXT:    v_mul_f32_e32 v1, -1.0, v12505; GFX7-SDAG-NEXT:    v_mul_f32_e32 v0, -1.0, v02506; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12507; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]2508;2509; GFX7-GISEL-LABEL: v_maximumnum_f32_fneg:2510; GFX7-GISEL:       ; %bb.0:2511; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2512; GFX7-GISEL-NEXT:    v_mul_f32_e32 v0, -1.0, v02513; GFX7-GISEL-NEXT:    v_mul_f32_e32 v1, -1.0, v12514; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12515; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]2516;2517; GFX8-SDAG-LABEL: v_maximumnum_f32_fneg:2518; GFX8-SDAG:       ; %bb.0:2519; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2520; GFX8-SDAG-NEXT:    v_mul_f32_e32 v1, -1.0, v12521; GFX8-SDAG-NEXT:    v_mul_f32_e32 v0, -1.0, v02522; GFX8-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12523; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]2524;2525; GFX8-GISEL-LABEL: v_maximumnum_f32_fneg:2526; GFX8-GISEL:       ; %bb.0:2527; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2528; GFX8-GISEL-NEXT:    v_mul_f32_e32 v0, -1.0, v02529; GFX8-GISEL-NEXT:    v_mul_f32_e32 v1, -1.0, v12530; GFX8-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12531; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]2532;2533; GFX9-SDAG-LABEL: v_maximumnum_f32_fneg:2534; GFX9-SDAG:       ; %bb.0:2535; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2536; GFX9-SDAG-NEXT:    v_max_f32_e64 v1, -v1, -v12537; GFX9-SDAG-NEXT:    v_max_f32_e64 v0, -v0, -v02538; GFX9-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12539; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]2540;2541; GFX9-GISEL-LABEL: v_maximumnum_f32_fneg:2542; GFX9-GISEL:       ; %bb.0:2543; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2544; GFX9-GISEL-NEXT:    v_max_f32_e64 v0, -v0, -v02545; GFX9-GISEL-NEXT:    v_max_f32_e64 v1, -v1, -v12546; GFX9-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12547; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]2548;2549; GFX10-SDAG-LABEL: v_maximumnum_f32_fneg:2550; GFX10-SDAG:       ; %bb.0:2551; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2552; GFX10-SDAG-NEXT:    v_max_f32_e64 v1, -v1, -v12553; GFX10-SDAG-NEXT:    v_max_f32_e64 v0, -v0, -v02554; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12555; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]2556;2557; GFX10-GISEL-LABEL: v_maximumnum_f32_fneg:2558; GFX10-GISEL:       ; %bb.0:2559; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2560; GFX10-GISEL-NEXT:    v_max_f32_e64 v0, -v0, -v02561; GFX10-GISEL-NEXT:    v_max_f32_e64 v1, -v1, -v12562; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12563; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]2564;2565; GFX11-SDAG-LABEL: v_maximumnum_f32_fneg:2566; GFX11-SDAG:       ; %bb.0:2567; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2568; GFX11-SDAG-NEXT:    v_max_f32_e64 v1, -v1, -v12569; GFX11-SDAG-NEXT:    v_max_f32_e64 v0, -v0, -v02570; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2571; GFX11-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12572; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]2573;2574; GFX11-GISEL-LABEL: v_maximumnum_f32_fneg:2575; GFX11-GISEL:       ; %bb.0:2576; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2577; GFX11-GISEL-NEXT:    v_max_f32_e64 v0, -v0, -v02578; GFX11-GISEL-NEXT:    v_max_f32_e64 v1, -v1, -v12579; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2580; GFX11-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12581; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]2582;2583; GFX12-SDAG-LABEL: v_maximumnum_f32_fneg:2584; GFX12-SDAG:       ; %bb.0:2585; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x02586; GFX12-SDAG-NEXT:    s_wait_expcnt 0x02587; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x02588; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x02589; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x02590; GFX12-SDAG-NEXT:    v_max_num_f32_e64 v1, -v1, -v12591; GFX12-SDAG-NEXT:    v_max_num_f32_e64 v0, -v0, -v02592; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2593; GFX12-SDAG-NEXT:    v_max_num_f32_e32 v0, v0, v12594; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]2595;2596; GFX12-GISEL-LABEL: v_maximumnum_f32_fneg:2597; GFX12-GISEL:       ; %bb.0:2598; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x02599; GFX12-GISEL-NEXT:    s_wait_expcnt 0x02600; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x02601; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x02602; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x02603; GFX12-GISEL-NEXT:    v_max_num_f32_e64 v0, -v0, -v02604; GFX12-GISEL-NEXT:    v_max_num_f32_e64 v1, -v1, -v12605; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2606; GFX12-GISEL-NEXT:    v_max_num_f32_e32 v0, v0, v12607; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]2608  %fneg.x = fneg float %x2609  %fneg.y = fneg float %y2610  %result = call float @llvm.maximumnum.f32(float %fneg.x, float %fneg.y)2611  ret float %result2612}2613 2614define half @v_maximumnum_f16_fabs_rhs(half %x, half %y) {2615; GFX7-SDAG-LABEL: v_maximumnum_f16_fabs_rhs:2616; GFX7-SDAG:       ; %bb.0:2617; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2618; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v02619; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v12620; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v02621; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e64 v1, |v1|2622; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12623; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]2624;2625; GFX7-GISEL-LABEL: v_maximumnum_f16_fabs_rhs:2626; GFX7-GISEL:       ; %bb.0:2627; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2628; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v02629; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e64 v1, |v1|2630; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12631; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v02632; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]2633;2634; GFX8-SDAG-LABEL: v_maximumnum_f16_fabs_rhs:2635; GFX8-SDAG:       ; %bb.0:2636; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2637; GFX8-SDAG-NEXT:    v_max_f16_e64 v1, |v1|, |v1|2638; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v02639; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v12640; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]2641;2642; GFX8-GISEL-LABEL: v_maximumnum_f16_fabs_rhs:2643; GFX8-GISEL:       ; %bb.0:2644; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2645; GFX8-GISEL-NEXT:    v_max_f16_e32 v0, v0, v02646; GFX8-GISEL-NEXT:    v_max_f16_e64 v1, |v1|, |v1|2647; GFX8-GISEL-NEXT:    v_max_f16_e32 v0, v0, v12648; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]2649;2650; GFX9-SDAG-LABEL: v_maximumnum_f16_fabs_rhs:2651; GFX9-SDAG:       ; %bb.0:2652; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2653; GFX9-SDAG-NEXT:    v_max_f16_e64 v1, |v1|, |v1|2654; GFX9-SDAG-NEXT:    v_max_f16_e32 v0, v0, v02655; GFX9-SDAG-NEXT:    v_max_f16_e32 v0, v0, v12656; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]2657;2658; GFX9-GISEL-LABEL: v_maximumnum_f16_fabs_rhs:2659; GFX9-GISEL:       ; %bb.0:2660; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2661; GFX9-GISEL-NEXT:    v_max_f16_e32 v0, v0, v02662; GFX9-GISEL-NEXT:    v_max_f16_e64 v1, |v1|, |v1|2663; GFX9-GISEL-NEXT:    v_max_f16_e32 v0, v0, v12664; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]2665;2666; GFX10-SDAG-LABEL: v_maximumnum_f16_fabs_rhs:2667; GFX10-SDAG:       ; %bb.0:2668; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2669; GFX10-SDAG-NEXT:    v_max_f16_e64 v1, |v1|, |v1|2670; GFX10-SDAG-NEXT:    v_max_f16_e32 v0, v0, v02671; GFX10-SDAG-NEXT:    v_max_f16_e32 v0, v0, v12672; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]2673;2674; GFX10-GISEL-LABEL: v_maximumnum_f16_fabs_rhs:2675; GFX10-GISEL:       ; %bb.0:2676; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2677; GFX10-GISEL-NEXT:    v_max_f16_e32 v0, v0, v02678; GFX10-GISEL-NEXT:    v_max_f16_e64 v1, |v1|, |v1|2679; GFX10-GISEL-NEXT:    v_max_f16_e32 v0, v0, v12680; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]2681;2682; GFX11-TRUE16-SDAG-LABEL: v_maximumnum_f16_fabs_rhs:2683; GFX11-TRUE16-SDAG:       ; %bb.0:2684; GFX11-TRUE16-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2685; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e64 v0.h, |v1.l|, |v1.l|2686; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.l2687; GFX11-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2688; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.h2689; GFX11-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]2690;2691; GFX11-TRUE16-GISEL-LABEL: v_maximumnum_f16_fabs_rhs:2692; GFX11-TRUE16-GISEL:       ; %bb.0:2693; GFX11-TRUE16-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2694; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.l2695; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e64 v0.h, |v1.l|, |v1.l|2696; GFX11-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2697; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.h2698; GFX11-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]2699;2700; GFX11-FAKE16-SDAG-LABEL: v_maximumnum_f16_fabs_rhs:2701; GFX11-FAKE16-SDAG:       ; %bb.0:2702; GFX11-FAKE16-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2703; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e64 v1, |v1|, |v1|2704; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e32 v0, v0, v02705; GFX11-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2706; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e32 v0, v0, v12707; GFX11-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]2708;2709; GFX11-FAKE16-GISEL-LABEL: v_maximumnum_f16_fabs_rhs:2710; GFX11-FAKE16-GISEL:       ; %bb.0:2711; GFX11-FAKE16-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2712; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e32 v0, v0, v02713; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e64 v1, |v1|, |v1|2714; GFX11-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2715; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e32 v0, v0, v12716; GFX11-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]2717;2718; GFX12-TRUE16-SDAG-LABEL: v_maximumnum_f16_fabs_rhs:2719; GFX12-TRUE16-SDAG:       ; %bb.0:2720; GFX12-TRUE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x02721; GFX12-TRUE16-SDAG-NEXT:    s_wait_expcnt 0x02722; GFX12-TRUE16-SDAG-NEXT:    s_wait_samplecnt 0x02723; GFX12-TRUE16-SDAG-NEXT:    s_wait_bvhcnt 0x02724; GFX12-TRUE16-SDAG-NEXT:    s_wait_kmcnt 0x02725; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e64 v0.h, |v1.l|, |v1.l|2726; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.l2727; GFX12-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2728; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.h2729; GFX12-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]2730;2731; GFX12-TRUE16-GISEL-LABEL: v_maximumnum_f16_fabs_rhs:2732; GFX12-TRUE16-GISEL:       ; %bb.0:2733; GFX12-TRUE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x02734; GFX12-TRUE16-GISEL-NEXT:    s_wait_expcnt 0x02735; GFX12-TRUE16-GISEL-NEXT:    s_wait_samplecnt 0x02736; GFX12-TRUE16-GISEL-NEXT:    s_wait_bvhcnt 0x02737; GFX12-TRUE16-GISEL-NEXT:    s_wait_kmcnt 0x02738; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.l2739; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e64 v0.h, |v1.l|, |v1.l|2740; GFX12-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2741; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.h2742; GFX12-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]2743;2744; GFX12-FAKE16-SDAG-LABEL: v_maximumnum_f16_fabs_rhs:2745; GFX12-FAKE16-SDAG:       ; %bb.0:2746; GFX12-FAKE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x02747; GFX12-FAKE16-SDAG-NEXT:    s_wait_expcnt 0x02748; GFX12-FAKE16-SDAG-NEXT:    s_wait_samplecnt 0x02749; GFX12-FAKE16-SDAG-NEXT:    s_wait_bvhcnt 0x02750; GFX12-FAKE16-SDAG-NEXT:    s_wait_kmcnt 0x02751; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e64 v1, |v1|, |v1|2752; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v0, v0, v02753; GFX12-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2754; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v0, v0, v12755; GFX12-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]2756;2757; GFX12-FAKE16-GISEL-LABEL: v_maximumnum_f16_fabs_rhs:2758; GFX12-FAKE16-GISEL:       ; %bb.0:2759; GFX12-FAKE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x02760; GFX12-FAKE16-GISEL-NEXT:    s_wait_expcnt 0x02761; GFX12-FAKE16-GISEL-NEXT:    s_wait_samplecnt 0x02762; GFX12-FAKE16-GISEL-NEXT:    s_wait_bvhcnt 0x02763; GFX12-FAKE16-GISEL-NEXT:    s_wait_kmcnt 0x02764; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v0, v0, v02765; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e64 v1, |v1|, |v1|2766; GFX12-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2767; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v0, v0, v12768; GFX12-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]2769  %fabs.y = call half @llvm.fabs.f16(half %y)2770  %result = call half @llvm.maximumnum.f16(half %x, half %fabs.y)2771  ret half %result2772}2773 2774define half @v_maximumnum_f16_fneg_fabs_rhs(half %x, half %y) {2775; GFX7-SDAG-LABEL: v_maximumnum_f16_fneg_fabs_rhs:2776; GFX7-SDAG:       ; %bb.0:2777; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2778; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v02779; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v12780; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v02781; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e64 v1, -|v1|2782; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12783; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]2784;2785; GFX7-GISEL-LABEL: v_maximumnum_f16_fneg_fabs_rhs:2786; GFX7-GISEL:       ; %bb.0:2787; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2788; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v02789; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e64 v1, -|v1|2790; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12791; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v02792; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]2793;2794; GFX8-SDAG-LABEL: v_maximumnum_f16_fneg_fabs_rhs:2795; GFX8-SDAG:       ; %bb.0:2796; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2797; GFX8-SDAG-NEXT:    v_max_f16_e64 v1, -|v1|, -|v1|2798; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v02799; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v12800; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]2801;2802; GFX8-GISEL-LABEL: v_maximumnum_f16_fneg_fabs_rhs:2803; GFX8-GISEL:       ; %bb.0:2804; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2805; GFX8-GISEL-NEXT:    v_max_f16_e32 v0, v0, v02806; GFX8-GISEL-NEXT:    v_max_f16_e64 v1, -|v1|, -|v1|2807; GFX8-GISEL-NEXT:    v_max_f16_e32 v0, v0, v12808; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]2809;2810; GFX9-SDAG-LABEL: v_maximumnum_f16_fneg_fabs_rhs:2811; GFX9-SDAG:       ; %bb.0:2812; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2813; GFX9-SDAG-NEXT:    v_max_f16_e64 v1, -|v1|, -|v1|2814; GFX9-SDAG-NEXT:    v_max_f16_e32 v0, v0, v02815; GFX9-SDAG-NEXT:    v_max_f16_e32 v0, v0, v12816; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]2817;2818; GFX9-GISEL-LABEL: v_maximumnum_f16_fneg_fabs_rhs:2819; GFX9-GISEL:       ; %bb.0:2820; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2821; GFX9-GISEL-NEXT:    v_max_f16_e32 v0, v0, v02822; GFX9-GISEL-NEXT:    v_max_f16_e64 v1, -|v1|, -|v1|2823; GFX9-GISEL-NEXT:    v_max_f16_e32 v0, v0, v12824; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]2825;2826; GFX10-SDAG-LABEL: v_maximumnum_f16_fneg_fabs_rhs:2827; GFX10-SDAG:       ; %bb.0:2828; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2829; GFX10-SDAG-NEXT:    v_max_f16_e64 v1, -|v1|, -|v1|2830; GFX10-SDAG-NEXT:    v_max_f16_e32 v0, v0, v02831; GFX10-SDAG-NEXT:    v_max_f16_e32 v0, v0, v12832; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]2833;2834; GFX10-GISEL-LABEL: v_maximumnum_f16_fneg_fabs_rhs:2835; GFX10-GISEL:       ; %bb.0:2836; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2837; GFX10-GISEL-NEXT:    v_max_f16_e32 v0, v0, v02838; GFX10-GISEL-NEXT:    v_max_f16_e64 v1, -|v1|, -|v1|2839; GFX10-GISEL-NEXT:    v_max_f16_e32 v0, v0, v12840; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]2841;2842; GFX11-TRUE16-SDAG-LABEL: v_maximumnum_f16_fneg_fabs_rhs:2843; GFX11-TRUE16-SDAG:       ; %bb.0:2844; GFX11-TRUE16-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2845; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e64 v0.h, -|v1.l|, -|v1.l|2846; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.l2847; GFX11-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2848; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.h2849; GFX11-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]2850;2851; GFX11-TRUE16-GISEL-LABEL: v_maximumnum_f16_fneg_fabs_rhs:2852; GFX11-TRUE16-GISEL:       ; %bb.0:2853; GFX11-TRUE16-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2854; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.l2855; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e64 v0.h, -|v1.l|, -|v1.l|2856; GFX11-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2857; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.h2858; GFX11-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]2859;2860; GFX11-FAKE16-SDAG-LABEL: v_maximumnum_f16_fneg_fabs_rhs:2861; GFX11-FAKE16-SDAG:       ; %bb.0:2862; GFX11-FAKE16-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2863; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e64 v1, -|v1|, -|v1|2864; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e32 v0, v0, v02865; GFX11-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2866; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e32 v0, v0, v12867; GFX11-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]2868;2869; GFX11-FAKE16-GISEL-LABEL: v_maximumnum_f16_fneg_fabs_rhs:2870; GFX11-FAKE16-GISEL:       ; %bb.0:2871; GFX11-FAKE16-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2872; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e32 v0, v0, v02873; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e64 v1, -|v1|, -|v1|2874; GFX11-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2875; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e32 v0, v0, v12876; GFX11-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]2877;2878; GFX12-TRUE16-SDAG-LABEL: v_maximumnum_f16_fneg_fabs_rhs:2879; GFX12-TRUE16-SDAG:       ; %bb.0:2880; GFX12-TRUE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x02881; GFX12-TRUE16-SDAG-NEXT:    s_wait_expcnt 0x02882; GFX12-TRUE16-SDAG-NEXT:    s_wait_samplecnt 0x02883; GFX12-TRUE16-SDAG-NEXT:    s_wait_bvhcnt 0x02884; GFX12-TRUE16-SDAG-NEXT:    s_wait_kmcnt 0x02885; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e64 v0.h, -|v1.l|, -|v1.l|2886; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.l2887; GFX12-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2888; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.h2889; GFX12-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]2890;2891; GFX12-TRUE16-GISEL-LABEL: v_maximumnum_f16_fneg_fabs_rhs:2892; GFX12-TRUE16-GISEL:       ; %bb.0:2893; GFX12-TRUE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x02894; GFX12-TRUE16-GISEL-NEXT:    s_wait_expcnt 0x02895; GFX12-TRUE16-GISEL-NEXT:    s_wait_samplecnt 0x02896; GFX12-TRUE16-GISEL-NEXT:    s_wait_bvhcnt 0x02897; GFX12-TRUE16-GISEL-NEXT:    s_wait_kmcnt 0x02898; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.l2899; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e64 v0.h, -|v1.l|, -|v1.l|2900; GFX12-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2901; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.h2902; GFX12-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]2903;2904; GFX12-FAKE16-SDAG-LABEL: v_maximumnum_f16_fneg_fabs_rhs:2905; GFX12-FAKE16-SDAG:       ; %bb.0:2906; GFX12-FAKE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x02907; GFX12-FAKE16-SDAG-NEXT:    s_wait_expcnt 0x02908; GFX12-FAKE16-SDAG-NEXT:    s_wait_samplecnt 0x02909; GFX12-FAKE16-SDAG-NEXT:    s_wait_bvhcnt 0x02910; GFX12-FAKE16-SDAG-NEXT:    s_wait_kmcnt 0x02911; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e64 v1, -|v1|, -|v1|2912; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v0, v0, v02913; GFX12-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)2914; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v0, v0, v12915; GFX12-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]2916;2917; GFX12-FAKE16-GISEL-LABEL: v_maximumnum_f16_fneg_fabs_rhs:2918; GFX12-FAKE16-GISEL:       ; %bb.0:2919; GFX12-FAKE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x02920; GFX12-FAKE16-GISEL-NEXT:    s_wait_expcnt 0x02921; GFX12-FAKE16-GISEL-NEXT:    s_wait_samplecnt 0x02922; GFX12-FAKE16-GISEL-NEXT:    s_wait_bvhcnt 0x02923; GFX12-FAKE16-GISEL-NEXT:    s_wait_kmcnt 0x02924; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v0, v0, v02925; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e64 v1, -|v1|, -|v1|2926; GFX12-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)2927; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v0, v0, v12928; GFX12-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]2929  %fabs.y = call half @llvm.fabs.f16(half %y)2930  %fneg.fabs.y = fneg half %fabs.y2931  %result = call half @llvm.maximumnum.f16(half %x, half %fneg.fabs.y)2932  ret half %result2933}2934 2935define half @v_maximumnum_f16_fabs(half %x, half %y) {2936; GFX7-SDAG-LABEL: v_maximumnum_f16_fabs:2937; GFX7-SDAG:       ; %bb.0:2938; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2939; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v02940; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v12941; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e64 v0, |v0|2942; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e64 v1, |v1|2943; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v12944; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]2945;2946; GFX7-GISEL-LABEL: v_maximumnum_f16_fabs:2947; GFX7-GISEL:       ; %bb.0:2948; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2949; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e64 v0, |v0|2950; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e64 v1, |v1|2951; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v12952; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v02953; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]2954;2955; GFX8-SDAG-LABEL: v_maximumnum_f16_fabs:2956; GFX8-SDAG:       ; %bb.0:2957; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2958; GFX8-SDAG-NEXT:    v_max_f16_e64 v1, |v1|, |v1|2959; GFX8-SDAG-NEXT:    v_max_f16_e64 v0, |v0|, |v0|2960; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v12961; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]2962;2963; GFX8-GISEL-LABEL: v_maximumnum_f16_fabs:2964; GFX8-GISEL:       ; %bb.0:2965; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2966; GFX8-GISEL-NEXT:    v_max_f16_e64 v0, |v0|, |v0|2967; GFX8-GISEL-NEXT:    v_max_f16_e64 v1, |v1|, |v1|2968; GFX8-GISEL-NEXT:    v_max_f16_e32 v0, v0, v12969; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]2970;2971; GFX9-SDAG-LABEL: v_maximumnum_f16_fabs:2972; GFX9-SDAG:       ; %bb.0:2973; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2974; GFX9-SDAG-NEXT:    v_max_f16_e64 v1, |v1|, |v1|2975; GFX9-SDAG-NEXT:    v_max_f16_e64 v0, |v0|, |v0|2976; GFX9-SDAG-NEXT:    v_max_f16_e32 v0, v0, v12977; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]2978;2979; GFX9-GISEL-LABEL: v_maximumnum_f16_fabs:2980; GFX9-GISEL:       ; %bb.0:2981; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2982; GFX9-GISEL-NEXT:    v_max_f16_e64 v0, |v0|, |v0|2983; GFX9-GISEL-NEXT:    v_max_f16_e64 v1, |v1|, |v1|2984; GFX9-GISEL-NEXT:    v_max_f16_e32 v0, v0, v12985; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]2986;2987; GFX10-SDAG-LABEL: v_maximumnum_f16_fabs:2988; GFX10-SDAG:       ; %bb.0:2989; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2990; GFX10-SDAG-NEXT:    v_max_f16_e64 v1, |v1|, |v1|2991; GFX10-SDAG-NEXT:    v_max_f16_e64 v0, |v0|, |v0|2992; GFX10-SDAG-NEXT:    v_max_f16_e32 v0, v0, v12993; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]2994;2995; GFX10-GISEL-LABEL: v_maximumnum_f16_fabs:2996; GFX10-GISEL:       ; %bb.0:2997; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2998; GFX10-GISEL-NEXT:    v_max_f16_e64 v0, |v0|, |v0|2999; GFX10-GISEL-NEXT:    v_max_f16_e64 v1, |v1|, |v1|3000; GFX10-GISEL-NEXT:    v_max_f16_e32 v0, v0, v13001; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]3002;3003; GFX11-TRUE16-SDAG-LABEL: v_maximumnum_f16_fabs:3004; GFX11-TRUE16-SDAG:       ; %bb.0:3005; GFX11-TRUE16-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3006; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e64 v0.h, |v1.l|, |v1.l|3007; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e64 v0.l, |v0.l|, |v0.l|3008; GFX11-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)3009; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.h3010; GFX11-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]3011;3012; GFX11-TRUE16-GISEL-LABEL: v_maximumnum_f16_fabs:3013; GFX11-TRUE16-GISEL:       ; %bb.0:3014; GFX11-TRUE16-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3015; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e64 v0.l, |v0.l|, |v0.l|3016; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e64 v0.h, |v1.l|, |v1.l|3017; GFX11-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)3018; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.h3019; GFX11-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]3020;3021; GFX11-FAKE16-SDAG-LABEL: v_maximumnum_f16_fabs:3022; GFX11-FAKE16-SDAG:       ; %bb.0:3023; GFX11-FAKE16-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3024; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e64 v1, |v1|, |v1|3025; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e64 v0, |v0|, |v0|3026; GFX11-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)3027; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e32 v0, v0, v13028; GFX11-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]3029;3030; GFX11-FAKE16-GISEL-LABEL: v_maximumnum_f16_fabs:3031; GFX11-FAKE16-GISEL:       ; %bb.0:3032; GFX11-FAKE16-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3033; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e64 v0, |v0|, |v0|3034; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e64 v1, |v1|, |v1|3035; GFX11-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)3036; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e32 v0, v0, v13037; GFX11-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]3038;3039; GFX12-TRUE16-SDAG-LABEL: v_maximumnum_f16_fabs:3040; GFX12-TRUE16-SDAG:       ; %bb.0:3041; GFX12-TRUE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x03042; GFX12-TRUE16-SDAG-NEXT:    s_wait_expcnt 0x03043; GFX12-TRUE16-SDAG-NEXT:    s_wait_samplecnt 0x03044; GFX12-TRUE16-SDAG-NEXT:    s_wait_bvhcnt 0x03045; GFX12-TRUE16-SDAG-NEXT:    s_wait_kmcnt 0x03046; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e64 v0.h, |v1.l|, |v1.l|3047; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e64 v0.l, |v0.l|, |v0.l|3048; GFX12-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)3049; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.h3050; GFX12-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]3051;3052; GFX12-TRUE16-GISEL-LABEL: v_maximumnum_f16_fabs:3053; GFX12-TRUE16-GISEL:       ; %bb.0:3054; GFX12-TRUE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x03055; GFX12-TRUE16-GISEL-NEXT:    s_wait_expcnt 0x03056; GFX12-TRUE16-GISEL-NEXT:    s_wait_samplecnt 0x03057; GFX12-TRUE16-GISEL-NEXT:    s_wait_bvhcnt 0x03058; GFX12-TRUE16-GISEL-NEXT:    s_wait_kmcnt 0x03059; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e64 v0.l, |v0.l|, |v0.l|3060; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e64 v0.h, |v1.l|, |v1.l|3061; GFX12-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)3062; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.h3063; GFX12-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]3064;3065; GFX12-FAKE16-SDAG-LABEL: v_maximumnum_f16_fabs:3066; GFX12-FAKE16-SDAG:       ; %bb.0:3067; GFX12-FAKE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x03068; GFX12-FAKE16-SDAG-NEXT:    s_wait_expcnt 0x03069; GFX12-FAKE16-SDAG-NEXT:    s_wait_samplecnt 0x03070; GFX12-FAKE16-SDAG-NEXT:    s_wait_bvhcnt 0x03071; GFX12-FAKE16-SDAG-NEXT:    s_wait_kmcnt 0x03072; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e64 v1, |v1|, |v1|3073; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e64 v0, |v0|, |v0|3074; GFX12-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)3075; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v0, v0, v13076; GFX12-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]3077;3078; GFX12-FAKE16-GISEL-LABEL: v_maximumnum_f16_fabs:3079; GFX12-FAKE16-GISEL:       ; %bb.0:3080; GFX12-FAKE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x03081; GFX12-FAKE16-GISEL-NEXT:    s_wait_expcnt 0x03082; GFX12-FAKE16-GISEL-NEXT:    s_wait_samplecnt 0x03083; GFX12-FAKE16-GISEL-NEXT:    s_wait_bvhcnt 0x03084; GFX12-FAKE16-GISEL-NEXT:    s_wait_kmcnt 0x03085; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e64 v0, |v0|, |v0|3086; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e64 v1, |v1|, |v1|3087; GFX12-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)3088; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v0, v0, v13089; GFX12-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]3090  %fabs.x = call half @llvm.fabs.f16(half %x)3091  %fabs.y = call half @llvm.fabs.f16(half %y)3092  %result = call half @llvm.maximumnum.f16(half %fabs.x, half %fabs.y)3093  ret half %result3094}3095 3096define half @v_maximumnum_f16_fneg(half %x, half %y) {3097; GFX7-SDAG-LABEL: v_maximumnum_f16_fneg:3098; GFX7-SDAG:       ; %bb.0:3099; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3100; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e64 v0, -v03101; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e64 v1, -v13102; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v03103; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v13104; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v13105; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]3106;3107; GFX7-GISEL-LABEL: v_maximumnum_f16_fneg:3108; GFX7-GISEL:       ; %bb.0:3109; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3110; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e64 v0, -v03111; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e64 v1, -v13112; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v13113; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v03114; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]3115;3116; GFX8-SDAG-LABEL: v_maximumnum_f16_fneg:3117; GFX8-SDAG:       ; %bb.0:3118; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3119; GFX8-SDAG-NEXT:    v_max_f16_e64 v1, -v1, -v13120; GFX8-SDAG-NEXT:    v_max_f16_e64 v0, -v0, -v03121; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v13122; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]3123;3124; GFX8-GISEL-LABEL: v_maximumnum_f16_fneg:3125; GFX8-GISEL:       ; %bb.0:3126; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3127; GFX8-GISEL-NEXT:    v_max_f16_e64 v0, -v0, -v03128; GFX8-GISEL-NEXT:    v_max_f16_e64 v1, -v1, -v13129; GFX8-GISEL-NEXT:    v_max_f16_e32 v0, v0, v13130; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]3131;3132; GFX9-SDAG-LABEL: v_maximumnum_f16_fneg:3133; GFX9-SDAG:       ; %bb.0:3134; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3135; GFX9-SDAG-NEXT:    v_max_f16_e64 v1, -v1, -v13136; GFX9-SDAG-NEXT:    v_max_f16_e64 v0, -v0, -v03137; GFX9-SDAG-NEXT:    v_max_f16_e32 v0, v0, v13138; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]3139;3140; GFX9-GISEL-LABEL: v_maximumnum_f16_fneg:3141; GFX9-GISEL:       ; %bb.0:3142; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3143; GFX9-GISEL-NEXT:    v_max_f16_e64 v0, -v0, -v03144; GFX9-GISEL-NEXT:    v_max_f16_e64 v1, -v1, -v13145; GFX9-GISEL-NEXT:    v_max_f16_e32 v0, v0, v13146; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]3147;3148; GFX10-SDAG-LABEL: v_maximumnum_f16_fneg:3149; GFX10-SDAG:       ; %bb.0:3150; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3151; GFX10-SDAG-NEXT:    v_max_f16_e64 v1, -v1, -v13152; GFX10-SDAG-NEXT:    v_max_f16_e64 v0, -v0, -v03153; GFX10-SDAG-NEXT:    v_max_f16_e32 v0, v0, v13154; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]3155;3156; GFX10-GISEL-LABEL: v_maximumnum_f16_fneg:3157; GFX10-GISEL:       ; %bb.0:3158; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3159; GFX10-GISEL-NEXT:    v_max_f16_e64 v0, -v0, -v03160; GFX10-GISEL-NEXT:    v_max_f16_e64 v1, -v1, -v13161; GFX10-GISEL-NEXT:    v_max_f16_e32 v0, v0, v13162; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]3163;3164; GFX11-TRUE16-SDAG-LABEL: v_maximumnum_f16_fneg:3165; GFX11-TRUE16-SDAG:       ; %bb.0:3166; GFX11-TRUE16-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3167; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e64 v0.h, -v1.l, -v1.l3168; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e64 v0.l, -v0.l, -v0.l3169; GFX11-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)3170; GFX11-TRUE16-SDAG-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.h3171; GFX11-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]3172;3173; GFX11-TRUE16-GISEL-LABEL: v_maximumnum_f16_fneg:3174; GFX11-TRUE16-GISEL:       ; %bb.0:3175; GFX11-TRUE16-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3176; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e64 v0.l, -v0.l, -v0.l3177; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e64 v0.h, -v1.l, -v1.l3178; GFX11-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)3179; GFX11-TRUE16-GISEL-NEXT:    v_max_f16_e32 v0.l, v0.l, v0.h3180; GFX11-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]3181;3182; GFX11-FAKE16-SDAG-LABEL: v_maximumnum_f16_fneg:3183; GFX11-FAKE16-SDAG:       ; %bb.0:3184; GFX11-FAKE16-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3185; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e64 v1, -v1, -v13186; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e64 v0, -v0, -v03187; GFX11-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)3188; GFX11-FAKE16-SDAG-NEXT:    v_max_f16_e32 v0, v0, v13189; GFX11-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]3190;3191; GFX11-FAKE16-GISEL-LABEL: v_maximumnum_f16_fneg:3192; GFX11-FAKE16-GISEL:       ; %bb.0:3193; GFX11-FAKE16-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3194; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e64 v0, -v0, -v03195; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e64 v1, -v1, -v13196; GFX11-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)3197; GFX11-FAKE16-GISEL-NEXT:    v_max_f16_e32 v0, v0, v13198; GFX11-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]3199;3200; GFX12-TRUE16-SDAG-LABEL: v_maximumnum_f16_fneg:3201; GFX12-TRUE16-SDAG:       ; %bb.0:3202; GFX12-TRUE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x03203; GFX12-TRUE16-SDAG-NEXT:    s_wait_expcnt 0x03204; GFX12-TRUE16-SDAG-NEXT:    s_wait_samplecnt 0x03205; GFX12-TRUE16-SDAG-NEXT:    s_wait_bvhcnt 0x03206; GFX12-TRUE16-SDAG-NEXT:    s_wait_kmcnt 0x03207; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e64 v0.h, -v1.l, -v1.l3208; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e64 v0.l, -v0.l, -v0.l3209; GFX12-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)3210; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.h3211; GFX12-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]3212;3213; GFX12-TRUE16-GISEL-LABEL: v_maximumnum_f16_fneg:3214; GFX12-TRUE16-GISEL:       ; %bb.0:3215; GFX12-TRUE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x03216; GFX12-TRUE16-GISEL-NEXT:    s_wait_expcnt 0x03217; GFX12-TRUE16-GISEL-NEXT:    s_wait_samplecnt 0x03218; GFX12-TRUE16-GISEL-NEXT:    s_wait_bvhcnt 0x03219; GFX12-TRUE16-GISEL-NEXT:    s_wait_kmcnt 0x03220; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e64 v0.l, -v0.l, -v0.l3221; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e64 v0.h, -v1.l, -v1.l3222; GFX12-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)3223; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.h3224; GFX12-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]3225;3226; GFX12-FAKE16-SDAG-LABEL: v_maximumnum_f16_fneg:3227; GFX12-FAKE16-SDAG:       ; %bb.0:3228; GFX12-FAKE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x03229; GFX12-FAKE16-SDAG-NEXT:    s_wait_expcnt 0x03230; GFX12-FAKE16-SDAG-NEXT:    s_wait_samplecnt 0x03231; GFX12-FAKE16-SDAG-NEXT:    s_wait_bvhcnt 0x03232; GFX12-FAKE16-SDAG-NEXT:    s_wait_kmcnt 0x03233; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e64 v1, -v1, -v13234; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e64 v0, -v0, -v03235; GFX12-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)3236; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v0, v0, v13237; GFX12-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]3238;3239; GFX12-FAKE16-GISEL-LABEL: v_maximumnum_f16_fneg:3240; GFX12-FAKE16-GISEL:       ; %bb.0:3241; GFX12-FAKE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x03242; GFX12-FAKE16-GISEL-NEXT:    s_wait_expcnt 0x03243; GFX12-FAKE16-GISEL-NEXT:    s_wait_samplecnt 0x03244; GFX12-FAKE16-GISEL-NEXT:    s_wait_bvhcnt 0x03245; GFX12-FAKE16-GISEL-NEXT:    s_wait_kmcnt 0x03246; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e64 v0, -v0, -v03247; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e64 v1, -v1, -v13248; GFX12-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)3249; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v0, v0, v13250; GFX12-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]3251  %fneg.x = fneg half %x3252  %fneg.y = fneg half %y3253  %result = call half @llvm.maximumnum.f16(half %fneg.x, half %fneg.y)3254  ret half %result3255}3256 3257define double @v_maximumnum_f64_fneg(double %x, double %y) {3258; GFX7-SDAG-LABEL: v_maximumnum_f64_fneg:3259; GFX7-SDAG:       ; %bb.0:3260; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3261; GFX7-SDAG-NEXT:    v_max_f64 v[2:3], -v[2:3], -v[2:3]3262; GFX7-SDAG-NEXT:    v_max_f64 v[0:1], -v[0:1], -v[0:1]3263; GFX7-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]3264; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]3265;3266; GFX7-GISEL-LABEL: v_maximumnum_f64_fneg:3267; GFX7-GISEL:       ; %bb.0:3268; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3269; GFX7-GISEL-NEXT:    v_max_f64 v[0:1], -v[0:1], -v[0:1]3270; GFX7-GISEL-NEXT:    v_max_f64 v[2:3], -v[2:3], -v[2:3]3271; GFX7-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]3272; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]3273;3274; GFX8-SDAG-LABEL: v_maximumnum_f64_fneg:3275; GFX8-SDAG:       ; %bb.0:3276; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3277; GFX8-SDAG-NEXT:    v_max_f64 v[2:3], -v[2:3], -v[2:3]3278; GFX8-SDAG-NEXT:    v_max_f64 v[0:1], -v[0:1], -v[0:1]3279; GFX8-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]3280; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]3281;3282; GFX8-GISEL-LABEL: v_maximumnum_f64_fneg:3283; GFX8-GISEL:       ; %bb.0:3284; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3285; GFX8-GISEL-NEXT:    v_max_f64 v[0:1], -v[0:1], -v[0:1]3286; GFX8-GISEL-NEXT:    v_max_f64 v[2:3], -v[2:3], -v[2:3]3287; GFX8-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]3288; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]3289;3290; GFX9-SDAG-LABEL: v_maximumnum_f64_fneg:3291; GFX9-SDAG:       ; %bb.0:3292; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3293; GFX9-SDAG-NEXT:    v_max_f64 v[2:3], -v[2:3], -v[2:3]3294; GFX9-SDAG-NEXT:    v_max_f64 v[0:1], -v[0:1], -v[0:1]3295; GFX9-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]3296; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]3297;3298; GFX9-GISEL-LABEL: v_maximumnum_f64_fneg:3299; GFX9-GISEL:       ; %bb.0:3300; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3301; GFX9-GISEL-NEXT:    v_max_f64 v[0:1], -v[0:1], -v[0:1]3302; GFX9-GISEL-NEXT:    v_max_f64 v[2:3], -v[2:3], -v[2:3]3303; GFX9-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]3304; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]3305;3306; GFX10-SDAG-LABEL: v_maximumnum_f64_fneg:3307; GFX10-SDAG:       ; %bb.0:3308; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3309; GFX10-SDAG-NEXT:    v_max_f64 v[2:3], -v[2:3], -v[2:3]3310; GFX10-SDAG-NEXT:    v_max_f64 v[0:1], -v[0:1], -v[0:1]3311; GFX10-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]3312; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]3313;3314; GFX10-GISEL-LABEL: v_maximumnum_f64_fneg:3315; GFX10-GISEL:       ; %bb.0:3316; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3317; GFX10-GISEL-NEXT:    v_max_f64 v[0:1], -v[0:1], -v[0:1]3318; GFX10-GISEL-NEXT:    v_max_f64 v[2:3], -v[2:3], -v[2:3]3319; GFX10-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]3320; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]3321;3322; GFX11-SDAG-LABEL: v_maximumnum_f64_fneg:3323; GFX11-SDAG:       ; %bb.0:3324; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3325; GFX11-SDAG-NEXT:    v_max_f64 v[2:3], -v[2:3], -v[2:3]3326; GFX11-SDAG-NEXT:    v_max_f64 v[0:1], -v[0:1], -v[0:1]3327; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)3328; GFX11-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]3329; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]3330;3331; GFX11-GISEL-LABEL: v_maximumnum_f64_fneg:3332; GFX11-GISEL:       ; %bb.0:3333; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3334; GFX11-GISEL-NEXT:    v_max_f64 v[0:1], -v[0:1], -v[0:1]3335; GFX11-GISEL-NEXT:    v_max_f64 v[2:3], -v[2:3], -v[2:3]3336; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)3337; GFX11-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]3338; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]3339;3340; GFX12-SDAG-LABEL: v_maximumnum_f64_fneg:3341; GFX12-SDAG:       ; %bb.0:3342; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x03343; GFX12-SDAG-NEXT:    s_wait_expcnt 0x03344; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x03345; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x03346; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x03347; GFX12-SDAG-NEXT:    v_max_num_f64_e64 v[2:3], -v[2:3], -v[2:3]3348; GFX12-SDAG-NEXT:    v_max_num_f64_e64 v[0:1], -v[0:1], -v[0:1]3349; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)3350; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[2:3]3351; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]3352;3353; GFX12-GISEL-LABEL: v_maximumnum_f64_fneg:3354; GFX12-GISEL:       ; %bb.0:3355; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x03356; GFX12-GISEL-NEXT:    s_wait_expcnt 0x03357; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x03358; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x03359; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x03360; GFX12-GISEL-NEXT:    v_max_num_f64_e64 v[0:1], -v[0:1], -v[0:1]3361; GFX12-GISEL-NEXT:    v_max_num_f64_e64 v[2:3], -v[2:3], -v[2:3]3362; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)3363; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[2:3]3364; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]3365  %fneg.x = fneg double %x3366  %fneg.y = fneg double %y3367  %result = call double @llvm.maximumnum.f64(double %fneg.x, double %fneg.y)3368  ret double %result3369}3370 3371define <2 x half> @v_maximumnum_v2f16(<2 x half> %x, <2 x half> %y) {3372; GFX7-SDAG-LABEL: v_maximumnum_v2f16:3373; GFX7-SDAG:       ; %bb.0:3374; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3375; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v13376; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v03377; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v2, v23378; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v3, v33379; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v13380; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v03381; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v2, v23382; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v3, v33383; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v23384; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v33385; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]3386;3387; GFX7-GISEL-LABEL: v_maximumnum_v2f16:3388; GFX7-GISEL:       ; %bb.0:3389; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3390; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v03391; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v2, v23392; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v13393; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v33394; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v23395; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v03396; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v33397; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v1, v13398; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]3399;3400; GFX8-SDAG-LABEL: v_maximumnum_v2f16:3401; GFX8-SDAG:       ; %bb.0:3402; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3403; GFX8-SDAG-NEXT:    v_max_f16_sdwa v2, v1, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13404; GFX8-SDAG-NEXT:    v_max_f16_sdwa v3, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13405; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v13406; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v03407; GFX8-SDAG-NEXT:    v_max_f16_sdwa v2, v3, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD3408; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v13409; GFX8-SDAG-NEXT:    v_or_b32_e32 v0, v0, v23410; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]3411;3412; GFX8-GISEL-LABEL: v_maximumnum_v2f16:3413; GFX8-GISEL:       ; %bb.0:3414; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3415; GFX8-GISEL-NEXT:    v_max_f16_e32 v2, v0, v03416; GFX8-GISEL-NEXT:    v_max_f16_e32 v3, v1, v13417; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13418; GFX8-GISEL-NEXT:    v_max_f16_sdwa v1, v1, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13419; GFX8-GISEL-NEXT:    v_max_f16_e32 v2, v2, v33420; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD3421; GFX8-GISEL-NEXT:    v_or_b32_e32 v0, v2, v03422; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]3423;3424; GFX900-SDAG-LABEL: v_maximumnum_v2f16:3425; GFX900-SDAG:       ; %bb.0:3426; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3427; GFX900-SDAG-NEXT:    v_pk_max_f16 v1, v1, v13428; GFX900-SDAG-NEXT:    v_pk_max_f16 v0, v0, v03429; GFX900-SDAG-NEXT:    v_pk_max_f16 v0, v0, v13430; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]3431;3432; GFX900-GISEL-LABEL: v_maximumnum_v2f16:3433; GFX900-GISEL:       ; %bb.0:3434; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3435; GFX900-GISEL-NEXT:    v_pk_max_f16 v0, v0, v03436; GFX900-GISEL-NEXT:    v_pk_max_f16 v1, v1, v13437; GFX900-GISEL-NEXT:    v_pk_max_f16 v0, v0, v13438; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]3439;3440; GFX950-SDAG-LABEL: v_maximumnum_v2f16:3441; GFX950-SDAG:       ; %bb.0:3442; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3443; GFX950-SDAG-NEXT:    v_pk_max_f16 v1, v1, v13444; GFX950-SDAG-NEXT:    v_pk_max_f16 v0, v0, v03445; GFX950-SDAG-NEXT:    s_nop 03446; GFX950-SDAG-NEXT:    v_pk_max_f16 v0, v0, v13447; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]3448;3449; GFX950-GISEL-LABEL: v_maximumnum_v2f16:3450; GFX950-GISEL:       ; %bb.0:3451; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3452; GFX950-GISEL-NEXT:    v_pk_max_f16 v0, v0, v03453; GFX950-GISEL-NEXT:    v_pk_max_f16 v1, v1, v13454; GFX950-GISEL-NEXT:    s_nop 03455; GFX950-GISEL-NEXT:    v_pk_max_f16 v0, v0, v13456; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]3457;3458; GFX10-SDAG-LABEL: v_maximumnum_v2f16:3459; GFX10-SDAG:       ; %bb.0:3460; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3461; GFX10-SDAG-NEXT:    v_pk_max_f16 v1, v1, v13462; GFX10-SDAG-NEXT:    v_pk_max_f16 v0, v0, v03463; GFX10-SDAG-NEXT:    v_pk_max_f16 v0, v0, v13464; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]3465;3466; GFX10-GISEL-LABEL: v_maximumnum_v2f16:3467; GFX10-GISEL:       ; %bb.0:3468; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3469; GFX10-GISEL-NEXT:    v_pk_max_f16 v0, v0, v03470; GFX10-GISEL-NEXT:    v_pk_max_f16 v1, v1, v13471; GFX10-GISEL-NEXT:    v_pk_max_f16 v0, v0, v13472; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]3473;3474; GFX11-SDAG-LABEL: v_maximumnum_v2f16:3475; GFX11-SDAG:       ; %bb.0:3476; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3477; GFX11-SDAG-NEXT:    v_pk_max_f16 v1, v1, v13478; GFX11-SDAG-NEXT:    v_pk_max_f16 v0, v0, v03479; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)3480; GFX11-SDAG-NEXT:    v_pk_max_f16 v0, v0, v13481; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]3482;3483; GFX11-GISEL-LABEL: v_maximumnum_v2f16:3484; GFX11-GISEL:       ; %bb.0:3485; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3486; GFX11-GISEL-NEXT:    v_pk_max_f16 v0, v0, v03487; GFX11-GISEL-NEXT:    v_pk_max_f16 v1, v1, v13488; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)3489; GFX11-GISEL-NEXT:    v_pk_max_f16 v0, v0, v13490; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]3491;3492; GFX12-SDAG-LABEL: v_maximumnum_v2f16:3493; GFX12-SDAG:       ; %bb.0:3494; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x03495; GFX12-SDAG-NEXT:    s_wait_expcnt 0x03496; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x03497; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x03498; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x03499; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v1, v1, v13500; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v0, v0, v03501; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)3502; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v0, v0, v13503; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]3504;3505; GFX12-GISEL-LABEL: v_maximumnum_v2f16:3506; GFX12-GISEL:       ; %bb.0:3507; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x03508; GFX12-GISEL-NEXT:    s_wait_expcnt 0x03509; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x03510; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x03511; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x03512; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v0, v0, v03513; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v1, v1, v13514; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)3515; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v0, v0, v13516; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]3517  %result = call <2 x half> @llvm.maximumnum.v2f16(<2 x half> %x, <2 x half> %y)3518  ret <2 x half> %result3519}3520 3521define <2 x half> @v_maximumnum_v2f16_nnan(<2 x half> %x, <2 x half> %y) {3522; GFX7-SDAG-LABEL: v_maximumnum_v2f16_nnan:3523; GFX7-SDAG:       ; %bb.0:3524; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3525; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v3, v33526; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v2, v23527; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v03528; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v13529; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v3, v33530; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v2, v23531; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v03532; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v13533; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v23534; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v33535; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]3536;3537; GFX7-GISEL-LABEL: v_maximumnum_v2f16_nnan:3538; GFX7-GISEL:       ; %bb.0:3539; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3540; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v03541; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v2, v23542; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v13543; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v33544; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v23545; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v03546; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v33547; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v1, v13548; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]3549;3550; GFX8-SDAG-LABEL: v_maximumnum_v2f16_nnan:3551; GFX8-SDAG:       ; %bb.0:3552; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3553; GFX8-SDAG-NEXT:    v_max_f16_sdwa v2, v0, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13554; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v13555; GFX8-SDAG-NEXT:    v_or_b32_e32 v0, v0, v23556; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]3557;3558; GFX8-GISEL-LABEL: v_maximumnum_v2f16_nnan:3559; GFX8-GISEL:       ; %bb.0:3560; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3561; GFX8-GISEL-NEXT:    v_max_f16_e32 v2, v0, v13562; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13563; GFX8-GISEL-NEXT:    v_or_b32_e32 v0, v2, v03564; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]3565;3566; GFX9-LABEL: v_maximumnum_v2f16_nnan:3567; GFX9:       ; %bb.0:3568; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3569; GFX9-NEXT:    v_pk_max_f16 v0, v0, v13570; GFX9-NEXT:    s_setpc_b64 s[30:31]3571;3572; GFX10-LABEL: v_maximumnum_v2f16_nnan:3573; GFX10:       ; %bb.0:3574; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3575; GFX10-NEXT:    v_pk_max_f16 v0, v0, v13576; GFX10-NEXT:    s_setpc_b64 s[30:31]3577;3578; GFX11-LABEL: v_maximumnum_v2f16_nnan:3579; GFX11:       ; %bb.0:3580; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3581; GFX11-NEXT:    v_pk_max_f16 v0, v0, v13582; GFX11-NEXT:    s_setpc_b64 s[30:31]3583;3584; GFX12-LABEL: v_maximumnum_v2f16_nnan:3585; GFX12:       ; %bb.0:3586; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x03587; GFX12-NEXT:    s_wait_expcnt 0x03588; GFX12-NEXT:    s_wait_samplecnt 0x03589; GFX12-NEXT:    s_wait_bvhcnt 0x03590; GFX12-NEXT:    s_wait_kmcnt 0x03591; GFX12-NEXT:    v_pk_max_num_f16 v0, v0, v13592; GFX12-NEXT:    s_setpc_b64 s[30:31]3593  %result = call nnan <2 x half> @llvm.maximumnum.v2f16(<2 x half> %x, <2 x half> %y)3594  ret <2 x half> %result3595}3596 3597define <3 x half> @v_maximumnum_v3f16(<3 x half> %x, <3 x half> %y) {3598; GFX7-SDAG-LABEL: v_maximumnum_v3f16:3599; GFX7-SDAG:       ; %bb.0:3600; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3601; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v2, v23602; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v5, v53603; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v13604; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v03605; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v3, v33606; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v4, v43607; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v2, v23608; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v13609; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v03610; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v3, v33611; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v4, v43612; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v5, v53613; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v33614; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v43615; GFX7-SDAG-NEXT:    v_max_f32_e32 v2, v2, v53616; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]3617;3618; GFX7-GISEL-LABEL: v_maximumnum_v3f16:3619; GFX7-GISEL:       ; %bb.0:3620; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3621; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v03622; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v33623; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v13624; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v2, v23625; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v33626; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v43627; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v4, v53628; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v03629; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v33630; GFX7-GISEL-NEXT:    v_max_f32_e32 v2, v2, v43631; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v1, v13632; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v2, v23633; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]3634;3635; GFX8-SDAG-LABEL: v_maximumnum_v3f16:3636; GFX8-SDAG:       ; %bb.0:3637; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3638; GFX8-SDAG-NEXT:    v_max_f16_sdwa v4, v2, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13639; GFX8-SDAG-NEXT:    v_max_f16_sdwa v5, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13640; GFX8-SDAG-NEXT:    v_max_f16_e32 v2, v2, v23641; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v03642; GFX8-SDAG-NEXT:    v_max_f16_sdwa v4, v5, v4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD3643; GFX8-SDAG-NEXT:    v_max_f16_e32 v3, v3, v33644; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v13645; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v23646; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v33647; GFX8-SDAG-NEXT:    v_or_b32_e32 v0, v0, v43648; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]3649;3650; GFX8-GISEL-LABEL: v_maximumnum_v3f16:3651; GFX8-GISEL:       ; %bb.0:3652; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3653; GFX8-GISEL-NEXT:    v_max_f16_e32 v4, v0, v03654; GFX8-GISEL-NEXT:    v_max_f16_e32 v5, v2, v23655; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13656; GFX8-GISEL-NEXT:    v_max_f16_sdwa v2, v2, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13657; GFX8-GISEL-NEXT:    v_max_f16_e32 v4, v4, v53658; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD3659; GFX8-GISEL-NEXT:    v_max_f16_e32 v1, v1, v13660; GFX8-GISEL-NEXT:    v_max_f16_e32 v2, v3, v33661; GFX8-GISEL-NEXT:    v_max_f16_e32 v1, v1, v23662; GFX8-GISEL-NEXT:    v_or_b32_e32 v0, v4, v03663; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]3664;3665; GFX9-SDAG-LABEL: v_maximumnum_v3f16:3666; GFX9-SDAG:       ; %bb.0:3667; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3668; GFX9-SDAG-NEXT:    v_pk_max_f16 v3, v3, v33669; GFX9-SDAG-NEXT:    v_pk_max_f16 v1, v1, v13670; GFX9-SDAG-NEXT:    v_pk_max_f16 v2, v2, v23671; GFX9-SDAG-NEXT:    v_pk_max_f16 v0, v0, v03672; GFX9-SDAG-NEXT:    v_pk_max_f16 v1, v1, v33673; GFX9-SDAG-NEXT:    v_pk_max_f16 v0, v0, v23674; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]3675;3676; GFX900-GISEL-LABEL: v_maximumnum_v3f16:3677; GFX900-GISEL:       ; %bb.0:3678; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3679; GFX900-GISEL-NEXT:    v_pk_max_f16 v0, v0, v03680; GFX900-GISEL-NEXT:    v_pk_max_f16 v2, v2, v23681; GFX900-GISEL-NEXT:    v_pk_max_f16 v0, v0, v23682; GFX900-GISEL-NEXT:    v_pk_max_f16 v1, v1, v13683; GFX900-GISEL-NEXT:    v_pk_max_f16 v2, v3, v33684; GFX900-GISEL-NEXT:    v_pk_max_f16 v1, v1, v23685; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]3686;3687; GFX950-GISEL-LABEL: v_maximumnum_v3f16:3688; GFX950-GISEL:       ; %bb.0:3689; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3690; GFX950-GISEL-NEXT:    v_pk_max_f16 v0, v0, v03691; GFX950-GISEL-NEXT:    v_pk_max_f16 v2, v2, v23692; GFX950-GISEL-NEXT:    v_pk_max_f16 v1, v1, v13693; GFX950-GISEL-NEXT:    v_pk_max_f16 v0, v0, v23694; GFX950-GISEL-NEXT:    v_pk_max_f16 v2, v3, v33695; GFX950-GISEL-NEXT:    s_nop 03696; GFX950-GISEL-NEXT:    v_pk_max_f16 v1, v1, v23697; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]3698;3699; GFX10-SDAG-LABEL: v_maximumnum_v3f16:3700; GFX10-SDAG:       ; %bb.0:3701; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3702; GFX10-SDAG-NEXT:    v_pk_max_f16 v3, v3, v33703; GFX10-SDAG-NEXT:    v_pk_max_f16 v2, v2, v23704; GFX10-SDAG-NEXT:    v_pk_max_f16 v0, v0, v03705; GFX10-SDAG-NEXT:    v_pk_max_f16 v1, v1, v13706; GFX10-SDAG-NEXT:    v_pk_max_f16 v0, v0, v23707; GFX10-SDAG-NEXT:    v_pk_max_f16 v1, v1, v33708; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]3709;3710; GFX10-GISEL-LABEL: v_maximumnum_v3f16:3711; GFX10-GISEL:       ; %bb.0:3712; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3713; GFX10-GISEL-NEXT:    v_pk_max_f16 v0, v0, v03714; GFX10-GISEL-NEXT:    v_pk_max_f16 v2, v2, v23715; GFX10-GISEL-NEXT:    v_pk_max_f16 v1, v1, v13716; GFX10-GISEL-NEXT:    v_pk_max_f16 v3, v3, v33717; GFX10-GISEL-NEXT:    v_pk_max_f16 v0, v0, v23718; GFX10-GISEL-NEXT:    v_pk_max_f16 v1, v1, v33719; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]3720;3721; GFX11-SDAG-LABEL: v_maximumnum_v3f16:3722; GFX11-SDAG:       ; %bb.0:3723; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3724; GFX11-SDAG-NEXT:    v_pk_max_f16 v3, v3, v33725; GFX11-SDAG-NEXT:    v_pk_max_f16 v2, v2, v23726; GFX11-SDAG-NEXT:    v_pk_max_f16 v0, v0, v03727; GFX11-SDAG-NEXT:    v_pk_max_f16 v1, v1, v13728; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)3729; GFX11-SDAG-NEXT:    v_pk_max_f16 v0, v0, v23730; GFX11-SDAG-NEXT:    v_pk_max_f16 v1, v1, v33731; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]3732;3733; GFX11-GISEL-LABEL: v_maximumnum_v3f16:3734; GFX11-GISEL:       ; %bb.0:3735; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3736; GFX11-GISEL-NEXT:    v_pk_max_f16 v0, v0, v03737; GFX11-GISEL-NEXT:    v_pk_max_f16 v2, v2, v23738; GFX11-GISEL-NEXT:    v_pk_max_f16 v1, v1, v13739; GFX11-GISEL-NEXT:    v_pk_max_f16 v3, v3, v33740; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)3741; GFX11-GISEL-NEXT:    v_pk_max_f16 v0, v0, v23742; GFX11-GISEL-NEXT:    v_pk_max_f16 v1, v1, v33743; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]3744;3745; GFX12-SDAG-LABEL: v_maximumnum_v3f16:3746; GFX12-SDAG:       ; %bb.0:3747; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x03748; GFX12-SDAG-NEXT:    s_wait_expcnt 0x03749; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x03750; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x03751; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x03752; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v3, v3, v33753; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v2, v2, v23754; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v0, v0, v03755; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v1, v1, v13756; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)3757; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v0, v0, v23758; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v1, v1, v33759; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]3760;3761; GFX12-GISEL-LABEL: v_maximumnum_v3f16:3762; GFX12-GISEL:       ; %bb.0:3763; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x03764; GFX12-GISEL-NEXT:    s_wait_expcnt 0x03765; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x03766; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x03767; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x03768; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v0, v0, v03769; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v2, v2, v23770; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v1, v1, v13771; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v3, v3, v33772; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)3773; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v0, v0, v23774; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v1, v1, v33775; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]3776  %result = call <3 x half> @llvm.maximumnum.v3f16(<3 x half> %x, <3 x half> %y)3777  ret <3 x half> %result3778}3779 3780define <3 x half> @v_maximumnum_v3f16_nnan(<3 x half> %x, <3 x half> %y) {3781; GFX7-SDAG-LABEL: v_maximumnum_v3f16_nnan:3782; GFX7-SDAG:       ; %bb.0:3783; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3784; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v5, v53785; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v2, v23786; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v4, v43787; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v3, v33788; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v03789; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v13790; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v5, v53791; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v4, v43792; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v3, v33793; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v03794; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v13795; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v2, v23796; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v33797; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v43798; GFX7-SDAG-NEXT:    v_max_f32_e32 v2, v2, v53799; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]3800;3801; GFX7-GISEL-LABEL: v_maximumnum_v3f16_nnan:3802; GFX7-GISEL:       ; %bb.0:3803; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3804; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v03805; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v33806; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v13807; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v2, v23808; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v33809; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v43810; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v4, v53811; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v03812; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v33813; GFX7-GISEL-NEXT:    v_max_f32_e32 v2, v2, v43814; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v1, v13815; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v2, v23816; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]3817;3818; GFX8-SDAG-LABEL: v_maximumnum_v3f16_nnan:3819; GFX8-SDAG:       ; %bb.0:3820; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3821; GFX8-SDAG-NEXT:    v_max_f16_sdwa v4, v0, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13822; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v23823; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v33824; GFX8-SDAG-NEXT:    v_or_b32_e32 v0, v0, v43825; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]3826;3827; GFX8-GISEL-LABEL: v_maximumnum_v3f16_nnan:3828; GFX8-GISEL:       ; %bb.0:3829; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3830; GFX8-GISEL-NEXT:    v_max_f16_e32 v4, v0, v23831; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13832; GFX8-GISEL-NEXT:    v_max_f16_e32 v1, v1, v33833; GFX8-GISEL-NEXT:    v_or_b32_e32 v0, v4, v03834; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]3835;3836; GFX9-SDAG-LABEL: v_maximumnum_v3f16_nnan:3837; GFX9-SDAG:       ; %bb.0:3838; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3839; GFX9-SDAG-NEXT:    v_pk_max_f16 v1, v1, v33840; GFX9-SDAG-NEXT:    v_pk_max_f16 v0, v0, v23841; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]3842;3843; GFX9-GISEL-LABEL: v_maximumnum_v3f16_nnan:3844; GFX9-GISEL:       ; %bb.0:3845; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3846; GFX9-GISEL-NEXT:    v_pk_max_f16 v0, v0, v23847; GFX9-GISEL-NEXT:    v_pk_max_f16 v1, v1, v33848; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]3849;3850; GFX10-LABEL: v_maximumnum_v3f16_nnan:3851; GFX10:       ; %bb.0:3852; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3853; GFX10-NEXT:    v_pk_max_f16 v0, v0, v23854; GFX10-NEXT:    v_pk_max_f16 v1, v1, v33855; GFX10-NEXT:    s_setpc_b64 s[30:31]3856;3857; GFX11-LABEL: v_maximumnum_v3f16_nnan:3858; GFX11:       ; %bb.0:3859; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3860; GFX11-NEXT:    v_pk_max_f16 v0, v0, v23861; GFX11-NEXT:    v_pk_max_f16 v1, v1, v33862; GFX11-NEXT:    s_setpc_b64 s[30:31]3863;3864; GFX12-LABEL: v_maximumnum_v3f16_nnan:3865; GFX12:       ; %bb.0:3866; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x03867; GFX12-NEXT:    s_wait_expcnt 0x03868; GFX12-NEXT:    s_wait_samplecnt 0x03869; GFX12-NEXT:    s_wait_bvhcnt 0x03870; GFX12-NEXT:    s_wait_kmcnt 0x03871; GFX12-NEXT:    v_pk_max_num_f16 v0, v0, v23872; GFX12-NEXT:    v_pk_max_num_f16 v1, v1, v33873; GFX12-NEXT:    s_setpc_b64 s[30:31]3874  %result = call nnan <3 x half> @llvm.maximumnum.v3f16(<3 x half> %x, <3 x half> %y)3875  ret <3 x half> %result3876}3877 3878define <4 x half> @v_maximumnum_v4f16(<4 x half> %x, <4 x half> %y) {3879; GFX7-SDAG-LABEL: v_maximumnum_v4f16:3880; GFX7-SDAG:       ; %bb.0:3881; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3882; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v3, v33883; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v2, v23884; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v7, v73885; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v6, v63886; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v13887; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v03888; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v4, v43889; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v5, v53890; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v3, v33891; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v2, v23892; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v13893; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v03894; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v4, v43895; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v5, v53896; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v6, v63897; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v7, v73898; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v43899; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v53900; GFX7-SDAG-NEXT:    v_max_f32_e32 v2, v2, v63901; GFX7-SDAG-NEXT:    v_max_f32_e32 v3, v3, v73902; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]3903;3904; GFX7-GISEL-LABEL: v_maximumnum_v4f16:3905; GFX7-GISEL:       ; %bb.0:3906; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3907; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v03908; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v4, v43909; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v13910; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v5, v53911; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v2, v23912; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v43913; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v4, v63914; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v53915; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v33916; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v5, v73917; GFX7-GISEL-NEXT:    v_max_f32_e32 v2, v2, v43918; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v03919; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v1, v13920; GFX7-GISEL-NEXT:    v_max_f32_e32 v3, v3, v53921; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v2, v23922; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v3, v33923; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]3924;3925; GFX8-SDAG-LABEL: v_maximumnum_v4f16:3926; GFX8-SDAG:       ; %bb.0:3927; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3928; GFX8-SDAG-NEXT:    v_max_f16_sdwa v4, v3, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13929; GFX8-SDAG-NEXT:    v_max_f16_sdwa v5, v1, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13930; GFX8-SDAG-NEXT:    v_max_f16_sdwa v4, v5, v4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD3931; GFX8-SDAG-NEXT:    v_max_f16_sdwa v5, v2, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13932; GFX8-SDAG-NEXT:    v_max_f16_sdwa v6, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13933; GFX8-SDAG-NEXT:    v_max_f16_e32 v3, v3, v33934; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v13935; GFX8-SDAG-NEXT:    v_max_f16_e32 v2, v2, v23936; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v03937; GFX8-SDAG-NEXT:    v_max_f16_sdwa v5, v6, v5 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD3938; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v33939; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v23940; GFX8-SDAG-NEXT:    v_or_b32_e32 v0, v0, v53941; GFX8-SDAG-NEXT:    v_or_b32_e32 v1, v1, v43942; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]3943;3944; GFX8-GISEL-LABEL: v_maximumnum_v4f16:3945; GFX8-GISEL:       ; %bb.0:3946; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3947; GFX8-GISEL-NEXT:    v_max_f16_e32 v4, v0, v03948; GFX8-GISEL-NEXT:    v_max_f16_e32 v5, v2, v23949; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13950; GFX8-GISEL-NEXT:    v_max_f16_sdwa v2, v2, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13951; GFX8-GISEL-NEXT:    v_max_f16_e32 v4, v4, v53952; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD3953; GFX8-GISEL-NEXT:    v_max_f16_e32 v2, v1, v13954; GFX8-GISEL-NEXT:    v_max_f16_e32 v5, v3, v33955; GFX8-GISEL-NEXT:    v_max_f16_sdwa v1, v1, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13956; GFX8-GISEL-NEXT:    v_max_f16_sdwa v3, v3, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_13957; GFX8-GISEL-NEXT:    v_max_f16_e32 v2, v2, v53958; GFX8-GISEL-NEXT:    v_max_f16_sdwa v1, v1, v3 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD3959; GFX8-GISEL-NEXT:    v_or_b32_e32 v0, v4, v03960; GFX8-GISEL-NEXT:    v_or_b32_e32 v1, v2, v13961; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]3962;3963; GFX900-SDAG-LABEL: v_maximumnum_v4f16:3964; GFX900-SDAG:       ; %bb.0:3965; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3966; GFX900-SDAG-NEXT:    v_pk_max_f16 v2, v2, v23967; GFX900-SDAG-NEXT:    v_pk_max_f16 v0, v0, v03968; GFX900-SDAG-NEXT:    v_pk_max_f16 v0, v0, v23969; GFX900-SDAG-NEXT:    v_pk_max_f16 v2, v3, v33970; GFX900-SDAG-NEXT:    v_pk_max_f16 v1, v1, v13971; GFX900-SDAG-NEXT:    v_pk_max_f16 v1, v1, v23972; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]3973;3974; GFX900-GISEL-LABEL: v_maximumnum_v4f16:3975; GFX900-GISEL:       ; %bb.0:3976; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3977; GFX900-GISEL-NEXT:    v_pk_max_f16 v0, v0, v03978; GFX900-GISEL-NEXT:    v_pk_max_f16 v2, v2, v23979; GFX900-GISEL-NEXT:    v_pk_max_f16 v0, v0, v23980; GFX900-GISEL-NEXT:    v_pk_max_f16 v1, v1, v13981; GFX900-GISEL-NEXT:    v_pk_max_f16 v2, v3, v33982; GFX900-GISEL-NEXT:    v_pk_max_f16 v1, v1, v23983; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]3984;3985; GFX950-SDAG-LABEL: v_maximumnum_v4f16:3986; GFX950-SDAG:       ; %bb.0:3987; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3988; GFX950-SDAG-NEXT:    v_pk_max_f16 v2, v2, v23989; GFX950-SDAG-NEXT:    v_pk_max_f16 v0, v0, v03990; GFX950-SDAG-NEXT:    v_pk_max_f16 v1, v1, v13991; GFX950-SDAG-NEXT:    v_pk_max_f16 v0, v0, v23992; GFX950-SDAG-NEXT:    v_pk_max_f16 v2, v3, v33993; GFX950-SDAG-NEXT:    s_nop 03994; GFX950-SDAG-NEXT:    v_pk_max_f16 v1, v1, v23995; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]3996;3997; GFX950-GISEL-LABEL: v_maximumnum_v4f16:3998; GFX950-GISEL:       ; %bb.0:3999; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4000; GFX950-GISEL-NEXT:    v_pk_max_f16 v0, v0, v04001; GFX950-GISEL-NEXT:    v_pk_max_f16 v2, v2, v24002; GFX950-GISEL-NEXT:    v_pk_max_f16 v1, v1, v14003; GFX950-GISEL-NEXT:    v_pk_max_f16 v0, v0, v24004; GFX950-GISEL-NEXT:    v_pk_max_f16 v2, v3, v34005; GFX950-GISEL-NEXT:    s_nop 04006; GFX950-GISEL-NEXT:    v_pk_max_f16 v1, v1, v24007; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]4008;4009; GFX10-SDAG-LABEL: v_maximumnum_v4f16:4010; GFX10-SDAG:       ; %bb.0:4011; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4012; GFX10-SDAG-NEXT:    v_pk_max_f16 v2, v2, v24013; GFX10-SDAG-NEXT:    v_pk_max_f16 v0, v0, v04014; GFX10-SDAG-NEXT:    v_pk_max_f16 v3, v3, v34015; GFX10-SDAG-NEXT:    v_pk_max_f16 v1, v1, v14016; GFX10-SDAG-NEXT:    v_pk_max_f16 v0, v0, v24017; GFX10-SDAG-NEXT:    v_pk_max_f16 v1, v1, v34018; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]4019;4020; GFX10-GISEL-LABEL: v_maximumnum_v4f16:4021; GFX10-GISEL:       ; %bb.0:4022; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4023; GFX10-GISEL-NEXT:    v_pk_max_f16 v0, v0, v04024; GFX10-GISEL-NEXT:    v_pk_max_f16 v2, v2, v24025; GFX10-GISEL-NEXT:    v_pk_max_f16 v1, v1, v14026; GFX10-GISEL-NEXT:    v_pk_max_f16 v3, v3, v34027; GFX10-GISEL-NEXT:    v_pk_max_f16 v0, v0, v24028; GFX10-GISEL-NEXT:    v_pk_max_f16 v1, v1, v34029; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]4030;4031; GFX11-SDAG-LABEL: v_maximumnum_v4f16:4032; GFX11-SDAG:       ; %bb.0:4033; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4034; GFX11-SDAG-NEXT:    v_pk_max_f16 v2, v2, v24035; GFX11-SDAG-NEXT:    v_pk_max_f16 v0, v0, v04036; GFX11-SDAG-NEXT:    v_pk_max_f16 v3, v3, v34037; GFX11-SDAG-NEXT:    v_pk_max_f16 v1, v1, v14038; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)4039; GFX11-SDAG-NEXT:    v_pk_max_f16 v0, v0, v24040; GFX11-SDAG-NEXT:    v_pk_max_f16 v1, v1, v34041; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]4042;4043; GFX11-GISEL-LABEL: v_maximumnum_v4f16:4044; GFX11-GISEL:       ; %bb.0:4045; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4046; GFX11-GISEL-NEXT:    v_pk_max_f16 v0, v0, v04047; GFX11-GISEL-NEXT:    v_pk_max_f16 v2, v2, v24048; GFX11-GISEL-NEXT:    v_pk_max_f16 v1, v1, v14049; GFX11-GISEL-NEXT:    v_pk_max_f16 v3, v3, v34050; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)4051; GFX11-GISEL-NEXT:    v_pk_max_f16 v0, v0, v24052; GFX11-GISEL-NEXT:    v_pk_max_f16 v1, v1, v34053; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]4054;4055; GFX12-SDAG-LABEL: v_maximumnum_v4f16:4056; GFX12-SDAG:       ; %bb.0:4057; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x04058; GFX12-SDAG-NEXT:    s_wait_expcnt 0x04059; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x04060; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x04061; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x04062; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v2, v2, v24063; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v0, v0, v04064; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v3, v3, v34065; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v1, v1, v14066; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)4067; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v0, v0, v24068; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v1, v1, v34069; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]4070;4071; GFX12-GISEL-LABEL: v_maximumnum_v4f16:4072; GFX12-GISEL:       ; %bb.0:4073; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x04074; GFX12-GISEL-NEXT:    s_wait_expcnt 0x04075; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x04076; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x04077; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x04078; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v0, v0, v04079; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v2, v2, v24080; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v1, v1, v14081; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v3, v3, v34082; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)4083; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v0, v0, v24084; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v1, v1, v34085; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]4086  %result = call <4 x half> @llvm.maximumnum.v4f16(<4 x half> %x, <4 x half> %y)4087  ret <4 x half> %result4088}4089 4090define <4 x half> @v_maximumnum_v4f16_nnan(<4 x half> %x, <4 x half> %y) {4091; GFX7-SDAG-LABEL: v_maximumnum_v4f16_nnan:4092; GFX7-SDAG:       ; %bb.0:4093; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4094; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v7, v74095; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v6, v64096; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v3, v34097; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v2, v24098; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v5, v54099; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v4, v44100; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v04101; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v14102; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v7, v74103; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v6, v64104; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v5, v54105; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v4, v44106; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v04107; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v14108; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v2, v24109; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v3, v34110; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v44111; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v54112; GFX7-SDAG-NEXT:    v_max_f32_e32 v2, v2, v64113; GFX7-SDAG-NEXT:    v_max_f32_e32 v3, v3, v74114; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]4115;4116; GFX7-GISEL-LABEL: v_maximumnum_v4f16_nnan:4117; GFX7-GISEL:       ; %bb.0:4118; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4119; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v04120; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v4, v44121; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v14122; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v5, v54123; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v2, v24124; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v44125; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v4, v64126; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v54127; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v34128; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v5, v74129; GFX7-GISEL-NEXT:    v_max_f32_e32 v2, v2, v44130; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v04131; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v1, v14132; GFX7-GISEL-NEXT:    v_max_f32_e32 v3, v3, v54133; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v2, v24134; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v3, v34135; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]4136;4137; GFX8-SDAG-LABEL: v_maximumnum_v4f16_nnan:4138; GFX8-SDAG:       ; %bb.0:4139; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4140; GFX8-SDAG-NEXT:    v_max_f16_sdwa v4, v1, v3 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14141; GFX8-SDAG-NEXT:    v_max_f16_sdwa v5, v0, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14142; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v34143; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v24144; GFX8-SDAG-NEXT:    v_or_b32_e32 v0, v0, v54145; GFX8-SDAG-NEXT:    v_or_b32_e32 v1, v1, v44146; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]4147;4148; GFX8-GISEL-LABEL: v_maximumnum_v4f16_nnan:4149; GFX8-GISEL:       ; %bb.0:4150; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4151; GFX8-GISEL-NEXT:    v_max_f16_e32 v4, v0, v24152; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14153; GFX8-GISEL-NEXT:    v_max_f16_e32 v2, v1, v34154; GFX8-GISEL-NEXT:    v_max_f16_sdwa v1, v1, v3 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14155; GFX8-GISEL-NEXT:    v_or_b32_e32 v0, v4, v04156; GFX8-GISEL-NEXT:    v_or_b32_e32 v1, v2, v14157; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]4158;4159; GFX9-LABEL: v_maximumnum_v4f16_nnan:4160; GFX9:       ; %bb.0:4161; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4162; GFX9-NEXT:    v_pk_max_f16 v0, v0, v24163; GFX9-NEXT:    v_pk_max_f16 v1, v1, v34164; GFX9-NEXT:    s_setpc_b64 s[30:31]4165;4166; GFX10-LABEL: v_maximumnum_v4f16_nnan:4167; GFX10:       ; %bb.0:4168; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4169; GFX10-NEXT:    v_pk_max_f16 v0, v0, v24170; GFX10-NEXT:    v_pk_max_f16 v1, v1, v34171; GFX10-NEXT:    s_setpc_b64 s[30:31]4172;4173; GFX11-LABEL: v_maximumnum_v4f16_nnan:4174; GFX11:       ; %bb.0:4175; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4176; GFX11-NEXT:    v_pk_max_f16 v0, v0, v24177; GFX11-NEXT:    v_pk_max_f16 v1, v1, v34178; GFX11-NEXT:    s_setpc_b64 s[30:31]4179;4180; GFX12-LABEL: v_maximumnum_v4f16_nnan:4181; GFX12:       ; %bb.0:4182; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x04183; GFX12-NEXT:    s_wait_expcnt 0x04184; GFX12-NEXT:    s_wait_samplecnt 0x04185; GFX12-NEXT:    s_wait_bvhcnt 0x04186; GFX12-NEXT:    s_wait_kmcnt 0x04187; GFX12-NEXT:    v_pk_max_num_f16 v0, v0, v24188; GFX12-NEXT:    v_pk_max_num_f16 v1, v1, v34189; GFX12-NEXT:    s_setpc_b64 s[30:31]4190  %result = call nnan <4 x half> @llvm.maximumnum.v4f16(<4 x half> %x, <4 x half> %y)4191  ret <4 x half> %result4192}4193 4194define <6 x half> @v_maximumnum_v6f16(<6 x half> %x, <6 x half> %y) {4195; GFX7-SDAG-LABEL: v_maximumnum_v6f16:4196; GFX7-SDAG:       ; %bb.0:4197; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4198; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v5, v54199; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v11, v114200; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v4, v44201; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v10, v104202; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v3, v34203; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v2, v24204; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v9, v94205; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v8, v84206; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v14207; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v04208; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v6, v64209; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v7, v74210; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v5, v54211; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v11, v114212; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v4, v44213; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v10, v104214; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v3, v34215; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v2, v24216; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v14217; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v04218; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v6, v64219; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v7, v74220; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v8, v84221; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v9, v94222; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v64223; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v74224; GFX7-SDAG-NEXT:    v_max_f32_e32 v2, v2, v84225; GFX7-SDAG-NEXT:    v_max_f32_e32 v3, v3, v94226; GFX7-SDAG-NEXT:    v_max_f32_e32 v4, v4, v104227; GFX7-SDAG-NEXT:    v_max_f32_e32 v5, v5, v114228; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]4229;4230; GFX7-GISEL-LABEL: v_maximumnum_v6f16:4231; GFX7-GISEL:       ; %bb.0:4232; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4233; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v04234; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v6, v64235; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v14236; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v7, v74237; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v2, v24238; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v64239; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v6, v84240; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v74241; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v34242; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v7, v94243; GFX7-GISEL-NEXT:    v_max_f32_e32 v2, v2, v64244; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v4, v44245; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v6, v104246; GFX7-GISEL-NEXT:    v_max_f32_e32 v3, v3, v74247; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v5, v54248; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v7, v114249; GFX7-GISEL-NEXT:    v_max_f32_e32 v4, v4, v64250; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v04251; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v1, v14252; GFX7-GISEL-NEXT:    v_max_f32_e32 v5, v5, v74253; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v2, v24254; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v3, v34255; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v4, v44256; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v5, v54257; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]4258;4259; GFX8-SDAG-LABEL: v_maximumnum_v6f16:4260; GFX8-SDAG:       ; %bb.0:4261; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4262; GFX8-SDAG-NEXT:    v_max_f16_sdwa v6, v5, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14263; GFX8-SDAG-NEXT:    v_max_f16_sdwa v7, v2, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14264; GFX8-SDAG-NEXT:    v_max_f16_sdwa v6, v7, v6 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4265; GFX8-SDAG-NEXT:    v_max_f16_sdwa v7, v4, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14266; GFX8-SDAG-NEXT:    v_max_f16_sdwa v8, v1, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14267; GFX8-SDAG-NEXT:    v_max_f16_sdwa v7, v8, v7 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4268; GFX8-SDAG-NEXT:    v_max_f16_sdwa v8, v3, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14269; GFX8-SDAG-NEXT:    v_max_f16_sdwa v9, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14270; GFX8-SDAG-NEXT:    v_max_f16_e32 v5, v5, v54271; GFX8-SDAG-NEXT:    v_max_f16_e32 v2, v2, v24272; GFX8-SDAG-NEXT:    v_max_f16_e32 v4, v4, v44273; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v14274; GFX8-SDAG-NEXT:    v_max_f16_e32 v3, v3, v34275; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v04276; GFX8-SDAG-NEXT:    v_max_f16_sdwa v8, v9, v8 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4277; GFX8-SDAG-NEXT:    v_max_f16_e32 v2, v2, v54278; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v44279; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v34280; GFX8-SDAG-NEXT:    v_or_b32_e32 v0, v0, v84281; GFX8-SDAG-NEXT:    v_or_b32_e32 v1, v1, v74282; GFX8-SDAG-NEXT:    v_or_b32_e32 v2, v2, v64283; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]4284;4285; GFX8-GISEL-LABEL: v_maximumnum_v6f16:4286; GFX8-GISEL:       ; %bb.0:4287; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4288; GFX8-GISEL-NEXT:    v_max_f16_e32 v6, v0, v04289; GFX8-GISEL-NEXT:    v_max_f16_e32 v7, v3, v34290; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14291; GFX8-GISEL-NEXT:    v_max_f16_sdwa v3, v3, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14292; GFX8-GISEL-NEXT:    v_max_f16_e32 v6, v6, v74293; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v3 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4294; GFX8-GISEL-NEXT:    v_max_f16_e32 v3, v1, v14295; GFX8-GISEL-NEXT:    v_max_f16_e32 v7, v4, v44296; GFX8-GISEL-NEXT:    v_max_f16_sdwa v1, v1, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14297; GFX8-GISEL-NEXT:    v_max_f16_sdwa v4, v4, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14298; GFX8-GISEL-NEXT:    v_max_f16_e32 v3, v3, v74299; GFX8-GISEL-NEXT:    v_max_f16_sdwa v1, v1, v4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4300; GFX8-GISEL-NEXT:    v_max_f16_e32 v4, v2, v24301; GFX8-GISEL-NEXT:    v_max_f16_e32 v7, v5, v54302; GFX8-GISEL-NEXT:    v_max_f16_sdwa v2, v2, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14303; GFX8-GISEL-NEXT:    v_max_f16_sdwa v5, v5, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14304; GFX8-GISEL-NEXT:    v_max_f16_e32 v4, v4, v74305; GFX8-GISEL-NEXT:    v_max_f16_sdwa v2, v2, v5 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4306; GFX8-GISEL-NEXT:    v_or_b32_e32 v0, v6, v04307; GFX8-GISEL-NEXT:    v_or_b32_e32 v1, v3, v14308; GFX8-GISEL-NEXT:    v_or_b32_e32 v2, v4, v24309; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]4310;4311; GFX900-SDAG-LABEL: v_maximumnum_v6f16:4312; GFX900-SDAG:       ; %bb.0:4313; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4314; GFX900-SDAG-NEXT:    v_pk_max_f16 v3, v3, v34315; GFX900-SDAG-NEXT:    v_pk_max_f16 v0, v0, v04316; GFX900-SDAG-NEXT:    v_pk_max_f16 v0, v0, v34317; GFX900-SDAG-NEXT:    v_pk_max_f16 v3, v4, v44318; GFX900-SDAG-NEXT:    v_pk_max_f16 v1, v1, v14319; GFX900-SDAG-NEXT:    v_pk_max_f16 v1, v1, v34320; GFX900-SDAG-NEXT:    v_pk_max_f16 v3, v5, v54321; GFX900-SDAG-NEXT:    v_pk_max_f16 v2, v2, v24322; GFX900-SDAG-NEXT:    v_pk_max_f16 v2, v2, v34323; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]4324;4325; GFX900-GISEL-LABEL: v_maximumnum_v6f16:4326; GFX900-GISEL:       ; %bb.0:4327; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4328; GFX900-GISEL-NEXT:    v_pk_max_f16 v0, v0, v04329; GFX900-GISEL-NEXT:    v_pk_max_f16 v3, v3, v34330; GFX900-GISEL-NEXT:    v_pk_max_f16 v0, v0, v34331; GFX900-GISEL-NEXT:    v_pk_max_f16 v1, v1, v14332; GFX900-GISEL-NEXT:    v_pk_max_f16 v3, v4, v44333; GFX900-GISEL-NEXT:    v_pk_max_f16 v1, v1, v34334; GFX900-GISEL-NEXT:    v_pk_max_f16 v2, v2, v24335; GFX900-GISEL-NEXT:    v_pk_max_f16 v3, v5, v54336; GFX900-GISEL-NEXT:    v_pk_max_f16 v2, v2, v34337; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]4338;4339; GFX950-SDAG-LABEL: v_maximumnum_v6f16:4340; GFX950-SDAG:       ; %bb.0:4341; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4342; GFX950-SDAG-NEXT:    v_pk_max_f16 v3, v3, v34343; GFX950-SDAG-NEXT:    v_pk_max_f16 v0, v0, v04344; GFX950-SDAG-NEXT:    v_pk_max_f16 v1, v1, v14345; GFX950-SDAG-NEXT:    v_pk_max_f16 v0, v0, v34346; GFX950-SDAG-NEXT:    v_pk_max_f16 v3, v4, v44347; GFX950-SDAG-NEXT:    v_pk_max_f16 v2, v2, v24348; GFX950-SDAG-NEXT:    v_pk_max_f16 v1, v1, v34349; GFX950-SDAG-NEXT:    v_pk_max_f16 v3, v5, v54350; GFX950-SDAG-NEXT:    s_nop 04351; GFX950-SDAG-NEXT:    v_pk_max_f16 v2, v2, v34352; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]4353;4354; GFX950-GISEL-LABEL: v_maximumnum_v6f16:4355; GFX950-GISEL:       ; %bb.0:4356; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4357; GFX950-GISEL-NEXT:    v_pk_max_f16 v0, v0, v04358; GFX950-GISEL-NEXT:    v_pk_max_f16 v3, v3, v34359; GFX950-GISEL-NEXT:    v_pk_max_f16 v1, v1, v14360; GFX950-GISEL-NEXT:    v_pk_max_f16 v0, v0, v34361; GFX950-GISEL-NEXT:    v_pk_max_f16 v3, v4, v44362; GFX950-GISEL-NEXT:    v_pk_max_f16 v2, v2, v24363; GFX950-GISEL-NEXT:    v_pk_max_f16 v1, v1, v34364; GFX950-GISEL-NEXT:    v_pk_max_f16 v3, v5, v54365; GFX950-GISEL-NEXT:    s_nop 04366; GFX950-GISEL-NEXT:    v_pk_max_f16 v2, v2, v34367; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]4368;4369; GFX10-SDAG-LABEL: v_maximumnum_v6f16:4370; GFX10-SDAG:       ; %bb.0:4371; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4372; GFX10-SDAG-NEXT:    v_pk_max_f16 v3, v3, v34373; GFX10-SDAG-NEXT:    v_pk_max_f16 v0, v0, v04374; GFX10-SDAG-NEXT:    v_pk_max_f16 v4, v4, v44375; GFX10-SDAG-NEXT:    v_pk_max_f16 v1, v1, v14376; GFX10-SDAG-NEXT:    v_pk_max_f16 v5, v5, v54377; GFX10-SDAG-NEXT:    v_pk_max_f16 v2, v2, v24378; GFX10-SDAG-NEXT:    v_pk_max_f16 v0, v0, v34379; GFX10-SDAG-NEXT:    v_pk_max_f16 v1, v1, v44380; GFX10-SDAG-NEXT:    v_pk_max_f16 v2, v2, v54381; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]4382;4383; GFX10-GISEL-LABEL: v_maximumnum_v6f16:4384; GFX10-GISEL:       ; %bb.0:4385; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4386; GFX10-GISEL-NEXT:    v_pk_max_f16 v0, v0, v04387; GFX10-GISEL-NEXT:    v_pk_max_f16 v3, v3, v34388; GFX10-GISEL-NEXT:    v_pk_max_f16 v1, v1, v14389; GFX10-GISEL-NEXT:    v_pk_max_f16 v4, v4, v44390; GFX10-GISEL-NEXT:    v_pk_max_f16 v2, v2, v24391; GFX10-GISEL-NEXT:    v_pk_max_f16 v5, v5, v54392; GFX10-GISEL-NEXT:    v_pk_max_f16 v0, v0, v34393; GFX10-GISEL-NEXT:    v_pk_max_f16 v1, v1, v44394; GFX10-GISEL-NEXT:    v_pk_max_f16 v2, v2, v54395; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]4396;4397; GFX11-SDAG-LABEL: v_maximumnum_v6f16:4398; GFX11-SDAG:       ; %bb.0:4399; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4400; GFX11-SDAG-NEXT:    v_pk_max_f16 v3, v3, v34401; GFX11-SDAG-NEXT:    v_pk_max_f16 v0, v0, v04402; GFX11-SDAG-NEXT:    v_pk_max_f16 v4, v4, v44403; GFX11-SDAG-NEXT:    v_pk_max_f16 v1, v1, v14404; GFX11-SDAG-NEXT:    v_pk_max_f16 v5, v5, v54405; GFX11-SDAG-NEXT:    v_pk_max_f16 v2, v2, v24406; GFX11-SDAG-NEXT:    v_pk_max_f16 v0, v0, v34407; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)4408; GFX11-SDAG-NEXT:    v_pk_max_f16 v1, v1, v44409; GFX11-SDAG-NEXT:    v_pk_max_f16 v2, v2, v54410; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]4411;4412; GFX11-GISEL-LABEL: v_maximumnum_v6f16:4413; GFX11-GISEL:       ; %bb.0:4414; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4415; GFX11-GISEL-NEXT:    v_pk_max_f16 v0, v0, v04416; GFX11-GISEL-NEXT:    v_pk_max_f16 v3, v3, v34417; GFX11-GISEL-NEXT:    v_pk_max_f16 v1, v1, v14418; GFX11-GISEL-NEXT:    v_pk_max_f16 v4, v4, v44419; GFX11-GISEL-NEXT:    v_pk_max_f16 v2, v2, v24420; GFX11-GISEL-NEXT:    v_pk_max_f16 v5, v5, v54421; GFX11-GISEL-NEXT:    v_pk_max_f16 v0, v0, v34422; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)4423; GFX11-GISEL-NEXT:    v_pk_max_f16 v1, v1, v44424; GFX11-GISEL-NEXT:    v_pk_max_f16 v2, v2, v54425; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]4426;4427; GFX12-SDAG-LABEL: v_maximumnum_v6f16:4428; GFX12-SDAG:       ; %bb.0:4429; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x04430; GFX12-SDAG-NEXT:    s_wait_expcnt 0x04431; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x04432; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x04433; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x04434; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v3, v3, v34435; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v0, v0, v04436; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v4, v4, v44437; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v1, v1, v14438; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v5, v5, v54439; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v2, v2, v24440; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v0, v0, v34441; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)4442; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v1, v1, v44443; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v2, v2, v54444; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]4445;4446; GFX12-GISEL-LABEL: v_maximumnum_v6f16:4447; GFX12-GISEL:       ; %bb.0:4448; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x04449; GFX12-GISEL-NEXT:    s_wait_expcnt 0x04450; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x04451; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x04452; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x04453; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v0, v0, v04454; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v3, v3, v34455; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v1, v1, v14456; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v4, v4, v44457; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v2, v2, v24458; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v5, v5, v54459; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v0, v0, v34460; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)4461; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v1, v1, v44462; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v2, v2, v54463; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]4464  %result = call <6 x half> @llvm.maximumnum.v6f16(<6 x half> %x, <6 x half> %y)4465  ret <6 x half> %result4466}4467 4468define <8 x half> @v_maximumnum_v8f16(<8 x half> %x, <8 x half> %y) {4469; GFX7-SDAG-LABEL: v_maximumnum_v8f16:4470; GFX7-SDAG:       ; %bb.0:4471; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4472; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v7, v74473; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v15, v154474; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v6, v64475; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v14, v144476; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v5, v54477; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v13, v134478; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v4, v44479; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v12, v124480; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v3, v34481; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v2, v24482; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v11, v114483; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v10, v104484; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v14485; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v04486; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v8, v84487; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v9, v94488; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v7, v74489; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v15, v154490; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v6, v64491; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v14, v144492; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v5, v54493; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v13, v134494; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v4, v44495; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v12, v124496; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v3, v34497; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v2, v24498; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v14499; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v04500; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v8, v84501; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v9, v94502; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v10, v104503; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v11, v114504; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v84505; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v94506; GFX7-SDAG-NEXT:    v_max_f32_e32 v2, v2, v104507; GFX7-SDAG-NEXT:    v_max_f32_e32 v3, v3, v114508; GFX7-SDAG-NEXT:    v_max_f32_e32 v4, v4, v124509; GFX7-SDAG-NEXT:    v_max_f32_e32 v5, v5, v134510; GFX7-SDAG-NEXT:    v_max_f32_e32 v6, v6, v144511; GFX7-SDAG-NEXT:    v_max_f32_e32 v7, v7, v154512; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]4513;4514; GFX7-GISEL-LABEL: v_maximumnum_v8f16:4515; GFX7-GISEL:       ; %bb.0:4516; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4517; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v04518; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v8, v84519; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v14520; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v9, v94521; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v2, v24522; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v84523; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v8, v104524; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v94525; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v34526; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v9, v114527; GFX7-GISEL-NEXT:    v_max_f32_e32 v2, v2, v84528; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v4, v44529; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v8, v124530; GFX7-GISEL-NEXT:    v_max_f32_e32 v3, v3, v94531; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v5, v54532; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v9, v134533; GFX7-GISEL-NEXT:    v_max_f32_e32 v4, v4, v84534; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v6, v64535; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v8, v144536; GFX7-GISEL-NEXT:    v_max_f32_e32 v5, v5, v94537; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v7, v74538; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v9, v154539; GFX7-GISEL-NEXT:    v_max_f32_e32 v6, v6, v84540; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v04541; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v1, v14542; GFX7-GISEL-NEXT:    v_max_f32_e32 v7, v7, v94543; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v2, v24544; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v3, v34545; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v4, v44546; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v5, v54547; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v6, v64548; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v7, v74549; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]4550;4551; GFX8-SDAG-LABEL: v_maximumnum_v8f16:4552; GFX8-SDAG:       ; %bb.0:4553; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4554; GFX8-SDAG-NEXT:    v_max_f16_sdwa v8, v7, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14555; GFX8-SDAG-NEXT:    v_max_f16_sdwa v9, v3, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14556; GFX8-SDAG-NEXT:    v_max_f16_sdwa v8, v9, v8 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4557; GFX8-SDAG-NEXT:    v_max_f16_sdwa v9, v6, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14558; GFX8-SDAG-NEXT:    v_max_f16_sdwa v10, v2, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14559; GFX8-SDAG-NEXT:    v_max_f16_sdwa v9, v10, v9 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4560; GFX8-SDAG-NEXT:    v_max_f16_sdwa v10, v5, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14561; GFX8-SDAG-NEXT:    v_max_f16_sdwa v11, v1, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14562; GFX8-SDAG-NEXT:    v_max_f16_sdwa v10, v11, v10 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4563; GFX8-SDAG-NEXT:    v_max_f16_sdwa v11, v4, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14564; GFX8-SDAG-NEXT:    v_max_f16_sdwa v12, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14565; GFX8-SDAG-NEXT:    v_max_f16_e32 v7, v7, v74566; GFX8-SDAG-NEXT:    v_max_f16_e32 v3, v3, v34567; GFX8-SDAG-NEXT:    v_max_f16_e32 v6, v6, v64568; GFX8-SDAG-NEXT:    v_max_f16_e32 v2, v2, v24569; GFX8-SDAG-NEXT:    v_max_f16_e32 v5, v5, v54570; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v14571; GFX8-SDAG-NEXT:    v_max_f16_e32 v4, v4, v44572; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v04573; GFX8-SDAG-NEXT:    v_max_f16_sdwa v11, v12, v11 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4574; GFX8-SDAG-NEXT:    v_max_f16_e32 v3, v3, v74575; GFX8-SDAG-NEXT:    v_max_f16_e32 v2, v2, v64576; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v54577; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v44578; GFX8-SDAG-NEXT:    v_or_b32_e32 v0, v0, v114579; GFX8-SDAG-NEXT:    v_or_b32_e32 v1, v1, v104580; GFX8-SDAG-NEXT:    v_or_b32_e32 v2, v2, v94581; GFX8-SDAG-NEXT:    v_or_b32_e32 v3, v3, v84582; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]4583;4584; GFX8-GISEL-LABEL: v_maximumnum_v8f16:4585; GFX8-GISEL:       ; %bb.0:4586; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4587; GFX8-GISEL-NEXT:    v_max_f16_e32 v8, v0, v04588; GFX8-GISEL-NEXT:    v_max_f16_e32 v9, v4, v44589; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14590; GFX8-GISEL-NEXT:    v_max_f16_sdwa v4, v4, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14591; GFX8-GISEL-NEXT:    v_max_f16_e32 v8, v8, v94592; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v4 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4593; GFX8-GISEL-NEXT:    v_max_f16_e32 v4, v1, v14594; GFX8-GISEL-NEXT:    v_max_f16_e32 v9, v5, v54595; GFX8-GISEL-NEXT:    v_max_f16_sdwa v1, v1, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14596; GFX8-GISEL-NEXT:    v_max_f16_sdwa v5, v5, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14597; GFX8-GISEL-NEXT:    v_max_f16_e32 v4, v4, v94598; GFX8-GISEL-NEXT:    v_max_f16_sdwa v1, v1, v5 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4599; GFX8-GISEL-NEXT:    v_max_f16_e32 v5, v2, v24600; GFX8-GISEL-NEXT:    v_max_f16_e32 v9, v6, v64601; GFX8-GISEL-NEXT:    v_max_f16_sdwa v2, v2, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14602; GFX8-GISEL-NEXT:    v_max_f16_sdwa v6, v6, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14603; GFX8-GISEL-NEXT:    v_max_f16_e32 v5, v5, v94604; GFX8-GISEL-NEXT:    v_max_f16_sdwa v2, v2, v6 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4605; GFX8-GISEL-NEXT:    v_max_f16_e32 v6, v3, v34606; GFX8-GISEL-NEXT:    v_max_f16_e32 v9, v7, v74607; GFX8-GISEL-NEXT:    v_max_f16_sdwa v3, v3, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14608; GFX8-GISEL-NEXT:    v_max_f16_sdwa v7, v7, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14609; GFX8-GISEL-NEXT:    v_max_f16_e32 v6, v6, v94610; GFX8-GISEL-NEXT:    v_max_f16_sdwa v3, v3, v7 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4611; GFX8-GISEL-NEXT:    v_or_b32_e32 v0, v8, v04612; GFX8-GISEL-NEXT:    v_or_b32_e32 v1, v4, v14613; GFX8-GISEL-NEXT:    v_or_b32_e32 v2, v5, v24614; GFX8-GISEL-NEXT:    v_or_b32_e32 v3, v6, v34615; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]4616;4617; GFX900-SDAG-LABEL: v_maximumnum_v8f16:4618; GFX900-SDAG:       ; %bb.0:4619; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4620; GFX900-SDAG-NEXT:    v_pk_max_f16 v4, v4, v44621; GFX900-SDAG-NEXT:    v_pk_max_f16 v0, v0, v04622; GFX900-SDAG-NEXT:    v_pk_max_f16 v0, v0, v44623; GFX900-SDAG-NEXT:    v_pk_max_f16 v4, v5, v54624; GFX900-SDAG-NEXT:    v_pk_max_f16 v1, v1, v14625; GFX900-SDAG-NEXT:    v_pk_max_f16 v1, v1, v44626; GFX900-SDAG-NEXT:    v_pk_max_f16 v4, v6, v64627; GFX900-SDAG-NEXT:    v_pk_max_f16 v2, v2, v24628; GFX900-SDAG-NEXT:    v_pk_max_f16 v2, v2, v44629; GFX900-SDAG-NEXT:    v_pk_max_f16 v4, v7, v74630; GFX900-SDAG-NEXT:    v_pk_max_f16 v3, v3, v34631; GFX900-SDAG-NEXT:    v_pk_max_f16 v3, v3, v44632; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]4633;4634; GFX900-GISEL-LABEL: v_maximumnum_v8f16:4635; GFX900-GISEL:       ; %bb.0:4636; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4637; GFX900-GISEL-NEXT:    v_pk_max_f16 v0, v0, v04638; GFX900-GISEL-NEXT:    v_pk_max_f16 v4, v4, v44639; GFX900-GISEL-NEXT:    v_pk_max_f16 v0, v0, v44640; GFX900-GISEL-NEXT:    v_pk_max_f16 v1, v1, v14641; GFX900-GISEL-NEXT:    v_pk_max_f16 v4, v5, v54642; GFX900-GISEL-NEXT:    v_pk_max_f16 v1, v1, v44643; GFX900-GISEL-NEXT:    v_pk_max_f16 v2, v2, v24644; GFX900-GISEL-NEXT:    v_pk_max_f16 v4, v6, v64645; GFX900-GISEL-NEXT:    v_pk_max_f16 v2, v2, v44646; GFX900-GISEL-NEXT:    v_pk_max_f16 v3, v3, v34647; GFX900-GISEL-NEXT:    v_pk_max_f16 v4, v7, v74648; GFX900-GISEL-NEXT:    v_pk_max_f16 v3, v3, v44649; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]4650;4651; GFX950-SDAG-LABEL: v_maximumnum_v8f16:4652; GFX950-SDAG:       ; %bb.0:4653; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4654; GFX950-SDAG-NEXT:    v_pk_max_f16 v4, v4, v44655; GFX950-SDAG-NEXT:    v_pk_max_f16 v0, v0, v04656; GFX950-SDAG-NEXT:    v_pk_max_f16 v1, v1, v14657; GFX950-SDAG-NEXT:    v_pk_max_f16 v0, v0, v44658; GFX950-SDAG-NEXT:    v_pk_max_f16 v4, v5, v54659; GFX950-SDAG-NEXT:    v_pk_max_f16 v2, v2, v24660; GFX950-SDAG-NEXT:    v_pk_max_f16 v1, v1, v44661; GFX950-SDAG-NEXT:    v_pk_max_f16 v4, v6, v64662; GFX950-SDAG-NEXT:    v_pk_max_f16 v3, v3, v34663; GFX950-SDAG-NEXT:    v_pk_max_f16 v2, v2, v44664; GFX950-SDAG-NEXT:    v_pk_max_f16 v4, v7, v74665; GFX950-SDAG-NEXT:    s_nop 04666; GFX950-SDAG-NEXT:    v_pk_max_f16 v3, v3, v44667; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]4668;4669; GFX950-GISEL-LABEL: v_maximumnum_v8f16:4670; GFX950-GISEL:       ; %bb.0:4671; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4672; GFX950-GISEL-NEXT:    v_pk_max_f16 v0, v0, v04673; GFX950-GISEL-NEXT:    v_pk_max_f16 v4, v4, v44674; GFX950-GISEL-NEXT:    v_pk_max_f16 v1, v1, v14675; GFX950-GISEL-NEXT:    v_pk_max_f16 v0, v0, v44676; GFX950-GISEL-NEXT:    v_pk_max_f16 v4, v5, v54677; GFX950-GISEL-NEXT:    v_pk_max_f16 v2, v2, v24678; GFX950-GISEL-NEXT:    v_pk_max_f16 v1, v1, v44679; GFX950-GISEL-NEXT:    v_pk_max_f16 v4, v6, v64680; GFX950-GISEL-NEXT:    v_pk_max_f16 v3, v3, v34681; GFX950-GISEL-NEXT:    v_pk_max_f16 v2, v2, v44682; GFX950-GISEL-NEXT:    v_pk_max_f16 v4, v7, v74683; GFX950-GISEL-NEXT:    s_nop 04684; GFX950-GISEL-NEXT:    v_pk_max_f16 v3, v3, v44685; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]4686;4687; GFX10-SDAG-LABEL: v_maximumnum_v8f16:4688; GFX10-SDAG:       ; %bb.0:4689; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4690; GFX10-SDAG-NEXT:    v_pk_max_f16 v4, v4, v44691; GFX10-SDAG-NEXT:    v_pk_max_f16 v0, v0, v04692; GFX10-SDAG-NEXT:    v_pk_max_f16 v5, v5, v54693; GFX10-SDAG-NEXT:    v_pk_max_f16 v1, v1, v14694; GFX10-SDAG-NEXT:    v_pk_max_f16 v6, v6, v64695; GFX10-SDAG-NEXT:    v_pk_max_f16 v2, v2, v24696; GFX10-SDAG-NEXT:    v_pk_max_f16 v7, v7, v74697; GFX10-SDAG-NEXT:    v_pk_max_f16 v3, v3, v34698; GFX10-SDAG-NEXT:    v_pk_max_f16 v0, v0, v44699; GFX10-SDAG-NEXT:    v_pk_max_f16 v1, v1, v54700; GFX10-SDAG-NEXT:    v_pk_max_f16 v2, v2, v64701; GFX10-SDAG-NEXT:    v_pk_max_f16 v3, v3, v74702; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]4703;4704; GFX10-GISEL-LABEL: v_maximumnum_v8f16:4705; GFX10-GISEL:       ; %bb.0:4706; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4707; GFX10-GISEL-NEXT:    v_pk_max_f16 v0, v0, v04708; GFX10-GISEL-NEXT:    v_pk_max_f16 v4, v4, v44709; GFX10-GISEL-NEXT:    v_pk_max_f16 v1, v1, v14710; GFX10-GISEL-NEXT:    v_pk_max_f16 v5, v5, v54711; GFX10-GISEL-NEXT:    v_pk_max_f16 v2, v2, v24712; GFX10-GISEL-NEXT:    v_pk_max_f16 v6, v6, v64713; GFX10-GISEL-NEXT:    v_pk_max_f16 v3, v3, v34714; GFX10-GISEL-NEXT:    v_pk_max_f16 v7, v7, v74715; GFX10-GISEL-NEXT:    v_pk_max_f16 v0, v0, v44716; GFX10-GISEL-NEXT:    v_pk_max_f16 v1, v1, v54717; GFX10-GISEL-NEXT:    v_pk_max_f16 v2, v2, v64718; GFX10-GISEL-NEXT:    v_pk_max_f16 v3, v3, v74719; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]4720;4721; GFX11-SDAG-LABEL: v_maximumnum_v8f16:4722; GFX11-SDAG:       ; %bb.0:4723; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4724; GFX11-SDAG-NEXT:    v_pk_max_f16 v4, v4, v44725; GFX11-SDAG-NEXT:    v_pk_max_f16 v0, v0, v04726; GFX11-SDAG-NEXT:    v_pk_max_f16 v5, v5, v54727; GFX11-SDAG-NEXT:    v_pk_max_f16 v1, v1, v14728; GFX11-SDAG-NEXT:    v_pk_max_f16 v6, v6, v64729; GFX11-SDAG-NEXT:    v_pk_max_f16 v2, v2, v24730; GFX11-SDAG-NEXT:    v_pk_max_f16 v7, v7, v74731; GFX11-SDAG-NEXT:    v_pk_max_f16 v3, v3, v34732; GFX11-SDAG-NEXT:    v_pk_max_f16 v0, v0, v44733; GFX11-SDAG-NEXT:    v_pk_max_f16 v1, v1, v54734; GFX11-SDAG-NEXT:    v_pk_max_f16 v2, v2, v64735; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_4)4736; GFX11-SDAG-NEXT:    v_pk_max_f16 v3, v3, v74737; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]4738;4739; GFX11-GISEL-LABEL: v_maximumnum_v8f16:4740; GFX11-GISEL:       ; %bb.0:4741; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4742; GFX11-GISEL-NEXT:    v_pk_max_f16 v0, v0, v04743; GFX11-GISEL-NEXT:    v_pk_max_f16 v4, v4, v44744; GFX11-GISEL-NEXT:    v_pk_max_f16 v1, v1, v14745; GFX11-GISEL-NEXT:    v_pk_max_f16 v5, v5, v54746; GFX11-GISEL-NEXT:    v_pk_max_f16 v2, v2, v24747; GFX11-GISEL-NEXT:    v_pk_max_f16 v6, v6, v64748; GFX11-GISEL-NEXT:    v_pk_max_f16 v3, v3, v34749; GFX11-GISEL-NEXT:    v_pk_max_f16 v7, v7, v74750; GFX11-GISEL-NEXT:    v_pk_max_f16 v0, v0, v44751; GFX11-GISEL-NEXT:    v_pk_max_f16 v1, v1, v54752; GFX11-GISEL-NEXT:    v_pk_max_f16 v2, v2, v64753; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_4)4754; GFX11-GISEL-NEXT:    v_pk_max_f16 v3, v3, v74755; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]4756;4757; GFX12-SDAG-LABEL: v_maximumnum_v8f16:4758; GFX12-SDAG:       ; %bb.0:4759; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x04760; GFX12-SDAG-NEXT:    s_wait_expcnt 0x04761; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x04762; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x04763; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x04764; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v4, v4, v44765; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v0, v0, v04766; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v5, v5, v54767; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v1, v1, v14768; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v6, v6, v64769; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v2, v2, v24770; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v7, v7, v74771; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v3, v3, v34772; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v0, v0, v44773; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v1, v1, v54774; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v2, v2, v64775; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_4)4776; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v3, v3, v74777; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]4778;4779; GFX12-GISEL-LABEL: v_maximumnum_v8f16:4780; GFX12-GISEL:       ; %bb.0:4781; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x04782; GFX12-GISEL-NEXT:    s_wait_expcnt 0x04783; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x04784; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x04785; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x04786; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v0, v0, v04787; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v4, v4, v44788; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v1, v1, v14789; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v5, v5, v54790; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v2, v2, v24791; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v6, v6, v64792; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v3, v3, v34793; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v7, v7, v74794; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v0, v0, v44795; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v1, v1, v54796; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v2, v2, v64797; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_4)4798; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v3, v3, v74799; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]4800  %result = call <8 x half> @llvm.maximumnum.v8f16(<8 x half> %x, <8 x half> %y)4801  ret <8 x half> %result4802}4803 4804define <16 x half> @v_maximumnum_v16f16(<16 x half> %x, <16 x half> %y) {4805; GFX7-SDAG-LABEL: v_maximumnum_v16f16:4806; GFX7-SDAG:       ; %bb.0:4807; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4808; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v04809; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v16, v164810; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v14811; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v2, v24812; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v04813; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v16, v164814; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v14815; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v2, v24816; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v3, v34817; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v164818; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v16, v174819; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v4, v44820; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v3, v34821; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v17, v204822; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v16, v164823; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v5, v54824; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v6, v64825; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v4, v44826; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v164827; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v16, v184828; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v18, v214829; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v17, v174830; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v5, v54831; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v16, v164832; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v18, v184833; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v6, v64834; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v7, v74835; GFX7-SDAG-NEXT:    v_max_f32_e32 v2, v2, v164836; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v16, v194837; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v19, v224838; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v20, v234839; GFX7-SDAG-NEXT:    v_max_f32_e32 v4, v4, v174840; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v16, v164841; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v19, v194842; GFX7-SDAG-NEXT:    v_max_f32_e32 v5, v5, v184843; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v8, v84844; GFX7-SDAG-NEXT:    v_max_f32_e32 v3, v3, v164845; GFX7-SDAG-NEXT:    buffer_load_dword v16, off, s[0:3], s324846; GFX7-SDAG-NEXT:    v_max_f32_e32 v6, v6, v194847; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v17, v244848; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v9, v94849; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v18, v254850; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v10, v104851; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v19, v264852; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v7, v74853; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v20, v204854; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v8, v84855; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v17, v174856; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v9, v94857; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v18, v184858; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v10, v104859; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v19, v194860; GFX7-SDAG-NEXT:    v_max_f32_e32 v7, v7, v204861; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v11, v114862; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v20, v274863; GFX7-SDAG-NEXT:    v_max_f32_e32 v8, v8, v174864; GFX7-SDAG-NEXT:    v_max_f32_e32 v9, v9, v184865; GFX7-SDAG-NEXT:    v_max_f32_e32 v10, v10, v194866; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v12, v124867; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v17, v284868; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v13, v134869; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v18, v294870; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v14, v144871; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v19, v304872; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v15, v154873; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v11, v114874; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v20, v204875; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v12, v124876; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v17, v174877; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v13, v134878; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v18, v184879; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v14, v144880; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v19, v194881; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v15, v154882; GFX7-SDAG-NEXT:    v_max_f32_e32 v11, v11, v204883; GFX7-SDAG-NEXT:    v_max_f32_e32 v12, v12, v174884; GFX7-SDAG-NEXT:    v_max_f32_e32 v13, v13, v184885; GFX7-SDAG-NEXT:    v_max_f32_e32 v14, v14, v194886; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)4887; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v16, v164888; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v16, v164889; GFX7-SDAG-NEXT:    v_max_f32_e32 v15, v15, v164890; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]4891;4892; GFX7-GISEL-LABEL: v_maximumnum_v16f16:4893; GFX7-GISEL:       ; %bb.0:4894; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4895; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v04896; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v16, v164897; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v14898; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v2, v24899; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v34900; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v164901; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v16, v174902; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v4, v44903; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v17, v204904; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v5, v54905; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v164906; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v16, v184907; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v18, v214908; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v6, v64909; GFX7-GISEL-NEXT:    v_max_f32_e32 v4, v4, v174910; GFX7-GISEL-NEXT:    v_max_f32_e32 v2, v2, v164911; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v16, v194912; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v19, v224913; GFX7-GISEL-NEXT:    v_max_f32_e32 v5, v5, v184914; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v7, v74915; GFX7-GISEL-NEXT:    v_max_f32_e32 v3, v3, v164916; GFX7-GISEL-NEXT:    buffer_load_dword v16, off, s[0:3], s324917; GFX7-GISEL-NEXT:    v_max_f32_e32 v6, v6, v194918; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v17, v234919; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v8, v84920; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v18, v244921; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v9, v94922; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v19, v254923; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v10, v104924; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v20, v264925; GFX7-GISEL-NEXT:    v_max_f32_e32 v7, v7, v174926; GFX7-GISEL-NEXT:    v_max_f32_e32 v8, v8, v184927; GFX7-GISEL-NEXT:    v_max_f32_e32 v9, v9, v194928; GFX7-GISEL-NEXT:    v_max_f32_e32 v10, v10, v204929; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v11, v114930; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v17, v274931; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v12, v124932; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v18, v284933; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v13, v134934; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v19, v294935; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v14, v144936; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v20, v304937; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v15, v154938; GFX7-GISEL-NEXT:    v_max_f32_e32 v11, v11, v174939; GFX7-GISEL-NEXT:    v_max_f32_e32 v12, v12, v184940; GFX7-GISEL-NEXT:    v_max_f32_e32 v13, v13, v194941; GFX7-GISEL-NEXT:    v_max_f32_e32 v14, v14, v204942; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v04943; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v1, v14944; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v2, v24945; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v3, v34946; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v4, v44947; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v5, v54948; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v6, v64949; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v7, v74950; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v8, v84951; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v9, v94952; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v10, v104953; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v11, v114954; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v12, v124955; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v13, v134956; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v14, v144957; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)4958; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v16, v164959; GFX7-GISEL-NEXT:    v_max_f32_e32 v15, v15, v164960; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v15, v154961; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]4962;4963; GFX8-SDAG-LABEL: v_maximumnum_v16f16:4964; GFX8-SDAG:       ; %bb.0:4965; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4966; GFX8-SDAG-NEXT:    v_max_f16_sdwa v16, v15, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14967; GFX8-SDAG-NEXT:    v_max_f16_sdwa v17, v7, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14968; GFX8-SDAG-NEXT:    v_max_f16_sdwa v16, v17, v16 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4969; GFX8-SDAG-NEXT:    v_max_f16_sdwa v17, v14, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14970; GFX8-SDAG-NEXT:    v_max_f16_sdwa v18, v6, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14971; GFX8-SDAG-NEXT:    v_max_f16_sdwa v17, v18, v17 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4972; GFX8-SDAG-NEXT:    v_max_f16_sdwa v18, v13, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14973; GFX8-SDAG-NEXT:    v_max_f16_sdwa v19, v5, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14974; GFX8-SDAG-NEXT:    v_max_f16_sdwa v18, v19, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4975; GFX8-SDAG-NEXT:    v_max_f16_sdwa v19, v12, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14976; GFX8-SDAG-NEXT:    v_max_f16_sdwa v20, v4, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14977; GFX8-SDAG-NEXT:    v_max_f16_sdwa v19, v20, v19 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4978; GFX8-SDAG-NEXT:    v_max_f16_sdwa v20, v11, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14979; GFX8-SDAG-NEXT:    v_max_f16_sdwa v21, v3, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14980; GFX8-SDAG-NEXT:    v_max_f16_sdwa v20, v21, v20 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4981; GFX8-SDAG-NEXT:    v_max_f16_sdwa v21, v10, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14982; GFX8-SDAG-NEXT:    v_max_f16_sdwa v22, v2, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14983; GFX8-SDAG-NEXT:    v_max_f16_sdwa v21, v22, v21 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4984; GFX8-SDAG-NEXT:    v_max_f16_sdwa v22, v9, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14985; GFX8-SDAG-NEXT:    v_max_f16_sdwa v23, v1, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14986; GFX8-SDAG-NEXT:    v_max_f16_sdwa v22, v23, v22 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD4987; GFX8-SDAG-NEXT:    v_max_f16_sdwa v23, v8, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14988; GFX8-SDAG-NEXT:    v_max_f16_sdwa v24, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_14989; GFX8-SDAG-NEXT:    v_max_f16_e32 v15, v15, v154990; GFX8-SDAG-NEXT:    v_max_f16_e32 v7, v7, v74991; GFX8-SDAG-NEXT:    v_max_f16_e32 v14, v14, v144992; GFX8-SDAG-NEXT:    v_max_f16_e32 v6, v6, v64993; GFX8-SDAG-NEXT:    v_max_f16_e32 v13, v13, v134994; GFX8-SDAG-NEXT:    v_max_f16_e32 v5, v5, v54995; GFX8-SDAG-NEXT:    v_max_f16_e32 v12, v12, v124996; GFX8-SDAG-NEXT:    v_max_f16_e32 v4, v4, v44997; GFX8-SDAG-NEXT:    v_max_f16_e32 v11, v11, v114998; GFX8-SDAG-NEXT:    v_max_f16_e32 v3, v3, v34999; GFX8-SDAG-NEXT:    v_max_f16_e32 v10, v10, v105000; GFX8-SDAG-NEXT:    v_max_f16_e32 v2, v2, v25001; GFX8-SDAG-NEXT:    v_max_f16_e32 v9, v9, v95002; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v15003; GFX8-SDAG-NEXT:    v_max_f16_e32 v8, v8, v85004; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v05005; GFX8-SDAG-NEXT:    v_max_f16_sdwa v23, v24, v23 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5006; GFX8-SDAG-NEXT:    v_max_f16_e32 v7, v7, v155007; GFX8-SDAG-NEXT:    v_max_f16_e32 v6, v6, v145008; GFX8-SDAG-NEXT:    v_max_f16_e32 v5, v5, v135009; GFX8-SDAG-NEXT:    v_max_f16_e32 v4, v4, v125010; GFX8-SDAG-NEXT:    v_max_f16_e32 v3, v3, v115011; GFX8-SDAG-NEXT:    v_max_f16_e32 v2, v2, v105012; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v95013; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v85014; GFX8-SDAG-NEXT:    v_or_b32_e32 v0, v0, v235015; GFX8-SDAG-NEXT:    v_or_b32_e32 v1, v1, v225016; GFX8-SDAG-NEXT:    v_or_b32_e32 v2, v2, v215017; GFX8-SDAG-NEXT:    v_or_b32_e32 v3, v3, v205018; GFX8-SDAG-NEXT:    v_or_b32_e32 v4, v4, v195019; GFX8-SDAG-NEXT:    v_or_b32_e32 v5, v5, v185020; GFX8-SDAG-NEXT:    v_or_b32_e32 v6, v6, v175021; GFX8-SDAG-NEXT:    v_or_b32_e32 v7, v7, v165022; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]5023;5024; GFX8-GISEL-LABEL: v_maximumnum_v16f16:5025; GFX8-GISEL:       ; %bb.0:5026; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5027; GFX8-GISEL-NEXT:    v_max_f16_e32 v16, v0, v05028; GFX8-GISEL-NEXT:    v_max_f16_e32 v17, v8, v85029; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15030; GFX8-GISEL-NEXT:    v_max_f16_sdwa v8, v8, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15031; GFX8-GISEL-NEXT:    v_max_f16_e32 v16, v16, v175032; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v8 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5033; GFX8-GISEL-NEXT:    v_max_f16_e32 v8, v1, v15034; GFX8-GISEL-NEXT:    v_max_f16_e32 v17, v9, v95035; GFX8-GISEL-NEXT:    v_max_f16_sdwa v1, v1, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15036; GFX8-GISEL-NEXT:    v_max_f16_sdwa v9, v9, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15037; GFX8-GISEL-NEXT:    v_max_f16_e32 v8, v8, v175038; GFX8-GISEL-NEXT:    v_max_f16_sdwa v1, v1, v9 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5039; GFX8-GISEL-NEXT:    v_max_f16_e32 v9, v2, v25040; GFX8-GISEL-NEXT:    v_max_f16_e32 v17, v10, v105041; GFX8-GISEL-NEXT:    v_max_f16_sdwa v2, v2, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15042; GFX8-GISEL-NEXT:    v_max_f16_sdwa v10, v10, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15043; GFX8-GISEL-NEXT:    v_max_f16_e32 v9, v9, v175044; GFX8-GISEL-NEXT:    v_max_f16_sdwa v2, v2, v10 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5045; GFX8-GISEL-NEXT:    v_max_f16_e32 v10, v3, v35046; GFX8-GISEL-NEXT:    v_max_f16_e32 v17, v11, v115047; GFX8-GISEL-NEXT:    v_max_f16_sdwa v3, v3, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15048; GFX8-GISEL-NEXT:    v_max_f16_sdwa v11, v11, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15049; GFX8-GISEL-NEXT:    v_max_f16_e32 v10, v10, v175050; GFX8-GISEL-NEXT:    v_max_f16_sdwa v3, v3, v11 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5051; GFX8-GISEL-NEXT:    v_max_f16_e32 v11, v4, v45052; GFX8-GISEL-NEXT:    v_max_f16_e32 v17, v12, v125053; GFX8-GISEL-NEXT:    v_max_f16_sdwa v4, v4, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15054; GFX8-GISEL-NEXT:    v_max_f16_sdwa v12, v12, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15055; GFX8-GISEL-NEXT:    v_max_f16_e32 v11, v11, v175056; GFX8-GISEL-NEXT:    v_max_f16_sdwa v4, v4, v12 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5057; GFX8-GISEL-NEXT:    v_max_f16_e32 v12, v5, v55058; GFX8-GISEL-NEXT:    v_max_f16_e32 v17, v13, v135059; GFX8-GISEL-NEXT:    v_max_f16_sdwa v5, v5, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15060; GFX8-GISEL-NEXT:    v_max_f16_sdwa v13, v13, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15061; GFX8-GISEL-NEXT:    v_max_f16_e32 v12, v12, v175062; GFX8-GISEL-NEXT:    v_max_f16_sdwa v5, v5, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5063; GFX8-GISEL-NEXT:    v_max_f16_e32 v13, v6, v65064; GFX8-GISEL-NEXT:    v_max_f16_e32 v17, v14, v145065; GFX8-GISEL-NEXT:    v_max_f16_sdwa v6, v6, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15066; GFX8-GISEL-NEXT:    v_max_f16_sdwa v14, v14, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15067; GFX8-GISEL-NEXT:    v_max_f16_e32 v13, v13, v175068; GFX8-GISEL-NEXT:    v_max_f16_sdwa v6, v6, v14 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5069; GFX8-GISEL-NEXT:    v_max_f16_e32 v14, v7, v75070; GFX8-GISEL-NEXT:    v_max_f16_e32 v17, v15, v155071; GFX8-GISEL-NEXT:    v_max_f16_sdwa v7, v7, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15072; GFX8-GISEL-NEXT:    v_max_f16_sdwa v15, v15, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15073; GFX8-GISEL-NEXT:    v_max_f16_e32 v14, v14, v175074; GFX8-GISEL-NEXT:    v_max_f16_sdwa v7, v7, v15 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5075; GFX8-GISEL-NEXT:    v_or_b32_e32 v0, v16, v05076; GFX8-GISEL-NEXT:    v_or_b32_e32 v1, v8, v15077; GFX8-GISEL-NEXT:    v_or_b32_e32 v2, v9, v25078; GFX8-GISEL-NEXT:    v_or_b32_e32 v3, v10, v35079; GFX8-GISEL-NEXT:    v_or_b32_e32 v4, v11, v45080; GFX8-GISEL-NEXT:    v_or_b32_e32 v5, v12, v55081; GFX8-GISEL-NEXT:    v_or_b32_e32 v6, v13, v65082; GFX8-GISEL-NEXT:    v_or_b32_e32 v7, v14, v75083; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]5084;5085; GFX900-SDAG-LABEL: v_maximumnum_v16f16:5086; GFX900-SDAG:       ; %bb.0:5087; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5088; GFX900-SDAG-NEXT:    v_pk_max_f16 v8, v8, v85089; GFX900-SDAG-NEXT:    v_pk_max_f16 v0, v0, v05090; GFX900-SDAG-NEXT:    v_pk_max_f16 v0, v0, v85091; GFX900-SDAG-NEXT:    v_pk_max_f16 v8, v9, v95092; GFX900-SDAG-NEXT:    v_pk_max_f16 v1, v1, v15093; GFX900-SDAG-NEXT:    v_pk_max_f16 v1, v1, v85094; GFX900-SDAG-NEXT:    v_pk_max_f16 v8, v10, v105095; GFX900-SDAG-NEXT:    v_pk_max_f16 v2, v2, v25096; GFX900-SDAG-NEXT:    v_pk_max_f16 v2, v2, v85097; GFX900-SDAG-NEXT:    v_pk_max_f16 v8, v11, v115098; GFX900-SDAG-NEXT:    v_pk_max_f16 v3, v3, v35099; GFX900-SDAG-NEXT:    v_pk_max_f16 v3, v3, v85100; GFX900-SDAG-NEXT:    v_pk_max_f16 v8, v12, v125101; GFX900-SDAG-NEXT:    v_pk_max_f16 v4, v4, v45102; GFX900-SDAG-NEXT:    v_pk_max_f16 v4, v4, v85103; GFX900-SDAG-NEXT:    v_pk_max_f16 v8, v13, v135104; GFX900-SDAG-NEXT:    v_pk_max_f16 v5, v5, v55105; GFX900-SDAG-NEXT:    v_pk_max_f16 v5, v5, v85106; GFX900-SDAG-NEXT:    v_pk_max_f16 v8, v14, v145107; GFX900-SDAG-NEXT:    v_pk_max_f16 v6, v6, v65108; GFX900-SDAG-NEXT:    v_pk_max_f16 v6, v6, v85109; GFX900-SDAG-NEXT:    v_pk_max_f16 v8, v15, v155110; GFX900-SDAG-NEXT:    v_pk_max_f16 v7, v7, v75111; GFX900-SDAG-NEXT:    v_pk_max_f16 v7, v7, v85112; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]5113;5114; GFX900-GISEL-LABEL: v_maximumnum_v16f16:5115; GFX900-GISEL:       ; %bb.0:5116; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5117; GFX900-GISEL-NEXT:    v_pk_max_f16 v0, v0, v05118; GFX900-GISEL-NEXT:    v_pk_max_f16 v8, v8, v85119; GFX900-GISEL-NEXT:    v_pk_max_f16 v0, v0, v85120; GFX900-GISEL-NEXT:    v_pk_max_f16 v1, v1, v15121; GFX900-GISEL-NEXT:    v_pk_max_f16 v8, v9, v95122; GFX900-GISEL-NEXT:    v_pk_max_f16 v1, v1, v85123; GFX900-GISEL-NEXT:    v_pk_max_f16 v2, v2, v25124; GFX900-GISEL-NEXT:    v_pk_max_f16 v8, v10, v105125; GFX900-GISEL-NEXT:    v_pk_max_f16 v2, v2, v85126; GFX900-GISEL-NEXT:    v_pk_max_f16 v3, v3, v35127; GFX900-GISEL-NEXT:    v_pk_max_f16 v8, v11, v115128; GFX900-GISEL-NEXT:    v_pk_max_f16 v3, v3, v85129; GFX900-GISEL-NEXT:    v_pk_max_f16 v4, v4, v45130; GFX900-GISEL-NEXT:    v_pk_max_f16 v8, v12, v125131; GFX900-GISEL-NEXT:    v_pk_max_f16 v4, v4, v85132; GFX900-GISEL-NEXT:    v_pk_max_f16 v5, v5, v55133; GFX900-GISEL-NEXT:    v_pk_max_f16 v8, v13, v135134; GFX900-GISEL-NEXT:    v_pk_max_f16 v5, v5, v85135; GFX900-GISEL-NEXT:    v_pk_max_f16 v6, v6, v65136; GFX900-GISEL-NEXT:    v_pk_max_f16 v8, v14, v145137; GFX900-GISEL-NEXT:    v_pk_max_f16 v6, v6, v85138; GFX900-GISEL-NEXT:    v_pk_max_f16 v7, v7, v75139; GFX900-GISEL-NEXT:    v_pk_max_f16 v8, v15, v155140; GFX900-GISEL-NEXT:    v_pk_max_f16 v7, v7, v85141; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]5142;5143; GFX950-SDAG-LABEL: v_maximumnum_v16f16:5144; GFX950-SDAG:       ; %bb.0:5145; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5146; GFX950-SDAG-NEXT:    v_pk_max_f16 v8, v8, v85147; GFX950-SDAG-NEXT:    v_pk_max_f16 v0, v0, v05148; GFX950-SDAG-NEXT:    v_pk_max_f16 v1, v1, v15149; GFX950-SDAG-NEXT:    v_pk_max_f16 v0, v0, v85150; GFX950-SDAG-NEXT:    v_pk_max_f16 v8, v9, v95151; GFX950-SDAG-NEXT:    v_pk_max_f16 v2, v2, v25152; GFX950-SDAG-NEXT:    v_pk_max_f16 v1, v1, v85153; GFX950-SDAG-NEXT:    v_pk_max_f16 v8, v10, v105154; GFX950-SDAG-NEXT:    v_pk_max_f16 v3, v3, v35155; GFX950-SDAG-NEXT:    v_pk_max_f16 v2, v2, v85156; GFX950-SDAG-NEXT:    v_pk_max_f16 v8, v11, v115157; GFX950-SDAG-NEXT:    v_pk_max_f16 v4, v4, v45158; GFX950-SDAG-NEXT:    v_pk_max_f16 v3, v3, v85159; GFX950-SDAG-NEXT:    v_pk_max_f16 v8, v12, v125160; GFX950-SDAG-NEXT:    v_pk_max_f16 v5, v5, v55161; GFX950-SDAG-NEXT:    v_pk_max_f16 v4, v4, v85162; GFX950-SDAG-NEXT:    v_pk_max_f16 v8, v13, v135163; GFX950-SDAG-NEXT:    v_pk_max_f16 v6, v6, v65164; GFX950-SDAG-NEXT:    v_pk_max_f16 v5, v5, v85165; GFX950-SDAG-NEXT:    v_pk_max_f16 v8, v14, v145166; GFX950-SDAG-NEXT:    v_pk_max_f16 v7, v7, v75167; GFX950-SDAG-NEXT:    v_pk_max_f16 v6, v6, v85168; GFX950-SDAG-NEXT:    v_pk_max_f16 v8, v15, v155169; GFX950-SDAG-NEXT:    s_nop 05170; GFX950-SDAG-NEXT:    v_pk_max_f16 v7, v7, v85171; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]5172;5173; GFX950-GISEL-LABEL: v_maximumnum_v16f16:5174; GFX950-GISEL:       ; %bb.0:5175; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5176; GFX950-GISEL-NEXT:    v_pk_max_f16 v0, v0, v05177; GFX950-GISEL-NEXT:    v_pk_max_f16 v8, v8, v85178; GFX950-GISEL-NEXT:    v_pk_max_f16 v1, v1, v15179; GFX950-GISEL-NEXT:    v_pk_max_f16 v0, v0, v85180; GFX950-GISEL-NEXT:    v_pk_max_f16 v8, v9, v95181; GFX950-GISEL-NEXT:    v_pk_max_f16 v2, v2, v25182; GFX950-GISEL-NEXT:    v_pk_max_f16 v1, v1, v85183; GFX950-GISEL-NEXT:    v_pk_max_f16 v8, v10, v105184; GFX950-GISEL-NEXT:    v_pk_max_f16 v3, v3, v35185; GFX950-GISEL-NEXT:    v_pk_max_f16 v2, v2, v85186; GFX950-GISEL-NEXT:    v_pk_max_f16 v8, v11, v115187; GFX950-GISEL-NEXT:    v_pk_max_f16 v4, v4, v45188; GFX950-GISEL-NEXT:    v_pk_max_f16 v3, v3, v85189; GFX950-GISEL-NEXT:    v_pk_max_f16 v8, v12, v125190; GFX950-GISEL-NEXT:    v_pk_max_f16 v5, v5, v55191; GFX950-GISEL-NEXT:    v_pk_max_f16 v4, v4, v85192; GFX950-GISEL-NEXT:    v_pk_max_f16 v8, v13, v135193; GFX950-GISEL-NEXT:    v_pk_max_f16 v6, v6, v65194; GFX950-GISEL-NEXT:    v_pk_max_f16 v5, v5, v85195; GFX950-GISEL-NEXT:    v_pk_max_f16 v8, v14, v145196; GFX950-GISEL-NEXT:    v_pk_max_f16 v7, v7, v75197; GFX950-GISEL-NEXT:    v_pk_max_f16 v6, v6, v85198; GFX950-GISEL-NEXT:    v_pk_max_f16 v8, v15, v155199; GFX950-GISEL-NEXT:    s_nop 05200; GFX950-GISEL-NEXT:    v_pk_max_f16 v7, v7, v85201; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]5202;5203; GFX10-SDAG-LABEL: v_maximumnum_v16f16:5204; GFX10-SDAG:       ; %bb.0:5205; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5206; GFX10-SDAG-NEXT:    v_pk_max_f16 v8, v8, v85207; GFX10-SDAG-NEXT:    v_pk_max_f16 v0, v0, v05208; GFX10-SDAG-NEXT:    v_pk_max_f16 v9, v9, v95209; GFX10-SDAG-NEXT:    v_pk_max_f16 v1, v1, v15210; GFX10-SDAG-NEXT:    v_pk_max_f16 v10, v10, v105211; GFX10-SDAG-NEXT:    v_pk_max_f16 v2, v2, v25212; GFX10-SDAG-NEXT:    v_pk_max_f16 v0, v0, v85213; GFX10-SDAG-NEXT:    v_pk_max_f16 v8, v11, v115214; GFX10-SDAG-NEXT:    v_pk_max_f16 v1, v1, v95215; GFX10-SDAG-NEXT:    v_pk_max_f16 v3, v3, v35216; GFX10-SDAG-NEXT:    v_pk_max_f16 v2, v2, v105217; GFX10-SDAG-NEXT:    v_pk_max_f16 v9, v12, v125218; GFX10-SDAG-NEXT:    v_pk_max_f16 v4, v4, v45219; GFX10-SDAG-NEXT:    v_pk_max_f16 v10, v13, v135220; GFX10-SDAG-NEXT:    v_pk_max_f16 v5, v5, v55221; GFX10-SDAG-NEXT:    v_pk_max_f16 v11, v14, v145222; GFX10-SDAG-NEXT:    v_pk_max_f16 v6, v6, v65223; GFX10-SDAG-NEXT:    v_pk_max_f16 v12, v15, v155224; GFX10-SDAG-NEXT:    v_pk_max_f16 v7, v7, v75225; GFX10-SDAG-NEXT:    v_pk_max_f16 v3, v3, v85226; GFX10-SDAG-NEXT:    v_pk_max_f16 v4, v4, v95227; GFX10-SDAG-NEXT:    v_pk_max_f16 v5, v5, v105228; GFX10-SDAG-NEXT:    v_pk_max_f16 v6, v6, v115229; GFX10-SDAG-NEXT:    v_pk_max_f16 v7, v7, v125230; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]5231;5232; GFX10-GISEL-LABEL: v_maximumnum_v16f16:5233; GFX10-GISEL:       ; %bb.0:5234; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5235; GFX10-GISEL-NEXT:    v_pk_max_f16 v0, v0, v05236; GFX10-GISEL-NEXT:    v_pk_max_f16 v8, v8, v85237; GFX10-GISEL-NEXT:    v_pk_max_f16 v1, v1, v15238; GFX10-GISEL-NEXT:    v_pk_max_f16 v9, v9, v95239; GFX10-GISEL-NEXT:    v_pk_max_f16 v2, v2, v25240; GFX10-GISEL-NEXT:    v_pk_max_f16 v10, v10, v105241; GFX10-GISEL-NEXT:    v_pk_max_f16 v0, v0, v85242; GFX10-GISEL-NEXT:    v_pk_max_f16 v3, v3, v35243; GFX10-GISEL-NEXT:    v_pk_max_f16 v1, v1, v95244; GFX10-GISEL-NEXT:    v_pk_max_f16 v8, v11, v115245; GFX10-GISEL-NEXT:    v_pk_max_f16 v2, v2, v105246; GFX10-GISEL-NEXT:    v_pk_max_f16 v4, v4, v45247; GFX10-GISEL-NEXT:    v_pk_max_f16 v9, v12, v125248; GFX10-GISEL-NEXT:    v_pk_max_f16 v5, v5, v55249; GFX10-GISEL-NEXT:    v_pk_max_f16 v10, v13, v135250; GFX10-GISEL-NEXT:    v_pk_max_f16 v6, v6, v65251; GFX10-GISEL-NEXT:    v_pk_max_f16 v11, v14, v145252; GFX10-GISEL-NEXT:    v_pk_max_f16 v7, v7, v75253; GFX10-GISEL-NEXT:    v_pk_max_f16 v12, v15, v155254; GFX10-GISEL-NEXT:    v_pk_max_f16 v3, v3, v85255; GFX10-GISEL-NEXT:    v_pk_max_f16 v4, v4, v95256; GFX10-GISEL-NEXT:    v_pk_max_f16 v5, v5, v105257; GFX10-GISEL-NEXT:    v_pk_max_f16 v6, v6, v115258; GFX10-GISEL-NEXT:    v_pk_max_f16 v7, v7, v125259; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]5260;5261; GFX11-SDAG-LABEL: v_maximumnum_v16f16:5262; GFX11-SDAG:       ; %bb.0:5263; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5264; GFX11-SDAG-NEXT:    v_pk_max_f16 v8, v8, v85265; GFX11-SDAG-NEXT:    v_pk_max_f16 v0, v0, v05266; GFX11-SDAG-NEXT:    v_pk_max_f16 v9, v9, v95267; GFX11-SDAG-NEXT:    v_pk_max_f16 v1, v1, v15268; GFX11-SDAG-NEXT:    v_pk_max_f16 v10, v10, v105269; GFX11-SDAG-NEXT:    v_pk_max_f16 v2, v2, v25270; GFX11-SDAG-NEXT:    v_pk_max_f16 v0, v0, v85271; GFX11-SDAG-NEXT:    v_pk_max_f16 v8, v11, v115272; GFX11-SDAG-NEXT:    v_pk_max_f16 v1, v1, v95273; GFX11-SDAG-NEXT:    v_pk_max_f16 v3, v3, v35274; GFX11-SDAG-NEXT:    v_pk_max_f16 v2, v2, v105275; GFX11-SDAG-NEXT:    v_pk_max_f16 v9, v12, v125276; GFX11-SDAG-NEXT:    v_pk_max_f16 v4, v4, v45277; GFX11-SDAG-NEXT:    v_pk_max_f16 v10, v13, v135278; GFX11-SDAG-NEXT:    v_pk_max_f16 v5, v5, v55279; GFX11-SDAG-NEXT:    v_pk_max_f16 v11, v14, v145280; GFX11-SDAG-NEXT:    v_pk_max_f16 v6, v6, v65281; GFX11-SDAG-NEXT:    v_pk_max_f16 v12, v15, v155282; GFX11-SDAG-NEXT:    v_pk_max_f16 v7, v7, v75283; GFX11-SDAG-NEXT:    v_pk_max_f16 v3, v3, v85284; GFX11-SDAG-NEXT:    v_pk_max_f16 v4, v4, v95285; GFX11-SDAG-NEXT:    v_pk_max_f16 v5, v5, v105286; GFX11-SDAG-NEXT:    v_pk_max_f16 v6, v6, v115287; GFX11-SDAG-NEXT:    v_pk_max_f16 v7, v7, v125288; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]5289;5290; GFX11-GISEL-LABEL: v_maximumnum_v16f16:5291; GFX11-GISEL:       ; %bb.0:5292; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5293; GFX11-GISEL-NEXT:    v_pk_max_f16 v0, v0, v05294; GFX11-GISEL-NEXT:    v_pk_max_f16 v8, v8, v85295; GFX11-GISEL-NEXT:    v_pk_max_f16 v1, v1, v15296; GFX11-GISEL-NEXT:    v_pk_max_f16 v9, v9, v95297; GFX11-GISEL-NEXT:    v_pk_max_f16 v2, v2, v25298; GFX11-GISEL-NEXT:    v_pk_max_f16 v10, v10, v105299; GFX11-GISEL-NEXT:    v_pk_max_f16 v0, v0, v85300; GFX11-GISEL-NEXT:    v_pk_max_f16 v3, v3, v35301; GFX11-GISEL-NEXT:    v_pk_max_f16 v1, v1, v95302; GFX11-GISEL-NEXT:    v_pk_max_f16 v8, v11, v115303; GFX11-GISEL-NEXT:    v_pk_max_f16 v2, v2, v105304; GFX11-GISEL-NEXT:    v_pk_max_f16 v4, v4, v45305; GFX11-GISEL-NEXT:    v_pk_max_f16 v9, v12, v125306; GFX11-GISEL-NEXT:    v_pk_max_f16 v5, v5, v55307; GFX11-GISEL-NEXT:    v_pk_max_f16 v10, v13, v135308; GFX11-GISEL-NEXT:    v_pk_max_f16 v6, v6, v65309; GFX11-GISEL-NEXT:    v_pk_max_f16 v11, v14, v145310; GFX11-GISEL-NEXT:    v_pk_max_f16 v7, v7, v75311; GFX11-GISEL-NEXT:    v_pk_max_f16 v12, v15, v155312; GFX11-GISEL-NEXT:    v_pk_max_f16 v3, v3, v85313; GFX11-GISEL-NEXT:    v_pk_max_f16 v4, v4, v95314; GFX11-GISEL-NEXT:    v_pk_max_f16 v5, v5, v105315; GFX11-GISEL-NEXT:    v_pk_max_f16 v6, v6, v115316; GFX11-GISEL-NEXT:    v_pk_max_f16 v7, v7, v125317; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]5318;5319; GFX12-SDAG-LABEL: v_maximumnum_v16f16:5320; GFX12-SDAG:       ; %bb.0:5321; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x05322; GFX12-SDAG-NEXT:    s_wait_expcnt 0x05323; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x05324; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x05325; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x05326; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v8, v8, v85327; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v0, v0, v05328; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v9, v9, v95329; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v1, v1, v15330; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v10, v10, v105331; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v2, v2, v25332; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v0, v0, v85333; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v8, v11, v115334; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v1, v1, v95335; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v3, v3, v35336; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v2, v2, v105337; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v9, v12, v125338; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v4, v4, v45339; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v10, v13, v135340; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v5, v5, v55341; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v11, v14, v145342; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v6, v6, v65343; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v12, v15, v155344; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v7, v7, v75345; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v3, v3, v85346; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v4, v4, v95347; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v5, v5, v105348; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v6, v6, v115349; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v7, v7, v125350; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]5351;5352; GFX12-GISEL-LABEL: v_maximumnum_v16f16:5353; GFX12-GISEL:       ; %bb.0:5354; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x05355; GFX12-GISEL-NEXT:    s_wait_expcnt 0x05356; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x05357; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x05358; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x05359; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v0, v0, v05360; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v8, v8, v85361; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v1, v1, v15362; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v9, v9, v95363; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v2, v2, v25364; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v10, v10, v105365; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v0, v0, v85366; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v3, v3, v35367; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v1, v1, v95368; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v8, v11, v115369; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v2, v2, v105370; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v4, v4, v45371; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v9, v12, v125372; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v5, v5, v55373; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v10, v13, v135374; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v6, v6, v65375; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v11, v14, v145376; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v7, v7, v75377; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v12, v15, v155378; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v3, v3, v85379; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v4, v4, v95380; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v5, v5, v105381; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v6, v6, v115382; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v7, v7, v125383; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]5384  %result = call <16 x half> @llvm.maximumnum.v16f16(<16 x half> %x, <16 x half> %y)5385  ret <16 x half> %result5386}5387 5388define <32 x half> @v_maximumnum_v32f16(<32 x half> %x, <32 x half> %y) {5389; GFX7-SDAG-LABEL: v_maximumnum_v32f16:5390; GFX7-SDAG:       ; %bb.0:5391; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5392; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:45393; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v05394; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v15395; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v2, v25396; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v3, v35397; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v05398; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v15399; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v2, v25400; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v3, v35401; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v4, v45402; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v5, v55403; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v6, v65404; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v7, v75405; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v4, v45406; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v5, v55407; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v6, v65408; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v7, v75409; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v8, v85410; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v9, v95411; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v10, v105412; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v11, v115413; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v8, v85414; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v9, v95415; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v10, v105416; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v11, v115417; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v12, v125418; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v13, v135419; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v14, v145420; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v15, v155421; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v12, v125422; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v13, v135423; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v14, v145424; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v15, v155425; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v16, v165426; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v17, v175427; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v18, v185428; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v19, v195429; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v16, v165430; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v17, v175431; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v18, v185432; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v19, v195433; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v20, v205434; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v21, v215435; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v22, v225436; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v23, v235437; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v20, v205438; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v21, v215439; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v22, v225440; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v23, v235441; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v24, v245442; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v25, v255443; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v26, v265444; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v27, v275445; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v24, v245446; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v25, v255447; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v26, v265448; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v27, v275449; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v28, v285450; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v29, v295451; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v30, v305452; GFX7-SDAG-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:1285453; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v28, v285454; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v29, v295455; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v30, v305456; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(1)5457; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315458; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315459; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v315460; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:85461; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(1)5462; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v32, v325463; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v32, v325464; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5465; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315466; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315467; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v315468; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:125469; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5470; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315471; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315472; GFX7-SDAG-NEXT:    v_max_f32_e32 v2, v2, v315473; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:165474; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5475; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315476; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315477; GFX7-SDAG-NEXT:    v_max_f32_e32 v3, v3, v315478; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:205479; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5480; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315481; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315482; GFX7-SDAG-NEXT:    v_max_f32_e32 v4, v4, v315483; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:245484; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5485; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315486; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315487; GFX7-SDAG-NEXT:    v_max_f32_e32 v5, v5, v315488; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:285489; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5490; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315491; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315492; GFX7-SDAG-NEXT:    v_max_f32_e32 v6, v6, v315493; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:325494; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5495; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315496; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315497; GFX7-SDAG-NEXT:    v_max_f32_e32 v7, v7, v315498; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:365499; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5500; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315501; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315502; GFX7-SDAG-NEXT:    v_max_f32_e32 v8, v8, v315503; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:405504; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5505; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315506; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315507; GFX7-SDAG-NEXT:    v_max_f32_e32 v9, v9, v315508; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:445509; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5510; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315511; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315512; GFX7-SDAG-NEXT:    v_max_f32_e32 v10, v10, v315513; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:485514; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5515; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315516; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315517; GFX7-SDAG-NEXT:    v_max_f32_e32 v11, v11, v315518; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:525519; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5520; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315521; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315522; GFX7-SDAG-NEXT:    v_max_f32_e32 v12, v12, v315523; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:565524; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5525; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315526; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315527; GFX7-SDAG-NEXT:    v_max_f32_e32 v13, v13, v315528; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:605529; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5530; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315531; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315532; GFX7-SDAG-NEXT:    v_max_f32_e32 v14, v14, v315533; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:645534; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5535; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315536; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315537; GFX7-SDAG-NEXT:    v_max_f32_e32 v15, v15, v315538; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:685539; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5540; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315541; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315542; GFX7-SDAG-NEXT:    v_max_f32_e32 v16, v16, v315543; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:725544; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5545; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315546; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315547; GFX7-SDAG-NEXT:    v_max_f32_e32 v17, v17, v315548; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:765549; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5550; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315551; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315552; GFX7-SDAG-NEXT:    v_max_f32_e32 v18, v18, v315553; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:805554; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5555; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315556; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315557; GFX7-SDAG-NEXT:    v_max_f32_e32 v19, v19, v315558; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:845559; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5560; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315561; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315562; GFX7-SDAG-NEXT:    v_max_f32_e32 v20, v20, v315563; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:885564; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5565; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315566; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315567; GFX7-SDAG-NEXT:    v_max_f32_e32 v21, v21, v315568; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:925569; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5570; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315571; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315572; GFX7-SDAG-NEXT:    v_max_f32_e32 v22, v22, v315573; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:965574; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5575; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315576; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315577; GFX7-SDAG-NEXT:    v_max_f32_e32 v23, v23, v315578; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:1005579; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5580; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315581; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315582; GFX7-SDAG-NEXT:    v_max_f32_e32 v24, v24, v315583; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:1045584; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5585; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315586; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315587; GFX7-SDAG-NEXT:    v_max_f32_e32 v25, v25, v315588; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:1085589; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5590; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315591; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315592; GFX7-SDAG-NEXT:    v_max_f32_e32 v26, v26, v315593; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:1125594; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5595; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315596; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315597; GFX7-SDAG-NEXT:    v_max_f32_e32 v27, v27, v315598; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:1165599; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5600; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315601; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315602; GFX7-SDAG-NEXT:    v_max_f32_e32 v28, v28, v315603; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:1205604; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5605; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315606; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315607; GFX7-SDAG-NEXT:    v_max_f32_e32 v29, v29, v315608; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:1245609; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5610; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315611; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315612; GFX7-SDAG-NEXT:    v_max_f32_e32 v30, v30, v315613; GFX7-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s325614; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0)5615; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v31, v315616; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v31, v315617; GFX7-SDAG-NEXT:    v_max_f32_e32 v31, v31, v325618; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]5619;5620; GFX7-GISEL-LABEL: v_maximumnum_v32f16:5621; GFX7-GISEL:       ; %bb.0:5622; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5623; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:45624; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v05625; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v15626; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v2, v25627; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v35628; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v4, v45629; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v5, v55630; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v6, v65631; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v7, v75632; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v8, v85633; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v9, v95634; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v10, v105635; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v11, v115636; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v12, v125637; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v13, v135638; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v14, v145639; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v15, v155640; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v16, v165641; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v17, v175642; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v18, v185643; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v19, v195644; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v20, v205645; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v21, v215646; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v22, v225647; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v23, v235648; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v24, v245649; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v25, v255650; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v26, v265651; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v27, v275652; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v28, v285653; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v29, v295654; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v30, v305655; GFX7-GISEL-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:1285656; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(1)5657; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315658; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v315659; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:85660; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v05661; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(1)5662; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v32, v325663; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5664; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315665; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v315666; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:125667; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v1, v15668; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5669; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315670; GFX7-GISEL-NEXT:    v_max_f32_e32 v2, v2, v315671; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:165672; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v2, v25673; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5674; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315675; GFX7-GISEL-NEXT:    v_max_f32_e32 v3, v3, v315676; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:205677; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v3, v35678; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5679; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315680; GFX7-GISEL-NEXT:    v_max_f32_e32 v4, v4, v315681; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:245682; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v4, v45683; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5684; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315685; GFX7-GISEL-NEXT:    v_max_f32_e32 v5, v5, v315686; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:285687; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v5, v55688; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5689; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315690; GFX7-GISEL-NEXT:    v_max_f32_e32 v6, v6, v315691; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:325692; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v6, v65693; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5694; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315695; GFX7-GISEL-NEXT:    v_max_f32_e32 v7, v7, v315696; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:365697; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v7, v75698; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5699; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315700; GFX7-GISEL-NEXT:    v_max_f32_e32 v8, v8, v315701; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:405702; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v8, v85703; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5704; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315705; GFX7-GISEL-NEXT:    v_max_f32_e32 v9, v9, v315706; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:445707; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v9, v95708; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5709; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315710; GFX7-GISEL-NEXT:    v_max_f32_e32 v10, v10, v315711; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:485712; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v10, v105713; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5714; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315715; GFX7-GISEL-NEXT:    v_max_f32_e32 v11, v11, v315716; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:525717; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v11, v115718; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5719; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315720; GFX7-GISEL-NEXT:    v_max_f32_e32 v12, v12, v315721; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:565722; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v12, v125723; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5724; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315725; GFX7-GISEL-NEXT:    v_max_f32_e32 v13, v13, v315726; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:605727; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v13, v135728; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5729; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315730; GFX7-GISEL-NEXT:    v_max_f32_e32 v14, v14, v315731; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:645732; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v14, v145733; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5734; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315735; GFX7-GISEL-NEXT:    v_max_f32_e32 v15, v15, v315736; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:685737; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v15, v155738; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5739; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315740; GFX7-GISEL-NEXT:    v_max_f32_e32 v16, v16, v315741; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:725742; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v16, v165743; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5744; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315745; GFX7-GISEL-NEXT:    v_max_f32_e32 v17, v17, v315746; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:765747; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v17, v175748; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5749; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315750; GFX7-GISEL-NEXT:    v_max_f32_e32 v18, v18, v315751; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:805752; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v18, v185753; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5754; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315755; GFX7-GISEL-NEXT:    v_max_f32_e32 v19, v19, v315756; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:845757; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v19, v195758; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5759; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315760; GFX7-GISEL-NEXT:    v_max_f32_e32 v20, v20, v315761; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:885762; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v20, v205763; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5764; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315765; GFX7-GISEL-NEXT:    v_max_f32_e32 v21, v21, v315766; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:925767; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v21, v215768; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5769; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315770; GFX7-GISEL-NEXT:    v_max_f32_e32 v22, v22, v315771; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:965772; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v22, v225773; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5774; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315775; GFX7-GISEL-NEXT:    v_max_f32_e32 v23, v23, v315776; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:1005777; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v23, v235778; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5779; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315780; GFX7-GISEL-NEXT:    v_max_f32_e32 v24, v24, v315781; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:1045782; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v24, v245783; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5784; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315785; GFX7-GISEL-NEXT:    v_max_f32_e32 v25, v25, v315786; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:1085787; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v25, v255788; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5789; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315790; GFX7-GISEL-NEXT:    v_max_f32_e32 v26, v26, v315791; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:1125792; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v26, v265793; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5794; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315795; GFX7-GISEL-NEXT:    v_max_f32_e32 v27, v27, v315796; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:1165797; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v27, v275798; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5799; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315800; GFX7-GISEL-NEXT:    v_max_f32_e32 v28, v28, v315801; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:1205802; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v28, v285803; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5804; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315805; GFX7-GISEL-NEXT:    v_max_f32_e32 v29, v29, v315806; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:1245807; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v29, v295808; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5809; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315810; GFX7-GISEL-NEXT:    v_max_f32_e32 v30, v30, v315811; GFX7-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s325812; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v30, v305813; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0)5814; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v31, v315815; GFX7-GISEL-NEXT:    v_max_f32_e32 v31, v31, v325816; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v31, v315817; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]5818;5819; GFX8-SDAG-LABEL: v_maximumnum_v32f16:5820; GFX8-SDAG:       ; %bb.0:5821; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5822; GFX8-SDAG-NEXT:    buffer_store_dword v40, off, s[0:3], s32 offset:48 ; 4-byte Folded Spill5823; GFX8-SDAG-NEXT:    buffer_store_dword v41, off, s[0:3], s32 offset:44 ; 4-byte Folded Spill5824; GFX8-SDAG-NEXT:    buffer_store_dword v42, off, s[0:3], s32 offset:40 ; 4-byte Folded Spill5825; GFX8-SDAG-NEXT:    buffer_store_dword v43, off, s[0:3], s32 offset:36 ; 4-byte Folded Spill5826; GFX8-SDAG-NEXT:    buffer_store_dword v44, off, s[0:3], s32 offset:32 ; 4-byte Folded Spill5827; GFX8-SDAG-NEXT:    buffer_store_dword v45, off, s[0:3], s32 offset:28 ; 4-byte Folded Spill5828; GFX8-SDAG-NEXT:    buffer_store_dword v46, off, s[0:3], s32 offset:24 ; 4-byte Folded Spill5829; GFX8-SDAG-NEXT:    buffer_store_dword v47, off, s[0:3], s32 offset:20 ; 4-byte Folded Spill5830; GFX8-SDAG-NEXT:    buffer_store_dword v56, off, s[0:3], s32 offset:16 ; 4-byte Folded Spill5831; GFX8-SDAG-NEXT:    buffer_store_dword v57, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill5832; GFX8-SDAG-NEXT:    buffer_store_dword v58, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill5833; GFX8-SDAG-NEXT:    buffer_store_dword v59, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill5834; GFX8-SDAG-NEXT:    v_max_f16_sdwa v38, v27, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15835; GFX8-SDAG-NEXT:    v_max_f16_sdwa v39, v11, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15836; GFX8-SDAG-NEXT:    v_max_f16_sdwa v48, v26, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15837; GFX8-SDAG-NEXT:    v_max_f16_sdwa v49, v10, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15838; GFX8-SDAG-NEXT:    v_max_f16_sdwa v50, v25, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15839; GFX8-SDAG-NEXT:    v_max_f16_sdwa v51, v9, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15840; GFX8-SDAG-NEXT:    v_max_f16_sdwa v40, v22, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15841; GFX8-SDAG-NEXT:    v_max_f16_sdwa v41, v6, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15842; GFX8-SDAG-NEXT:    v_max_f16_sdwa v58, v17, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15843; GFX8-SDAG-NEXT:    v_max_f16_sdwa v59, v1, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15844; GFX8-SDAG-NEXT:    v_max_f16_e32 v17, v17, v175845; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v15846; GFX8-SDAG-NEXT:    v_max_f16_sdwa v52, v24, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15847; GFX8-SDAG-NEXT:    v_max_f16_sdwa v53, v8, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15848; GFX8-SDAG-NEXT:    v_max_f16_sdwa v54, v23, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15849; GFX8-SDAG-NEXT:    v_max_f16_sdwa v55, v7, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15850; GFX8-SDAG-NEXT:    v_max_f16_sdwa v42, v21, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15851; GFX8-SDAG-NEXT:    v_max_f16_sdwa v43, v5, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15852; GFX8-SDAG-NEXT:    v_max_f16_sdwa v44, v20, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15853; GFX8-SDAG-NEXT:    v_max_f16_sdwa v45, v4, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15854; GFX8-SDAG-NEXT:    v_max_f16_sdwa v46, v19, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15855; GFX8-SDAG-NEXT:    v_max_f16_sdwa v47, v3, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15856; GFX8-SDAG-NEXT:    v_max_f16_sdwa v56, v18, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15857; GFX8-SDAG-NEXT:    v_max_f16_sdwa v57, v2, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15858; GFX8-SDAG-NEXT:    v_max_f16_sdwa v38, v39, v38 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5859; GFX8-SDAG-NEXT:    v_max_f16_sdwa v39, v49, v48 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5860; GFX8-SDAG-NEXT:    v_max_f16_sdwa v48, v51, v50 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5861; GFX8-SDAG-NEXT:    v_max_f16_sdwa v51, v41, v40 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5862; GFX8-SDAG-NEXT:    v_max_f16_sdwa v40, v59, v58 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5863; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v175864; GFX8-SDAG-NEXT:    v_max_f16_sdwa v49, v53, v52 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5865; GFX8-SDAG-NEXT:    v_max_f16_sdwa v50, v55, v54 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5866; GFX8-SDAG-NEXT:    v_max_f16_sdwa v52, v43, v42 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5867; GFX8-SDAG-NEXT:    v_max_f16_sdwa v53, v45, v44 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5868; GFX8-SDAG-NEXT:    v_max_f16_sdwa v54, v47, v46 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5869; GFX8-SDAG-NEXT:    v_max_f16_sdwa v55, v57, v56 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5870; GFX8-SDAG-NEXT:    v_or_b32_e32 v1, v1, v405871; GFX8-SDAG-NEXT:    buffer_load_dword v59, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload5872; GFX8-SDAG-NEXT:    buffer_load_dword v58, off, s[0:3], s32 offset:8 ; 4-byte Folded Reload5873; GFX8-SDAG-NEXT:    buffer_load_dword v57, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload5874; GFX8-SDAG-NEXT:    buffer_load_dword v56, off, s[0:3], s32 offset:16 ; 4-byte Folded Reload5875; GFX8-SDAG-NEXT:    buffer_load_dword v47, off, s[0:3], s32 offset:20 ; 4-byte Folded Reload5876; GFX8-SDAG-NEXT:    buffer_load_dword v46, off, s[0:3], s32 offset:24 ; 4-byte Folded Reload5877; GFX8-SDAG-NEXT:    buffer_load_dword v45, off, s[0:3], s32 offset:28 ; 4-byte Folded Reload5878; GFX8-SDAG-NEXT:    buffer_load_dword v44, off, s[0:3], s32 offset:32 ; 4-byte Folded Reload5879; GFX8-SDAG-NEXT:    buffer_load_dword v43, off, s[0:3], s32 offset:36 ; 4-byte Folded Reload5880; GFX8-SDAG-NEXT:    buffer_load_dword v42, off, s[0:3], s32 offset:40 ; 4-byte Folded Reload5881; GFX8-SDAG-NEXT:    buffer_load_dword v41, off, s[0:3], s32 offset:44 ; 4-byte Folded Reload5882; GFX8-SDAG-NEXT:    buffer_load_dword v40, off, s[0:3], s32 offset:48 ; 4-byte Folded Reload5883; GFX8-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s325884; GFX8-SDAG-NEXT:    v_max_f16_sdwa v32, v30, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15885; GFX8-SDAG-NEXT:    v_max_f16_sdwa v33, v14, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15886; GFX8-SDAG-NEXT:    v_max_f16_sdwa v34, v29, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15887; GFX8-SDAG-NEXT:    v_max_f16_sdwa v35, v13, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15888; GFX8-SDAG-NEXT:    v_max_f16_sdwa v36, v28, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15889; GFX8-SDAG-NEXT:    v_max_f16_sdwa v37, v12, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15890; GFX8-SDAG-NEXT:    v_max_f16_sdwa v32, v33, v32 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5891; GFX8-SDAG-NEXT:    v_max_f16_sdwa v33, v16, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15892; GFX8-SDAG-NEXT:    v_max_f16_sdwa v34, v35, v34 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5893; GFX8-SDAG-NEXT:    v_max_f16_sdwa v35, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15894; GFX8-SDAG-NEXT:    v_max_f16_sdwa v36, v37, v36 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5895; GFX8-SDAG-NEXT:    v_max_f16_sdwa v37, v15, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15896; GFX8-SDAG-NEXT:    v_max_f16_e32 v15, v15, v155897; GFX8-SDAG-NEXT:    v_max_f16_sdwa v33, v35, v33 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5898; GFX8-SDAG-NEXT:    v_max_f16_e32 v30, v30, v305899; GFX8-SDAG-NEXT:    v_max_f16_e32 v14, v14, v145900; GFX8-SDAG-NEXT:    v_max_f16_e32 v29, v29, v295901; GFX8-SDAG-NEXT:    v_max_f16_e32 v13, v13, v135902; GFX8-SDAG-NEXT:    v_max_f16_e32 v28, v28, v285903; GFX8-SDAG-NEXT:    v_max_f16_e32 v12, v12, v125904; GFX8-SDAG-NEXT:    v_max_f16_e32 v27, v27, v275905; GFX8-SDAG-NEXT:    v_max_f16_e32 v11, v11, v115906; GFX8-SDAG-NEXT:    v_max_f16_e32 v26, v26, v265907; GFX8-SDAG-NEXT:    v_max_f16_e32 v10, v10, v105908; GFX8-SDAG-NEXT:    v_max_f16_e32 v25, v25, v255909; GFX8-SDAG-NEXT:    v_max_f16_e32 v9, v9, v95910; GFX8-SDAG-NEXT:    v_max_f16_e32 v24, v24, v245911; GFX8-SDAG-NEXT:    v_max_f16_e32 v8, v8, v85912; GFX8-SDAG-NEXT:    v_max_f16_e32 v23, v23, v235913; GFX8-SDAG-NEXT:    v_max_f16_e32 v7, v7, v75914; GFX8-SDAG-NEXT:    v_max_f16_e32 v22, v22, v225915; GFX8-SDAG-NEXT:    v_max_f16_e32 v6, v6, v65916; GFX8-SDAG-NEXT:    v_max_f16_e32 v21, v21, v215917; GFX8-SDAG-NEXT:    v_max_f16_e32 v5, v5, v55918; GFX8-SDAG-NEXT:    v_max_f16_e32 v20, v20, v205919; GFX8-SDAG-NEXT:    v_max_f16_e32 v4, v4, v45920; GFX8-SDAG-NEXT:    v_max_f16_e32 v19, v19, v195921; GFX8-SDAG-NEXT:    v_max_f16_e32 v3, v3, v35922; GFX8-SDAG-NEXT:    v_max_f16_e32 v18, v18, v185923; GFX8-SDAG-NEXT:    v_max_f16_e32 v2, v2, v25924; GFX8-SDAG-NEXT:    v_max_f16_e32 v16, v16, v165925; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v05926; GFX8-SDAG-NEXT:    v_max_f16_e32 v14, v14, v305927; GFX8-SDAG-NEXT:    v_max_f16_e32 v13, v13, v295928; GFX8-SDAG-NEXT:    v_max_f16_e32 v12, v12, v285929; GFX8-SDAG-NEXT:    v_max_f16_e32 v11, v11, v275930; GFX8-SDAG-NEXT:    v_max_f16_e32 v10, v10, v265931; GFX8-SDAG-NEXT:    v_max_f16_e32 v9, v9, v255932; GFX8-SDAG-NEXT:    v_max_f16_e32 v8, v8, v245933; GFX8-SDAG-NEXT:    v_max_f16_e32 v7, v7, v235934; GFX8-SDAG-NEXT:    v_max_f16_e32 v6, v6, v225935; GFX8-SDAG-NEXT:    v_max_f16_e32 v5, v5, v215936; GFX8-SDAG-NEXT:    v_max_f16_e32 v4, v4, v205937; GFX8-SDAG-NEXT:    v_max_f16_e32 v3, v3, v195938; GFX8-SDAG-NEXT:    v_max_f16_e32 v2, v2, v185939; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v165940; GFX8-SDAG-NEXT:    v_or_b32_e32 v0, v0, v335941; GFX8-SDAG-NEXT:    v_or_b32_e32 v2, v2, v555942; GFX8-SDAG-NEXT:    v_or_b32_e32 v3, v3, v545943; GFX8-SDAG-NEXT:    v_or_b32_e32 v4, v4, v535944; GFX8-SDAG-NEXT:    v_or_b32_e32 v5, v5, v525945; GFX8-SDAG-NEXT:    v_or_b32_e32 v6, v6, v515946; GFX8-SDAG-NEXT:    v_or_b32_e32 v7, v7, v505947; GFX8-SDAG-NEXT:    v_or_b32_e32 v8, v8, v495948; GFX8-SDAG-NEXT:    v_or_b32_e32 v9, v9, v485949; GFX8-SDAG-NEXT:    v_or_b32_e32 v10, v10, v395950; GFX8-SDAG-NEXT:    v_or_b32_e32 v11, v11, v385951; GFX8-SDAG-NEXT:    v_or_b32_e32 v12, v12, v365952; GFX8-SDAG-NEXT:    v_or_b32_e32 v13, v13, v345953; GFX8-SDAG-NEXT:    v_or_b32_e32 v14, v14, v325954; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0)5955; GFX8-SDAG-NEXT:    v_max_f16_sdwa v35, v31, v31 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15956; GFX8-SDAG-NEXT:    v_max_f16_e32 v31, v31, v315957; GFX8-SDAG-NEXT:    v_max_f16_sdwa v35, v37, v35 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5958; GFX8-SDAG-NEXT:    v_max_f16_e32 v15, v15, v315959; GFX8-SDAG-NEXT:    v_or_b32_e32 v15, v15, v355960; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]5961;5962; GFX8-GISEL-LABEL: v_maximumnum_v32f16:5963; GFX8-GISEL:       ; %bb.0:5964; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)5965; GFX8-GISEL-NEXT:    v_max_f16_e32 v31, v0, v05966; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v16, v165967; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15968; GFX8-GISEL-NEXT:    v_max_f16_sdwa v16, v16, v16 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15969; GFX8-GISEL-NEXT:    v_max_f16_e32 v31, v31, v325970; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v16 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5971; GFX8-GISEL-NEXT:    v_max_f16_e32 v16, v1, v15972; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v17, v175973; GFX8-GISEL-NEXT:    v_max_f16_sdwa v1, v1, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15974; GFX8-GISEL-NEXT:    v_max_f16_sdwa v17, v17, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15975; GFX8-GISEL-NEXT:    v_max_f16_e32 v16, v16, v325976; GFX8-GISEL-NEXT:    v_max_f16_sdwa v1, v1, v17 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5977; GFX8-GISEL-NEXT:    v_max_f16_e32 v17, v2, v25978; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v18, v185979; GFX8-GISEL-NEXT:    v_max_f16_sdwa v2, v2, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15980; GFX8-GISEL-NEXT:    v_max_f16_sdwa v18, v18, v18 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15981; GFX8-GISEL-NEXT:    v_max_f16_e32 v17, v17, v325982; GFX8-GISEL-NEXT:    v_max_f16_sdwa v2, v2, v18 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5983; GFX8-GISEL-NEXT:    v_max_f16_e32 v18, v3, v35984; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v19, v195985; GFX8-GISEL-NEXT:    v_max_f16_sdwa v3, v3, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15986; GFX8-GISEL-NEXT:    v_max_f16_sdwa v19, v19, v19 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15987; GFX8-GISEL-NEXT:    v_max_f16_e32 v18, v18, v325988; GFX8-GISEL-NEXT:    v_max_f16_sdwa v3, v3, v19 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5989; GFX8-GISEL-NEXT:    v_max_f16_e32 v19, v4, v45990; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v20, v205991; GFX8-GISEL-NEXT:    v_max_f16_sdwa v4, v4, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15992; GFX8-GISEL-NEXT:    v_max_f16_sdwa v20, v20, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15993; GFX8-GISEL-NEXT:    v_max_f16_e32 v19, v19, v325994; GFX8-GISEL-NEXT:    v_max_f16_sdwa v4, v4, v20 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD5995; GFX8-GISEL-NEXT:    v_max_f16_e32 v20, v5, v55996; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v21, v215997; GFX8-GISEL-NEXT:    v_max_f16_sdwa v5, v5, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15998; GFX8-GISEL-NEXT:    v_max_f16_sdwa v21, v21, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_15999; GFX8-GISEL-NEXT:    v_max_f16_e32 v20, v20, v326000; GFX8-GISEL-NEXT:    v_max_f16_sdwa v5, v5, v21 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD6001; GFX8-GISEL-NEXT:    v_max_f16_e32 v21, v6, v66002; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v22, v226003; GFX8-GISEL-NEXT:    v_max_f16_sdwa v6, v6, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16004; GFX8-GISEL-NEXT:    v_max_f16_sdwa v22, v22, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16005; GFX8-GISEL-NEXT:    v_max_f16_e32 v21, v21, v326006; GFX8-GISEL-NEXT:    v_max_f16_sdwa v6, v6, v22 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD6007; GFX8-GISEL-NEXT:    v_max_f16_e32 v22, v7, v76008; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v23, v236009; GFX8-GISEL-NEXT:    v_max_f16_sdwa v7, v7, v7 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16010; GFX8-GISEL-NEXT:    v_max_f16_sdwa v23, v23, v23 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16011; GFX8-GISEL-NEXT:    v_max_f16_e32 v22, v22, v326012; GFX8-GISEL-NEXT:    v_max_f16_sdwa v7, v7, v23 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD6013; GFX8-GISEL-NEXT:    v_max_f16_e32 v23, v8, v86014; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v24, v246015; GFX8-GISEL-NEXT:    v_max_f16_sdwa v8, v8, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16016; GFX8-GISEL-NEXT:    v_max_f16_sdwa v24, v24, v24 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16017; GFX8-GISEL-NEXT:    v_max_f16_e32 v23, v23, v326018; GFX8-GISEL-NEXT:    v_max_f16_sdwa v8, v8, v24 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD6019; GFX8-GISEL-NEXT:    v_max_f16_e32 v24, v9, v96020; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v25, v256021; GFX8-GISEL-NEXT:    v_max_f16_sdwa v9, v9, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16022; GFX8-GISEL-NEXT:    v_max_f16_sdwa v25, v25, v25 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16023; GFX8-GISEL-NEXT:    v_max_f16_e32 v24, v24, v326024; GFX8-GISEL-NEXT:    v_max_f16_sdwa v9, v9, v25 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD6025; GFX8-GISEL-NEXT:    v_max_f16_e32 v25, v10, v106026; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v26, v266027; GFX8-GISEL-NEXT:    v_max_f16_sdwa v10, v10, v10 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16028; GFX8-GISEL-NEXT:    v_max_f16_sdwa v26, v26, v26 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16029; GFX8-GISEL-NEXT:    v_max_f16_e32 v25, v25, v326030; GFX8-GISEL-NEXT:    v_max_f16_sdwa v10, v10, v26 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD6031; GFX8-GISEL-NEXT:    v_max_f16_e32 v26, v11, v116032; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v27, v276033; GFX8-GISEL-NEXT:    v_max_f16_sdwa v11, v11, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16034; GFX8-GISEL-NEXT:    v_max_f16_sdwa v27, v27, v27 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16035; GFX8-GISEL-NEXT:    v_max_f16_e32 v26, v26, v326036; GFX8-GISEL-NEXT:    v_max_f16_sdwa v11, v11, v27 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD6037; GFX8-GISEL-NEXT:    v_max_f16_e32 v27, v12, v126038; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v28, v286039; GFX8-GISEL-NEXT:    v_max_f16_sdwa v12, v12, v12 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16040; GFX8-GISEL-NEXT:    v_max_f16_sdwa v28, v28, v28 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16041; GFX8-GISEL-NEXT:    v_max_f16_e32 v27, v27, v326042; GFX8-GISEL-NEXT:    v_max_f16_sdwa v12, v12, v28 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD6043; GFX8-GISEL-NEXT:    v_max_f16_e32 v28, v13, v136044; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v29, v296045; GFX8-GISEL-NEXT:    v_max_f16_sdwa v13, v13, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16046; GFX8-GISEL-NEXT:    v_max_f16_sdwa v29, v29, v29 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16047; GFX8-GISEL-NEXT:    v_max_f16_e32 v28, v28, v326048; GFX8-GISEL-NEXT:    v_max_f16_sdwa v13, v13, v29 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD6049; GFX8-GISEL-NEXT:    v_max_f16_e32 v29, v14, v146050; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v30, v306051; GFX8-GISEL-NEXT:    v_max_f16_sdwa v14, v14, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16052; GFX8-GISEL-NEXT:    v_max_f16_sdwa v30, v30, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16053; GFX8-GISEL-NEXT:    v_max_f16_sdwa v14, v14, v30 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD6054; GFX8-GISEL-NEXT:    buffer_load_dword v30, off, s[0:3], s326055; GFX8-GISEL-NEXT:    v_max_f16_e32 v29, v29, v326056; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v15, v156057; GFX8-GISEL-NEXT:    v_max_f16_sdwa v15, v15, v15 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16058; GFX8-GISEL-NEXT:    v_or_b32_e32 v0, v31, v06059; GFX8-GISEL-NEXT:    v_or_b32_e32 v1, v16, v16060; GFX8-GISEL-NEXT:    v_or_b32_e32 v2, v17, v26061; GFX8-GISEL-NEXT:    v_or_b32_e32 v3, v18, v36062; GFX8-GISEL-NEXT:    v_or_b32_e32 v4, v19, v46063; GFX8-GISEL-NEXT:    v_or_b32_e32 v5, v20, v56064; GFX8-GISEL-NEXT:    v_or_b32_e32 v6, v21, v66065; GFX8-GISEL-NEXT:    v_or_b32_e32 v7, v22, v76066; GFX8-GISEL-NEXT:    v_or_b32_e32 v8, v23, v86067; GFX8-GISEL-NEXT:    v_or_b32_e32 v9, v24, v96068; GFX8-GISEL-NEXT:    v_or_b32_e32 v10, v25, v106069; GFX8-GISEL-NEXT:    v_or_b32_e32 v11, v26, v116070; GFX8-GISEL-NEXT:    v_or_b32_e32 v12, v27, v126071; GFX8-GISEL-NEXT:    v_or_b32_e32 v13, v28, v136072; GFX8-GISEL-NEXT:    v_or_b32_e32 v14, v29, v146073; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0)6074; GFX8-GISEL-NEXT:    v_max_f16_e32 v33, v30, v306075; GFX8-GISEL-NEXT:    v_max_f16_sdwa v30, v30, v30 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_16076; GFX8-GISEL-NEXT:    v_max_f16_e32 v32, v32, v336077; GFX8-GISEL-NEXT:    v_max_f16_sdwa v15, v15, v30 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD6078; GFX8-GISEL-NEXT:    v_or_b32_e32 v15, v32, v156079; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]6080;6081; GFX900-SDAG-LABEL: v_maximumnum_v32f16:6082; GFX900-SDAG:       ; %bb.0:6083; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6084; GFX900-SDAG-NEXT:    v_pk_max_f16 v16, v16, v166085; GFX900-SDAG-NEXT:    v_pk_max_f16 v0, v0, v06086; GFX900-SDAG-NEXT:    v_pk_max_f16 v0, v0, v166087; GFX900-SDAG-NEXT:    v_pk_max_f16 v16, v17, v176088; GFX900-SDAG-NEXT:    v_pk_max_f16 v1, v1, v16089; GFX900-SDAG-NEXT:    v_pk_max_f16 v1, v1, v166090; GFX900-SDAG-NEXT:    v_pk_max_f16 v16, v18, v186091; GFX900-SDAG-NEXT:    v_pk_max_f16 v2, v2, v26092; GFX900-SDAG-NEXT:    v_pk_max_f16 v2, v2, v166093; GFX900-SDAG-NEXT:    v_pk_max_f16 v16, v19, v196094; GFX900-SDAG-NEXT:    v_pk_max_f16 v3, v3, v36095; GFX900-SDAG-NEXT:    v_pk_max_f16 v3, v3, v166096; GFX900-SDAG-NEXT:    buffer_load_dword v16, off, s[0:3], s326097; GFX900-SDAG-NEXT:    v_pk_max_f16 v17, v20, v206098; GFX900-SDAG-NEXT:    v_pk_max_f16 v4, v4, v46099; GFX900-SDAG-NEXT:    v_pk_max_f16 v18, v21, v216100; GFX900-SDAG-NEXT:    v_pk_max_f16 v5, v5, v56101; GFX900-SDAG-NEXT:    v_pk_max_f16 v19, v22, v226102; GFX900-SDAG-NEXT:    v_pk_max_f16 v6, v6, v66103; GFX900-SDAG-NEXT:    v_pk_max_f16 v20, v23, v236104; GFX900-SDAG-NEXT:    v_pk_max_f16 v7, v7, v76105; GFX900-SDAG-NEXT:    v_pk_max_f16 v21, v24, v246106; GFX900-SDAG-NEXT:    v_pk_max_f16 v8, v8, v86107; GFX900-SDAG-NEXT:    v_pk_max_f16 v22, v25, v256108; GFX900-SDAG-NEXT:    v_pk_max_f16 v9, v9, v96109; GFX900-SDAG-NEXT:    v_pk_max_f16 v23, v26, v266110; GFX900-SDAG-NEXT:    v_pk_max_f16 v10, v10, v106111; GFX900-SDAG-NEXT:    v_pk_max_f16 v24, v27, v276112; GFX900-SDAG-NEXT:    v_pk_max_f16 v11, v11, v116113; GFX900-SDAG-NEXT:    v_pk_max_f16 v25, v28, v286114; GFX900-SDAG-NEXT:    v_pk_max_f16 v12, v12, v126115; GFX900-SDAG-NEXT:    v_pk_max_f16 v26, v29, v296116; GFX900-SDAG-NEXT:    v_pk_max_f16 v13, v13, v136117; GFX900-SDAG-NEXT:    v_pk_max_f16 v27, v30, v306118; GFX900-SDAG-NEXT:    v_pk_max_f16 v14, v14, v146119; GFX900-SDAG-NEXT:    v_pk_max_f16 v15, v15, v156120; GFX900-SDAG-NEXT:    v_pk_max_f16 v4, v4, v176121; GFX900-SDAG-NEXT:    v_pk_max_f16 v5, v5, v186122; GFX900-SDAG-NEXT:    v_pk_max_f16 v6, v6, v196123; GFX900-SDAG-NEXT:    v_pk_max_f16 v7, v7, v206124; GFX900-SDAG-NEXT:    v_pk_max_f16 v8, v8, v216125; GFX900-SDAG-NEXT:    v_pk_max_f16 v9, v9, v226126; GFX900-SDAG-NEXT:    v_pk_max_f16 v10, v10, v236127; GFX900-SDAG-NEXT:    v_pk_max_f16 v11, v11, v246128; GFX900-SDAG-NEXT:    v_pk_max_f16 v12, v12, v256129; GFX900-SDAG-NEXT:    v_pk_max_f16 v13, v13, v266130; GFX900-SDAG-NEXT:    v_pk_max_f16 v14, v14, v276131; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0)6132; GFX900-SDAG-NEXT:    v_pk_max_f16 v16, v16, v166133; GFX900-SDAG-NEXT:    v_pk_max_f16 v15, v15, v166134; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]6135;6136; GFX900-GISEL-LABEL: v_maximumnum_v32f16:6137; GFX900-GISEL:       ; %bb.0:6138; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6139; GFX900-GISEL-NEXT:    v_pk_max_f16 v0, v0, v06140; GFX900-GISEL-NEXT:    v_pk_max_f16 v16, v16, v166141; GFX900-GISEL-NEXT:    v_pk_max_f16 v0, v0, v166142; GFX900-GISEL-NEXT:    v_pk_max_f16 v1, v1, v16143; GFX900-GISEL-NEXT:    v_pk_max_f16 v16, v17, v176144; GFX900-GISEL-NEXT:    v_pk_max_f16 v1, v1, v166145; GFX900-GISEL-NEXT:    v_pk_max_f16 v2, v2, v26146; GFX900-GISEL-NEXT:    v_pk_max_f16 v16, v18, v186147; GFX900-GISEL-NEXT:    v_pk_max_f16 v2, v2, v166148; GFX900-GISEL-NEXT:    v_pk_max_f16 v3, v3, v36149; GFX900-GISEL-NEXT:    v_pk_max_f16 v16, v19, v196150; GFX900-GISEL-NEXT:    v_pk_max_f16 v3, v3, v166151; GFX900-GISEL-NEXT:    buffer_load_dword v16, off, s[0:3], s326152; GFX900-GISEL-NEXT:    v_pk_max_f16 v4, v4, v46153; GFX900-GISEL-NEXT:    v_pk_max_f16 v17, v20, v206154; GFX900-GISEL-NEXT:    v_pk_max_f16 v5, v5, v56155; GFX900-GISEL-NEXT:    v_pk_max_f16 v18, v21, v216156; GFX900-GISEL-NEXT:    v_pk_max_f16 v6, v6, v66157; GFX900-GISEL-NEXT:    v_pk_max_f16 v19, v22, v226158; GFX900-GISEL-NEXT:    v_pk_max_f16 v7, v7, v76159; GFX900-GISEL-NEXT:    v_pk_max_f16 v20, v23, v236160; GFX900-GISEL-NEXT:    v_pk_max_f16 v8, v8, v86161; GFX900-GISEL-NEXT:    v_pk_max_f16 v21, v24, v246162; GFX900-GISEL-NEXT:    v_pk_max_f16 v9, v9, v96163; GFX900-GISEL-NEXT:    v_pk_max_f16 v22, v25, v256164; GFX900-GISEL-NEXT:    v_pk_max_f16 v10, v10, v106165; GFX900-GISEL-NEXT:    v_pk_max_f16 v23, v26, v266166; GFX900-GISEL-NEXT:    v_pk_max_f16 v11, v11, v116167; GFX900-GISEL-NEXT:    v_pk_max_f16 v24, v27, v276168; GFX900-GISEL-NEXT:    v_pk_max_f16 v12, v12, v126169; GFX900-GISEL-NEXT:    v_pk_max_f16 v25, v28, v286170; GFX900-GISEL-NEXT:    v_pk_max_f16 v13, v13, v136171; GFX900-GISEL-NEXT:    v_pk_max_f16 v26, v29, v296172; GFX900-GISEL-NEXT:    v_pk_max_f16 v14, v14, v146173; GFX900-GISEL-NEXT:    v_pk_max_f16 v27, v30, v306174; GFX900-GISEL-NEXT:    v_pk_max_f16 v15, v15, v156175; GFX900-GISEL-NEXT:    v_pk_max_f16 v4, v4, v176176; GFX900-GISEL-NEXT:    v_pk_max_f16 v5, v5, v186177; GFX900-GISEL-NEXT:    v_pk_max_f16 v6, v6, v196178; GFX900-GISEL-NEXT:    v_pk_max_f16 v7, v7, v206179; GFX900-GISEL-NEXT:    v_pk_max_f16 v8, v8, v216180; GFX900-GISEL-NEXT:    v_pk_max_f16 v9, v9, v226181; GFX900-GISEL-NEXT:    v_pk_max_f16 v10, v10, v236182; GFX900-GISEL-NEXT:    v_pk_max_f16 v11, v11, v246183; GFX900-GISEL-NEXT:    v_pk_max_f16 v12, v12, v256184; GFX900-GISEL-NEXT:    v_pk_max_f16 v13, v13, v266185; GFX900-GISEL-NEXT:    v_pk_max_f16 v14, v14, v276186; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0)6187; GFX900-GISEL-NEXT:    v_pk_max_f16 v16, v16, v166188; GFX900-GISEL-NEXT:    v_pk_max_f16 v15, v15, v166189; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]6190;6191; GFX950-SDAG-LABEL: v_maximumnum_v32f16:6192; GFX950-SDAG:       ; %bb.0:6193; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6194; GFX950-SDAG-NEXT:    scratch_load_dword v31, off, s326195; GFX950-SDAG-NEXT:    v_pk_max_f16 v16, v16, v166196; GFX950-SDAG-NEXT:    v_pk_max_f16 v0, v0, v06197; GFX950-SDAG-NEXT:    v_pk_max_f16 v17, v17, v176198; GFX950-SDAG-NEXT:    v_pk_max_f16 v1, v1, v16199; GFX950-SDAG-NEXT:    v_pk_max_f16 v18, v18, v186200; GFX950-SDAG-NEXT:    v_pk_max_f16 v2, v2, v26201; GFX950-SDAG-NEXT:    v_pk_max_f16 v19, v19, v196202; GFX950-SDAG-NEXT:    v_pk_max_f16 v3, v3, v36203; GFX950-SDAG-NEXT:    v_pk_max_f16 v20, v20, v206204; GFX950-SDAG-NEXT:    v_pk_max_f16 v4, v4, v46205; GFX950-SDAG-NEXT:    v_pk_max_f16 v21, v21, v216206; GFX950-SDAG-NEXT:    v_pk_max_f16 v5, v5, v56207; GFX950-SDAG-NEXT:    v_pk_max_f16 v22, v22, v226208; GFX950-SDAG-NEXT:    v_pk_max_f16 v6, v6, v66209; GFX950-SDAG-NEXT:    v_pk_max_f16 v23, v23, v236210; GFX950-SDAG-NEXT:    v_pk_max_f16 v7, v7, v76211; GFX950-SDAG-NEXT:    v_pk_max_f16 v24, v24, v246212; GFX950-SDAG-NEXT:    v_pk_max_f16 v8, v8, v86213; GFX950-SDAG-NEXT:    v_pk_max_f16 v25, v25, v256214; GFX950-SDAG-NEXT:    v_pk_max_f16 v9, v9, v96215; GFX950-SDAG-NEXT:    v_pk_max_f16 v26, v26, v266216; GFX950-SDAG-NEXT:    v_pk_max_f16 v10, v10, v106217; GFX950-SDAG-NEXT:    v_pk_max_f16 v27, v27, v276218; GFX950-SDAG-NEXT:    v_pk_max_f16 v11, v11, v116219; GFX950-SDAG-NEXT:    v_pk_max_f16 v28, v28, v286220; GFX950-SDAG-NEXT:    v_pk_max_f16 v12, v12, v126221; GFX950-SDAG-NEXT:    v_pk_max_f16 v29, v29, v296222; GFX950-SDAG-NEXT:    v_pk_max_f16 v13, v13, v136223; GFX950-SDAG-NEXT:    v_pk_max_f16 v30, v30, v306224; GFX950-SDAG-NEXT:    v_pk_max_f16 v14, v14, v146225; GFX950-SDAG-NEXT:    v_pk_max_f16 v15, v15, v156226; GFX950-SDAG-NEXT:    v_pk_max_f16 v0, v0, v166227; GFX950-SDAG-NEXT:    v_pk_max_f16 v1, v1, v176228; GFX950-SDAG-NEXT:    v_pk_max_f16 v2, v2, v186229; GFX950-SDAG-NEXT:    v_pk_max_f16 v3, v3, v196230; GFX950-SDAG-NEXT:    v_pk_max_f16 v4, v4, v206231; GFX950-SDAG-NEXT:    v_pk_max_f16 v5, v5, v216232; GFX950-SDAG-NEXT:    v_pk_max_f16 v6, v6, v226233; GFX950-SDAG-NEXT:    v_pk_max_f16 v7, v7, v236234; GFX950-SDAG-NEXT:    v_pk_max_f16 v8, v8, v246235; GFX950-SDAG-NEXT:    v_pk_max_f16 v9, v9, v256236; GFX950-SDAG-NEXT:    v_pk_max_f16 v10, v10, v266237; GFX950-SDAG-NEXT:    v_pk_max_f16 v11, v11, v276238; GFX950-SDAG-NEXT:    v_pk_max_f16 v12, v12, v286239; GFX950-SDAG-NEXT:    v_pk_max_f16 v13, v13, v296240; GFX950-SDAG-NEXT:    v_pk_max_f16 v14, v14, v306241; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0)6242; GFX950-SDAG-NEXT:    v_pk_max_f16 v16, v31, v316243; GFX950-SDAG-NEXT:    s_nop 06244; GFX950-SDAG-NEXT:    v_pk_max_f16 v15, v15, v166245; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]6246;6247; GFX950-GISEL-LABEL: v_maximumnum_v32f16:6248; GFX950-GISEL:       ; %bb.0:6249; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6250; GFX950-GISEL-NEXT:    scratch_load_dword v31, off, s326251; GFX950-GISEL-NEXT:    v_pk_max_f16 v0, v0, v06252; GFX950-GISEL-NEXT:    v_pk_max_f16 v16, v16, v166253; GFX950-GISEL-NEXT:    v_pk_max_f16 v1, v1, v16254; GFX950-GISEL-NEXT:    v_pk_max_f16 v17, v17, v176255; GFX950-GISEL-NEXT:    v_pk_max_f16 v2, v2, v26256; GFX950-GISEL-NEXT:    v_pk_max_f16 v18, v18, v186257; GFX950-GISEL-NEXT:    v_pk_max_f16 v3, v3, v36258; GFX950-GISEL-NEXT:    v_pk_max_f16 v19, v19, v196259; GFX950-GISEL-NEXT:    v_pk_max_f16 v4, v4, v46260; GFX950-GISEL-NEXT:    v_pk_max_f16 v20, v20, v206261; GFX950-GISEL-NEXT:    v_pk_max_f16 v5, v5, v56262; GFX950-GISEL-NEXT:    v_pk_max_f16 v21, v21, v216263; GFX950-GISEL-NEXT:    v_pk_max_f16 v6, v6, v66264; GFX950-GISEL-NEXT:    v_pk_max_f16 v22, v22, v226265; GFX950-GISEL-NEXT:    v_pk_max_f16 v7, v7, v76266; GFX950-GISEL-NEXT:    v_pk_max_f16 v23, v23, v236267; GFX950-GISEL-NEXT:    v_pk_max_f16 v8, v8, v86268; GFX950-GISEL-NEXT:    v_pk_max_f16 v24, v24, v246269; GFX950-GISEL-NEXT:    v_pk_max_f16 v9, v9, v96270; GFX950-GISEL-NEXT:    v_pk_max_f16 v25, v25, v256271; GFX950-GISEL-NEXT:    v_pk_max_f16 v10, v10, v106272; GFX950-GISEL-NEXT:    v_pk_max_f16 v26, v26, v266273; GFX950-GISEL-NEXT:    v_pk_max_f16 v11, v11, v116274; GFX950-GISEL-NEXT:    v_pk_max_f16 v27, v27, v276275; GFX950-GISEL-NEXT:    v_pk_max_f16 v12, v12, v126276; GFX950-GISEL-NEXT:    v_pk_max_f16 v28, v28, v286277; GFX950-GISEL-NEXT:    v_pk_max_f16 v13, v13, v136278; GFX950-GISEL-NEXT:    v_pk_max_f16 v29, v29, v296279; GFX950-GISEL-NEXT:    v_pk_max_f16 v14, v14, v146280; GFX950-GISEL-NEXT:    v_pk_max_f16 v30, v30, v306281; GFX950-GISEL-NEXT:    v_pk_max_f16 v15, v15, v156282; GFX950-GISEL-NEXT:    v_pk_max_f16 v0, v0, v166283; GFX950-GISEL-NEXT:    v_pk_max_f16 v1, v1, v176284; GFX950-GISEL-NEXT:    v_pk_max_f16 v2, v2, v186285; GFX950-GISEL-NEXT:    v_pk_max_f16 v3, v3, v196286; GFX950-GISEL-NEXT:    v_pk_max_f16 v4, v4, v206287; GFX950-GISEL-NEXT:    v_pk_max_f16 v5, v5, v216288; GFX950-GISEL-NEXT:    v_pk_max_f16 v6, v6, v226289; GFX950-GISEL-NEXT:    v_pk_max_f16 v7, v7, v236290; GFX950-GISEL-NEXT:    v_pk_max_f16 v8, v8, v246291; GFX950-GISEL-NEXT:    v_pk_max_f16 v9, v9, v256292; GFX950-GISEL-NEXT:    v_pk_max_f16 v10, v10, v266293; GFX950-GISEL-NEXT:    v_pk_max_f16 v11, v11, v276294; GFX950-GISEL-NEXT:    v_pk_max_f16 v12, v12, v286295; GFX950-GISEL-NEXT:    v_pk_max_f16 v13, v13, v296296; GFX950-GISEL-NEXT:    v_pk_max_f16 v14, v14, v306297; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0)6298; GFX950-GISEL-NEXT:    v_pk_max_f16 v16, v31, v316299; GFX950-GISEL-NEXT:    s_nop 06300; GFX950-GISEL-NEXT:    v_pk_max_f16 v15, v15, v166301; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]6302;6303; GFX10-SDAG-LABEL: v_maximumnum_v32f16:6304; GFX10-SDAG:       ; %bb.0:6305; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6306; GFX10-SDAG-NEXT:    buffer_load_dword v31, off, s[0:3], s326307; GFX10-SDAG-NEXT:    v_pk_max_f16 v16, v16, v166308; GFX10-SDAG-NEXT:    v_pk_max_f16 v0, v0, v06309; GFX10-SDAG-NEXT:    v_pk_max_f16 v17, v17, v176310; GFX10-SDAG-NEXT:    v_pk_max_f16 v1, v1, v16311; GFX10-SDAG-NEXT:    v_pk_max_f16 v18, v18, v186312; GFX10-SDAG-NEXT:    v_pk_max_f16 v2, v2, v26313; GFX10-SDAG-NEXT:    v_pk_max_f16 v19, v19, v196314; GFX10-SDAG-NEXT:    v_pk_max_f16 v3, v3, v36315; GFX10-SDAG-NEXT:    v_pk_max_f16 v20, v20, v206316; GFX10-SDAG-NEXT:    v_pk_max_f16 v4, v4, v46317; GFX10-SDAG-NEXT:    v_pk_max_f16 v21, v21, v216318; GFX10-SDAG-NEXT:    v_pk_max_f16 v5, v5, v56319; GFX10-SDAG-NEXT:    v_pk_max_f16 v22, v22, v226320; GFX10-SDAG-NEXT:    v_pk_max_f16 v6, v6, v66321; GFX10-SDAG-NEXT:    v_pk_max_f16 v23, v23, v236322; GFX10-SDAG-NEXT:    v_pk_max_f16 v7, v7, v76323; GFX10-SDAG-NEXT:    v_pk_max_f16 v24, v24, v246324; GFX10-SDAG-NEXT:    v_pk_max_f16 v8, v8, v86325; GFX10-SDAG-NEXT:    v_pk_max_f16 v25, v25, v256326; GFX10-SDAG-NEXT:    v_pk_max_f16 v9, v9, v96327; GFX10-SDAG-NEXT:    v_pk_max_f16 v26, v26, v266328; GFX10-SDAG-NEXT:    v_pk_max_f16 v10, v10, v106329; GFX10-SDAG-NEXT:    v_pk_max_f16 v27, v27, v276330; GFX10-SDAG-NEXT:    v_pk_max_f16 v11, v11, v116331; GFX10-SDAG-NEXT:    v_pk_max_f16 v28, v28, v286332; GFX10-SDAG-NEXT:    v_pk_max_f16 v12, v12, v126333; GFX10-SDAG-NEXT:    v_pk_max_f16 v29, v29, v296334; GFX10-SDAG-NEXT:    v_pk_max_f16 v13, v13, v136335; GFX10-SDAG-NEXT:    v_pk_max_f16 v30, v30, v306336; GFX10-SDAG-NEXT:    v_pk_max_f16 v14, v14, v146337; GFX10-SDAG-NEXT:    v_pk_max_f16 v15, v15, v156338; GFX10-SDAG-NEXT:    v_pk_max_f16 v0, v0, v166339; GFX10-SDAG-NEXT:    v_pk_max_f16 v1, v1, v176340; GFX10-SDAG-NEXT:    v_pk_max_f16 v2, v2, v186341; GFX10-SDAG-NEXT:    v_pk_max_f16 v3, v3, v196342; GFX10-SDAG-NEXT:    v_pk_max_f16 v4, v4, v206343; GFX10-SDAG-NEXT:    v_pk_max_f16 v5, v5, v216344; GFX10-SDAG-NEXT:    v_pk_max_f16 v6, v6, v226345; GFX10-SDAG-NEXT:    v_pk_max_f16 v7, v7, v236346; GFX10-SDAG-NEXT:    v_pk_max_f16 v8, v8, v246347; GFX10-SDAG-NEXT:    v_pk_max_f16 v9, v9, v256348; GFX10-SDAG-NEXT:    v_pk_max_f16 v10, v10, v266349; GFX10-SDAG-NEXT:    v_pk_max_f16 v11, v11, v276350; GFX10-SDAG-NEXT:    v_pk_max_f16 v12, v12, v286351; GFX10-SDAG-NEXT:    v_pk_max_f16 v13, v13, v296352; GFX10-SDAG-NEXT:    v_pk_max_f16 v14, v14, v306353; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0)6354; GFX10-SDAG-NEXT:    v_pk_max_f16 v16, v31, v316355; GFX10-SDAG-NEXT:    v_pk_max_f16 v15, v15, v166356; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]6357;6358; GFX10-GISEL-LABEL: v_maximumnum_v32f16:6359; GFX10-GISEL:       ; %bb.0:6360; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6361; GFX10-GISEL-NEXT:    buffer_load_dword v31, off, s[0:3], s326362; GFX10-GISEL-NEXT:    v_pk_max_f16 v0, v0, v06363; GFX10-GISEL-NEXT:    v_pk_max_f16 v16, v16, v166364; GFX10-GISEL-NEXT:    v_pk_max_f16 v1, v1, v16365; GFX10-GISEL-NEXT:    v_pk_max_f16 v17, v17, v176366; GFX10-GISEL-NEXT:    v_pk_max_f16 v2, v2, v26367; GFX10-GISEL-NEXT:    v_pk_max_f16 v18, v18, v186368; GFX10-GISEL-NEXT:    v_pk_max_f16 v3, v3, v36369; GFX10-GISEL-NEXT:    v_pk_max_f16 v19, v19, v196370; GFX10-GISEL-NEXT:    v_pk_max_f16 v4, v4, v46371; GFX10-GISEL-NEXT:    v_pk_max_f16 v20, v20, v206372; GFX10-GISEL-NEXT:    v_pk_max_f16 v5, v5, v56373; GFX10-GISEL-NEXT:    v_pk_max_f16 v21, v21, v216374; GFX10-GISEL-NEXT:    v_pk_max_f16 v6, v6, v66375; GFX10-GISEL-NEXT:    v_pk_max_f16 v22, v22, v226376; GFX10-GISEL-NEXT:    v_pk_max_f16 v7, v7, v76377; GFX10-GISEL-NEXT:    v_pk_max_f16 v23, v23, v236378; GFX10-GISEL-NEXT:    v_pk_max_f16 v8, v8, v86379; GFX10-GISEL-NEXT:    v_pk_max_f16 v24, v24, v246380; GFX10-GISEL-NEXT:    v_pk_max_f16 v9, v9, v96381; GFX10-GISEL-NEXT:    v_pk_max_f16 v25, v25, v256382; GFX10-GISEL-NEXT:    v_pk_max_f16 v10, v10, v106383; GFX10-GISEL-NEXT:    v_pk_max_f16 v26, v26, v266384; GFX10-GISEL-NEXT:    v_pk_max_f16 v11, v11, v116385; GFX10-GISEL-NEXT:    v_pk_max_f16 v27, v27, v276386; GFX10-GISEL-NEXT:    v_pk_max_f16 v12, v12, v126387; GFX10-GISEL-NEXT:    v_pk_max_f16 v28, v28, v286388; GFX10-GISEL-NEXT:    v_pk_max_f16 v13, v13, v136389; GFX10-GISEL-NEXT:    v_pk_max_f16 v29, v29, v296390; GFX10-GISEL-NEXT:    v_pk_max_f16 v14, v14, v146391; GFX10-GISEL-NEXT:    v_pk_max_f16 v30, v30, v306392; GFX10-GISEL-NEXT:    v_pk_max_f16 v15, v15, v156393; GFX10-GISEL-NEXT:    v_pk_max_f16 v0, v0, v166394; GFX10-GISEL-NEXT:    v_pk_max_f16 v1, v1, v176395; GFX10-GISEL-NEXT:    v_pk_max_f16 v2, v2, v186396; GFX10-GISEL-NEXT:    v_pk_max_f16 v3, v3, v196397; GFX10-GISEL-NEXT:    v_pk_max_f16 v4, v4, v206398; GFX10-GISEL-NEXT:    v_pk_max_f16 v5, v5, v216399; GFX10-GISEL-NEXT:    v_pk_max_f16 v6, v6, v226400; GFX10-GISEL-NEXT:    v_pk_max_f16 v7, v7, v236401; GFX10-GISEL-NEXT:    v_pk_max_f16 v8, v8, v246402; GFX10-GISEL-NEXT:    v_pk_max_f16 v9, v9, v256403; GFX10-GISEL-NEXT:    v_pk_max_f16 v10, v10, v266404; GFX10-GISEL-NEXT:    v_pk_max_f16 v11, v11, v276405; GFX10-GISEL-NEXT:    v_pk_max_f16 v12, v12, v286406; GFX10-GISEL-NEXT:    v_pk_max_f16 v13, v13, v296407; GFX10-GISEL-NEXT:    v_pk_max_f16 v14, v14, v306408; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0)6409; GFX10-GISEL-NEXT:    v_pk_max_f16 v16, v31, v316410; GFX10-GISEL-NEXT:    v_pk_max_f16 v15, v15, v166411; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]6412;6413; GFX11-SDAG-LABEL: v_maximumnum_v32f16:6414; GFX11-SDAG:       ; %bb.0:6415; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6416; GFX11-SDAG-NEXT:    scratch_load_b32 v31, off, s326417; GFX11-SDAG-NEXT:    v_pk_max_f16 v16, v16, v166418; GFX11-SDAG-NEXT:    v_pk_max_f16 v0, v0, v06419; GFX11-SDAG-NEXT:    v_pk_max_f16 v17, v17, v176420; GFX11-SDAG-NEXT:    v_pk_max_f16 v1, v1, v16421; GFX11-SDAG-NEXT:    v_pk_max_f16 v18, v18, v186422; GFX11-SDAG-NEXT:    v_pk_max_f16 v2, v2, v26423; GFX11-SDAG-NEXT:    v_pk_max_f16 v19, v19, v196424; GFX11-SDAG-NEXT:    v_pk_max_f16 v3, v3, v36425; GFX11-SDAG-NEXT:    v_pk_max_f16 v20, v20, v206426; GFX11-SDAG-NEXT:    v_pk_max_f16 v4, v4, v46427; GFX11-SDAG-NEXT:    v_pk_max_f16 v21, v21, v216428; GFX11-SDAG-NEXT:    v_pk_max_f16 v5, v5, v56429; GFX11-SDAG-NEXT:    v_pk_max_f16 v22, v22, v226430; GFX11-SDAG-NEXT:    v_pk_max_f16 v6, v6, v66431; GFX11-SDAG-NEXT:    v_pk_max_f16 v23, v23, v236432; GFX11-SDAG-NEXT:    v_pk_max_f16 v7, v7, v76433; GFX11-SDAG-NEXT:    v_pk_max_f16 v24, v24, v246434; GFX11-SDAG-NEXT:    v_pk_max_f16 v8, v8, v86435; GFX11-SDAG-NEXT:    v_pk_max_f16 v25, v25, v256436; GFX11-SDAG-NEXT:    v_pk_max_f16 v9, v9, v96437; GFX11-SDAG-NEXT:    v_pk_max_f16 v26, v26, v266438; GFX11-SDAG-NEXT:    v_pk_max_f16 v10, v10, v106439; GFX11-SDAG-NEXT:    v_pk_max_f16 v27, v27, v276440; GFX11-SDAG-NEXT:    v_pk_max_f16 v11, v11, v116441; GFX11-SDAG-NEXT:    v_pk_max_f16 v28, v28, v286442; GFX11-SDAG-NEXT:    v_pk_max_f16 v12, v12, v126443; GFX11-SDAG-NEXT:    v_pk_max_f16 v29, v29, v296444; GFX11-SDAG-NEXT:    v_pk_max_f16 v13, v13, v136445; GFX11-SDAG-NEXT:    v_pk_max_f16 v30, v30, v306446; GFX11-SDAG-NEXT:    v_pk_max_f16 v14, v14, v146447; GFX11-SDAG-NEXT:    v_pk_max_f16 v15, v15, v156448; GFX11-SDAG-NEXT:    v_pk_max_f16 v0, v0, v166449; GFX11-SDAG-NEXT:    v_pk_max_f16 v1, v1, v176450; GFX11-SDAG-NEXT:    v_pk_max_f16 v2, v2, v186451; GFX11-SDAG-NEXT:    v_pk_max_f16 v3, v3, v196452; GFX11-SDAG-NEXT:    v_pk_max_f16 v4, v4, v206453; GFX11-SDAG-NEXT:    v_pk_max_f16 v5, v5, v216454; GFX11-SDAG-NEXT:    v_pk_max_f16 v6, v6, v226455; GFX11-SDAG-NEXT:    v_pk_max_f16 v7, v7, v236456; GFX11-SDAG-NEXT:    v_pk_max_f16 v8, v8, v246457; GFX11-SDAG-NEXT:    v_pk_max_f16 v9, v9, v256458; GFX11-SDAG-NEXT:    v_pk_max_f16 v10, v10, v266459; GFX11-SDAG-NEXT:    v_pk_max_f16 v11, v11, v276460; GFX11-SDAG-NEXT:    v_pk_max_f16 v12, v12, v286461; GFX11-SDAG-NEXT:    v_pk_max_f16 v13, v13, v296462; GFX11-SDAG-NEXT:    v_pk_max_f16 v14, v14, v306463; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0)6464; GFX11-SDAG-NEXT:    v_pk_max_f16 v16, v31, v316465; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)6466; GFX11-SDAG-NEXT:    v_pk_max_f16 v15, v15, v166467; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]6468;6469; GFX11-GISEL-LABEL: v_maximumnum_v32f16:6470; GFX11-GISEL:       ; %bb.0:6471; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6472; GFX11-GISEL-NEXT:    scratch_load_b32 v31, off, s326473; GFX11-GISEL-NEXT:    v_pk_max_f16 v0, v0, v06474; GFX11-GISEL-NEXT:    v_pk_max_f16 v16, v16, v166475; GFX11-GISEL-NEXT:    v_pk_max_f16 v1, v1, v16476; GFX11-GISEL-NEXT:    v_pk_max_f16 v17, v17, v176477; GFX11-GISEL-NEXT:    v_pk_max_f16 v2, v2, v26478; GFX11-GISEL-NEXT:    v_pk_max_f16 v18, v18, v186479; GFX11-GISEL-NEXT:    v_pk_max_f16 v3, v3, v36480; GFX11-GISEL-NEXT:    v_pk_max_f16 v19, v19, v196481; GFX11-GISEL-NEXT:    v_pk_max_f16 v4, v4, v46482; GFX11-GISEL-NEXT:    v_pk_max_f16 v20, v20, v206483; GFX11-GISEL-NEXT:    v_pk_max_f16 v5, v5, v56484; GFX11-GISEL-NEXT:    v_pk_max_f16 v21, v21, v216485; GFX11-GISEL-NEXT:    v_pk_max_f16 v6, v6, v66486; GFX11-GISEL-NEXT:    v_pk_max_f16 v22, v22, v226487; GFX11-GISEL-NEXT:    v_pk_max_f16 v7, v7, v76488; GFX11-GISEL-NEXT:    v_pk_max_f16 v23, v23, v236489; GFX11-GISEL-NEXT:    v_pk_max_f16 v8, v8, v86490; GFX11-GISEL-NEXT:    v_pk_max_f16 v24, v24, v246491; GFX11-GISEL-NEXT:    v_pk_max_f16 v9, v9, v96492; GFX11-GISEL-NEXT:    v_pk_max_f16 v25, v25, v256493; GFX11-GISEL-NEXT:    v_pk_max_f16 v10, v10, v106494; GFX11-GISEL-NEXT:    v_pk_max_f16 v26, v26, v266495; GFX11-GISEL-NEXT:    v_pk_max_f16 v11, v11, v116496; GFX11-GISEL-NEXT:    v_pk_max_f16 v27, v27, v276497; GFX11-GISEL-NEXT:    v_pk_max_f16 v12, v12, v126498; GFX11-GISEL-NEXT:    v_pk_max_f16 v28, v28, v286499; GFX11-GISEL-NEXT:    v_pk_max_f16 v13, v13, v136500; GFX11-GISEL-NEXT:    v_pk_max_f16 v29, v29, v296501; GFX11-GISEL-NEXT:    v_pk_max_f16 v14, v14, v146502; GFX11-GISEL-NEXT:    v_pk_max_f16 v30, v30, v306503; GFX11-GISEL-NEXT:    v_pk_max_f16 v15, v15, v156504; GFX11-GISEL-NEXT:    v_pk_max_f16 v0, v0, v166505; GFX11-GISEL-NEXT:    v_pk_max_f16 v1, v1, v176506; GFX11-GISEL-NEXT:    v_pk_max_f16 v2, v2, v186507; GFX11-GISEL-NEXT:    v_pk_max_f16 v3, v3, v196508; GFX11-GISEL-NEXT:    v_pk_max_f16 v4, v4, v206509; GFX11-GISEL-NEXT:    v_pk_max_f16 v5, v5, v216510; GFX11-GISEL-NEXT:    v_pk_max_f16 v6, v6, v226511; GFX11-GISEL-NEXT:    v_pk_max_f16 v7, v7, v236512; GFX11-GISEL-NEXT:    v_pk_max_f16 v8, v8, v246513; GFX11-GISEL-NEXT:    v_pk_max_f16 v9, v9, v256514; GFX11-GISEL-NEXT:    v_pk_max_f16 v10, v10, v266515; GFX11-GISEL-NEXT:    v_pk_max_f16 v11, v11, v276516; GFX11-GISEL-NEXT:    v_pk_max_f16 v12, v12, v286517; GFX11-GISEL-NEXT:    v_pk_max_f16 v13, v13, v296518; GFX11-GISEL-NEXT:    v_pk_max_f16 v14, v14, v306519; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0)6520; GFX11-GISEL-NEXT:    v_pk_max_f16 v16, v31, v316521; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)6522; GFX11-GISEL-NEXT:    v_pk_max_f16 v15, v15, v166523; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]6524;6525; GFX12-SDAG-LABEL: v_maximumnum_v32f16:6526; GFX12-SDAG:       ; %bb.0:6527; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x06528; GFX12-SDAG-NEXT:    s_wait_expcnt 0x06529; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x06530; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x06531; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x06532; GFX12-SDAG-NEXT:    scratch_load_b32 v31, off, s326533; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v16, v16, v166534; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v0, v0, v06535; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v17, v17, v176536; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v1, v1, v16537; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v18, v18, v186538; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v2, v2, v26539; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v19, v19, v196540; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v3, v3, v36541; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v20, v20, v206542; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v4, v4, v46543; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v21, v21, v216544; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v5, v5, v56545; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v22, v22, v226546; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v6, v6, v66547; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v23, v23, v236548; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v7, v7, v76549; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v24, v24, v246550; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v8, v8, v86551; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v25, v25, v256552; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v9, v9, v96553; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v26, v26, v266554; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v10, v10, v106555; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v27, v27, v276556; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v11, v11, v116557; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v28, v28, v286558; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v12, v12, v126559; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v29, v29, v296560; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v13, v13, v136561; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v30, v30, v306562; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v14, v14, v146563; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v15, v15, v156564; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v0, v0, v166565; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v1, v1, v176566; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v2, v2, v186567; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v3, v3, v196568; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v4, v4, v206569; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v5, v5, v216570; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v6, v6, v226571; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v7, v7, v236572; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v8, v8, v246573; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v9, v9, v256574; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v10, v10, v266575; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v11, v11, v276576; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v12, v12, v286577; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v13, v13, v296578; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v14, v14, v306579; GFX12-SDAG-NEXT:    s_wait_loadcnt 0x06580; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v16, v31, v316581; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)6582; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v15, v15, v166583; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]6584;6585; GFX12-GISEL-LABEL: v_maximumnum_v32f16:6586; GFX12-GISEL:       ; %bb.0:6587; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x06588; GFX12-GISEL-NEXT:    s_wait_expcnt 0x06589; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x06590; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x06591; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x06592; GFX12-GISEL-NEXT:    scratch_load_b32 v31, off, s326593; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v0, v0, v06594; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v16, v16, v166595; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v1, v1, v16596; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v17, v17, v176597; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v2, v2, v26598; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v18, v18, v186599; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v3, v3, v36600; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v19, v19, v196601; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v4, v4, v46602; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v20, v20, v206603; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v5, v5, v56604; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v21, v21, v216605; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v6, v6, v66606; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v22, v22, v226607; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v7, v7, v76608; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v23, v23, v236609; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v8, v8, v86610; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v24, v24, v246611; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v9, v9, v96612; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v25, v25, v256613; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v10, v10, v106614; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v26, v26, v266615; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v11, v11, v116616; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v27, v27, v276617; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v12, v12, v126618; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v28, v28, v286619; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v13, v13, v136620; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v29, v29, v296621; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v14, v14, v146622; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v30, v30, v306623; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v15, v15, v156624; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v0, v0, v166625; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v1, v1, v176626; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v2, v2, v186627; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v3, v3, v196628; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v4, v4, v206629; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v5, v5, v216630; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v6, v6, v226631; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v7, v7, v236632; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v8, v8, v246633; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v9, v9, v256634; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v10, v10, v266635; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v11, v11, v276636; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v12, v12, v286637; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v13, v13, v296638; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v14, v14, v306639; GFX12-GISEL-NEXT:    s_wait_loadcnt 0x06640; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v16, v31, v316641; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)6642; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v15, v15, v166643; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]6644  %result = call <32 x half> @llvm.maximumnum.v32f16(<32 x half> %x, <32 x half> %y)6645  ret <32 x half> %result6646}6647 6648define <2 x float> @v_maximumnum_v2f32(<2 x float> %x, <2 x float> %y) {6649; GFX7-SDAG-LABEL: v_maximumnum_v2f32:6650; GFX7-SDAG:       ; %bb.0:6651; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6652; GFX7-SDAG-NEXT:    v_mul_f32_e32 v2, 1.0, v26653; GFX7-SDAG-NEXT:    v_mul_f32_e32 v0, 1.0, v06654; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v26655; GFX7-SDAG-NEXT:    v_mul_f32_e32 v2, 1.0, v36656; GFX7-SDAG-NEXT:    v_mul_f32_e32 v1, 1.0, v16657; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v26658; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]6659;6660; GFX7-GISEL-LABEL: v_maximumnum_v2f32:6661; GFX7-GISEL:       ; %bb.0:6662; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6663; GFX7-GISEL-NEXT:    v_mul_f32_e32 v0, 1.0, v06664; GFX7-GISEL-NEXT:    v_mul_f32_e32 v2, 1.0, v26665; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v26666; GFX7-GISEL-NEXT:    v_mul_f32_e32 v1, 1.0, v16667; GFX7-GISEL-NEXT:    v_mul_f32_e32 v2, 1.0, v36668; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v26669; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]6670;6671; GFX8-SDAG-LABEL: v_maximumnum_v2f32:6672; GFX8-SDAG:       ; %bb.0:6673; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6674; GFX8-SDAG-NEXT:    v_mul_f32_e32 v2, 1.0, v26675; GFX8-SDAG-NEXT:    v_mul_f32_e32 v0, 1.0, v06676; GFX8-SDAG-NEXT:    v_max_f32_e32 v0, v0, v26677; GFX8-SDAG-NEXT:    v_mul_f32_e32 v2, 1.0, v36678; GFX8-SDAG-NEXT:    v_mul_f32_e32 v1, 1.0, v16679; GFX8-SDAG-NEXT:    v_max_f32_e32 v1, v1, v26680; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]6681;6682; GFX8-GISEL-LABEL: v_maximumnum_v2f32:6683; GFX8-GISEL:       ; %bb.0:6684; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6685; GFX8-GISEL-NEXT:    v_mul_f32_e32 v0, 1.0, v06686; GFX8-GISEL-NEXT:    v_mul_f32_e32 v2, 1.0, v26687; GFX8-GISEL-NEXT:    v_max_f32_e32 v0, v0, v26688; GFX8-GISEL-NEXT:    v_mul_f32_e32 v1, 1.0, v16689; GFX8-GISEL-NEXT:    v_mul_f32_e32 v2, 1.0, v36690; GFX8-GISEL-NEXT:    v_max_f32_e32 v1, v1, v26691; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]6692;6693; GFX9-SDAG-LABEL: v_maximumnum_v2f32:6694; GFX9-SDAG:       ; %bb.0:6695; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6696; GFX9-SDAG-NEXT:    v_max_f32_e32 v2, v2, v26697; GFX9-SDAG-NEXT:    v_max_f32_e32 v0, v0, v06698; GFX9-SDAG-NEXT:    v_max_f32_e32 v0, v0, v26699; GFX9-SDAG-NEXT:    v_max_f32_e32 v2, v3, v36700; GFX9-SDAG-NEXT:    v_max_f32_e32 v1, v1, v16701; GFX9-SDAG-NEXT:    v_max_f32_e32 v1, v1, v26702; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]6703;6704; GFX9-GISEL-LABEL: v_maximumnum_v2f32:6705; GFX9-GISEL:       ; %bb.0:6706; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6707; GFX9-GISEL-NEXT:    v_max_f32_e32 v0, v0, v06708; GFX9-GISEL-NEXT:    v_max_f32_e32 v2, v2, v26709; GFX9-GISEL-NEXT:    v_max_f32_e32 v0, v0, v26710; GFX9-GISEL-NEXT:    v_max_f32_e32 v1, v1, v16711; GFX9-GISEL-NEXT:    v_max_f32_e32 v2, v3, v36712; GFX9-GISEL-NEXT:    v_max_f32_e32 v1, v1, v26713; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]6714;6715; GFX10-SDAG-LABEL: v_maximumnum_v2f32:6716; GFX10-SDAG:       ; %bb.0:6717; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6718; GFX10-SDAG-NEXT:    v_max_f32_e32 v2, v2, v26719; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v06720; GFX10-SDAG-NEXT:    v_max_f32_e32 v3, v3, v36721; GFX10-SDAG-NEXT:    v_max_f32_e32 v1, v1, v16722; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v26723; GFX10-SDAG-NEXT:    v_max_f32_e32 v1, v1, v36724; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]6725;6726; GFX10-GISEL-LABEL: v_maximumnum_v2f32:6727; GFX10-GISEL:       ; %bb.0:6728; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6729; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v06730; GFX10-GISEL-NEXT:    v_max_f32_e32 v2, v2, v26731; GFX10-GISEL-NEXT:    v_max_f32_e32 v1, v1, v16732; GFX10-GISEL-NEXT:    v_max_f32_e32 v3, v3, v36733; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v26734; GFX10-GISEL-NEXT:    v_max_f32_e32 v1, v1, v36735; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]6736;6737; GFX11-SDAG-LABEL: v_maximumnum_v2f32:6738; GFX11-SDAG:       ; %bb.0:6739; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6740; GFX11-SDAG-NEXT:    v_dual_max_f32 v2, v2, v2 :: v_dual_max_f32 v3, v3, v36741; GFX11-SDAG-NEXT:    v_dual_max_f32 v0, v0, v0 :: v_dual_max_f32 v1, v1, v16742; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)6743; GFX11-SDAG-NEXT:    v_dual_max_f32 v0, v0, v2 :: v_dual_max_f32 v1, v1, v36744; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]6745;6746; GFX11-GISEL-LABEL: v_maximumnum_v2f32:6747; GFX11-GISEL:       ; %bb.0:6748; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6749; GFX11-GISEL-NEXT:    v_dual_max_f32 v0, v0, v0 :: v_dual_max_f32 v1, v1, v16750; GFX11-GISEL-NEXT:    v_dual_max_f32 v2, v2, v2 :: v_dual_max_f32 v3, v3, v36751; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)6752; GFX11-GISEL-NEXT:    v_dual_max_f32 v0, v0, v2 :: v_dual_max_f32 v1, v1, v36753; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]6754;6755; GFX12-SDAG-LABEL: v_maximumnum_v2f32:6756; GFX12-SDAG:       ; %bb.0:6757; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x06758; GFX12-SDAG-NEXT:    s_wait_expcnt 0x06759; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x06760; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x06761; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x06762; GFX12-SDAG-NEXT:    v_dual_max_num_f32 v2, v2, v2 :: v_dual_max_num_f32 v3, v3, v36763; GFX12-SDAG-NEXT:    v_dual_max_num_f32 v0, v0, v0 :: v_dual_max_num_f32 v1, v1, v16764; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)6765; GFX12-SDAG-NEXT:    v_dual_max_num_f32 v0, v0, v2 :: v_dual_max_num_f32 v1, v1, v36766; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]6767;6768; GFX12-GISEL-LABEL: v_maximumnum_v2f32:6769; GFX12-GISEL:       ; %bb.0:6770; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x06771; GFX12-GISEL-NEXT:    s_wait_expcnt 0x06772; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x06773; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x06774; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x06775; GFX12-GISEL-NEXT:    v_dual_max_num_f32 v0, v0, v0 :: v_dual_max_num_f32 v1, v1, v16776; GFX12-GISEL-NEXT:    v_dual_max_num_f32 v2, v2, v2 :: v_dual_max_num_f32 v3, v3, v36777; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)6778; GFX12-GISEL-NEXT:    v_dual_max_num_f32 v0, v0, v2 :: v_dual_max_num_f32 v1, v1, v36779; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]6780  %result = call <2 x float> @llvm.maximumnum.v2f32(<2 x float> %x, <2 x float> %y)6781  ret <2 x float> %result6782}6783 6784define <2 x float> @v_maximumnum_v2f32_nnan(<2 x float> %x, <2 x float> %y) {6785; GFX7-LABEL: v_maximumnum_v2f32_nnan:6786; GFX7:       ; %bb.0:6787; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6788; GFX7-NEXT:    v_max_f32_e32 v0, v0, v26789; GFX7-NEXT:    v_max_f32_e32 v1, v1, v36790; GFX7-NEXT:    s_setpc_b64 s[30:31]6791;6792; GFX8-LABEL: v_maximumnum_v2f32_nnan:6793; GFX8:       ; %bb.0:6794; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6795; GFX8-NEXT:    v_max_f32_e32 v0, v0, v26796; GFX8-NEXT:    v_max_f32_e32 v1, v1, v36797; GFX8-NEXT:    s_setpc_b64 s[30:31]6798;6799; GFX9-LABEL: v_maximumnum_v2f32_nnan:6800; GFX9:       ; %bb.0:6801; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6802; GFX9-NEXT:    v_max_f32_e32 v0, v0, v26803; GFX9-NEXT:    v_max_f32_e32 v1, v1, v36804; GFX9-NEXT:    s_setpc_b64 s[30:31]6805;6806; GFX10-LABEL: v_maximumnum_v2f32_nnan:6807; GFX10:       ; %bb.0:6808; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6809; GFX10-NEXT:    v_max_f32_e32 v0, v0, v26810; GFX10-NEXT:    v_max_f32_e32 v1, v1, v36811; GFX10-NEXT:    s_setpc_b64 s[30:31]6812;6813; GFX11-LABEL: v_maximumnum_v2f32_nnan:6814; GFX11:       ; %bb.0:6815; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6816; GFX11-NEXT:    v_dual_max_f32 v0, v0, v2 :: v_dual_max_f32 v1, v1, v36817; GFX11-NEXT:    s_setpc_b64 s[30:31]6818;6819; GFX12-LABEL: v_maximumnum_v2f32_nnan:6820; GFX12:       ; %bb.0:6821; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x06822; GFX12-NEXT:    s_wait_expcnt 0x06823; GFX12-NEXT:    s_wait_samplecnt 0x06824; GFX12-NEXT:    s_wait_bvhcnt 0x06825; GFX12-NEXT:    s_wait_kmcnt 0x06826; GFX12-NEXT:    v_dual_max_num_f32 v0, v0, v2 :: v_dual_max_num_f32 v1, v1, v36827; GFX12-NEXT:    s_setpc_b64 s[30:31]6828  %result = call nnan <2 x float> @llvm.maximumnum.v2f32(<2 x float> %x, <2 x float> %y)6829  ret <2 x float> %result6830}6831 6832define <3 x float> @v_maximumnum_v3f32(<3 x float> %x, <3 x float> %y) {6833; GFX7-SDAG-LABEL: v_maximumnum_v3f32:6834; GFX7-SDAG:       ; %bb.0:6835; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6836; GFX7-SDAG-NEXT:    v_mul_f32_e32 v3, 1.0, v36837; GFX7-SDAG-NEXT:    v_mul_f32_e32 v0, 1.0, v06838; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v36839; GFX7-SDAG-NEXT:    v_mul_f32_e32 v3, 1.0, v46840; GFX7-SDAG-NEXT:    v_mul_f32_e32 v1, 1.0, v16841; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v36842; GFX7-SDAG-NEXT:    v_mul_f32_e32 v3, 1.0, v56843; GFX7-SDAG-NEXT:    v_mul_f32_e32 v2, 1.0, v26844; GFX7-SDAG-NEXT:    v_max_f32_e32 v2, v2, v36845; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]6846;6847; GFX7-GISEL-LABEL: v_maximumnum_v3f32:6848; GFX7-GISEL:       ; %bb.0:6849; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6850; GFX7-GISEL-NEXT:    v_mul_f32_e32 v0, 1.0, v06851; GFX7-GISEL-NEXT:    v_mul_f32_e32 v3, 1.0, v36852; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v36853; GFX7-GISEL-NEXT:    v_mul_f32_e32 v1, 1.0, v16854; GFX7-GISEL-NEXT:    v_mul_f32_e32 v3, 1.0, v46855; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v36856; GFX7-GISEL-NEXT:    v_mul_f32_e32 v2, 1.0, v26857; GFX7-GISEL-NEXT:    v_mul_f32_e32 v3, 1.0, v56858; GFX7-GISEL-NEXT:    v_max_f32_e32 v2, v2, v36859; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]6860;6861; GFX8-SDAG-LABEL: v_maximumnum_v3f32:6862; GFX8-SDAG:       ; %bb.0:6863; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6864; GFX8-SDAG-NEXT:    v_mul_f32_e32 v3, 1.0, v36865; GFX8-SDAG-NEXT:    v_mul_f32_e32 v0, 1.0, v06866; GFX8-SDAG-NEXT:    v_max_f32_e32 v0, v0, v36867; GFX8-SDAG-NEXT:    v_mul_f32_e32 v3, 1.0, v46868; GFX8-SDAG-NEXT:    v_mul_f32_e32 v1, 1.0, v16869; GFX8-SDAG-NEXT:    v_max_f32_e32 v1, v1, v36870; GFX8-SDAG-NEXT:    v_mul_f32_e32 v3, 1.0, v56871; GFX8-SDAG-NEXT:    v_mul_f32_e32 v2, 1.0, v26872; GFX8-SDAG-NEXT:    v_max_f32_e32 v2, v2, v36873; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]6874;6875; GFX8-GISEL-LABEL: v_maximumnum_v3f32:6876; GFX8-GISEL:       ; %bb.0:6877; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6878; GFX8-GISEL-NEXT:    v_mul_f32_e32 v0, 1.0, v06879; GFX8-GISEL-NEXT:    v_mul_f32_e32 v3, 1.0, v36880; GFX8-GISEL-NEXT:    v_max_f32_e32 v0, v0, v36881; GFX8-GISEL-NEXT:    v_mul_f32_e32 v1, 1.0, v16882; GFX8-GISEL-NEXT:    v_mul_f32_e32 v3, 1.0, v46883; GFX8-GISEL-NEXT:    v_max_f32_e32 v1, v1, v36884; GFX8-GISEL-NEXT:    v_mul_f32_e32 v2, 1.0, v26885; GFX8-GISEL-NEXT:    v_mul_f32_e32 v3, 1.0, v56886; GFX8-GISEL-NEXT:    v_max_f32_e32 v2, v2, v36887; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]6888;6889; GFX9-SDAG-LABEL: v_maximumnum_v3f32:6890; GFX9-SDAG:       ; %bb.0:6891; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6892; GFX9-SDAG-NEXT:    v_max_f32_e32 v3, v3, v36893; GFX9-SDAG-NEXT:    v_max_f32_e32 v0, v0, v06894; GFX9-SDAG-NEXT:    v_max_f32_e32 v0, v0, v36895; GFX9-SDAG-NEXT:    v_max_f32_e32 v3, v4, v46896; GFX9-SDAG-NEXT:    v_max_f32_e32 v1, v1, v16897; GFX9-SDAG-NEXT:    v_max_f32_e32 v1, v1, v36898; GFX9-SDAG-NEXT:    v_max_f32_e32 v3, v5, v56899; GFX9-SDAG-NEXT:    v_max_f32_e32 v2, v2, v26900; GFX9-SDAG-NEXT:    v_max_f32_e32 v2, v2, v36901; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]6902;6903; GFX9-GISEL-LABEL: v_maximumnum_v3f32:6904; GFX9-GISEL:       ; %bb.0:6905; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6906; GFX9-GISEL-NEXT:    v_max_f32_e32 v0, v0, v06907; GFX9-GISEL-NEXT:    v_max_f32_e32 v3, v3, v36908; GFX9-GISEL-NEXT:    v_max_f32_e32 v0, v0, v36909; GFX9-GISEL-NEXT:    v_max_f32_e32 v1, v1, v16910; GFX9-GISEL-NEXT:    v_max_f32_e32 v3, v4, v46911; GFX9-GISEL-NEXT:    v_max_f32_e32 v1, v1, v36912; GFX9-GISEL-NEXT:    v_max_f32_e32 v2, v2, v26913; GFX9-GISEL-NEXT:    v_max_f32_e32 v3, v5, v56914; GFX9-GISEL-NEXT:    v_max_f32_e32 v2, v2, v36915; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]6916;6917; GFX10-SDAG-LABEL: v_maximumnum_v3f32:6918; GFX10-SDAG:       ; %bb.0:6919; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6920; GFX10-SDAG-NEXT:    v_max_f32_e32 v3, v3, v36921; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v06922; GFX10-SDAG-NEXT:    v_max_f32_e32 v4, v4, v46923; GFX10-SDAG-NEXT:    v_max_f32_e32 v1, v1, v16924; GFX10-SDAG-NEXT:    v_max_f32_e32 v5, v5, v56925; GFX10-SDAG-NEXT:    v_max_f32_e32 v2, v2, v26926; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v36927; GFX10-SDAG-NEXT:    v_max_f32_e32 v1, v1, v46928; GFX10-SDAG-NEXT:    v_max_f32_e32 v2, v2, v56929; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]6930;6931; GFX10-GISEL-LABEL: v_maximumnum_v3f32:6932; GFX10-GISEL:       ; %bb.0:6933; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6934; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v06935; GFX10-GISEL-NEXT:    v_max_f32_e32 v3, v3, v36936; GFX10-GISEL-NEXT:    v_max_f32_e32 v1, v1, v16937; GFX10-GISEL-NEXT:    v_max_f32_e32 v4, v4, v46938; GFX10-GISEL-NEXT:    v_max_f32_e32 v2, v2, v26939; GFX10-GISEL-NEXT:    v_max_f32_e32 v5, v5, v56940; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v36941; GFX10-GISEL-NEXT:    v_max_f32_e32 v1, v1, v46942; GFX10-GISEL-NEXT:    v_max_f32_e32 v2, v2, v56943; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]6944;6945; GFX11-SDAG-LABEL: v_maximumnum_v3f32:6946; GFX11-SDAG:       ; %bb.0:6947; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6948; GFX11-SDAG-NEXT:    v_dual_max_f32 v3, v3, v3 :: v_dual_max_f32 v0, v0, v06949; GFX11-SDAG-NEXT:    v_dual_max_f32 v4, v4, v4 :: v_dual_max_f32 v1, v1, v16950; GFX11-SDAG-NEXT:    v_dual_max_f32 v5, v5, v5 :: v_dual_max_f32 v2, v2, v26951; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)6952; GFX11-SDAG-NEXT:    v_dual_max_f32 v0, v0, v3 :: v_dual_max_f32 v1, v1, v46953; GFX11-SDAG-NEXT:    v_max_f32_e32 v2, v2, v56954; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]6955;6956; GFX11-GISEL-LABEL: v_maximumnum_v3f32:6957; GFX11-GISEL:       ; %bb.0:6958; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)6959; GFX11-GISEL-NEXT:    v_dual_max_f32 v0, v0, v0 :: v_dual_max_f32 v3, v3, v36960; GFX11-GISEL-NEXT:    v_dual_max_f32 v1, v1, v1 :: v_dual_max_f32 v4, v4, v46961; GFX11-GISEL-NEXT:    v_dual_max_f32 v2, v2, v2 :: v_dual_max_f32 v5, v5, v56962; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)6963; GFX11-GISEL-NEXT:    v_dual_max_f32 v0, v0, v3 :: v_dual_max_f32 v1, v1, v46964; GFX11-GISEL-NEXT:    v_max_f32_e32 v2, v2, v56965; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]6966;6967; GFX12-SDAG-LABEL: v_maximumnum_v3f32:6968; GFX12-SDAG:       ; %bb.0:6969; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x06970; GFX12-SDAG-NEXT:    s_wait_expcnt 0x06971; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x06972; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x06973; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x06974; GFX12-SDAG-NEXT:    v_dual_max_num_f32 v3, v3, v3 :: v_dual_max_num_f32 v0, v0, v06975; GFX12-SDAG-NEXT:    v_dual_max_num_f32 v4, v4, v4 :: v_dual_max_num_f32 v1, v1, v16976; GFX12-SDAG-NEXT:    v_dual_max_num_f32 v5, v5, v5 :: v_dual_max_num_f32 v2, v2, v26977; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)6978; GFX12-SDAG-NEXT:    v_dual_max_num_f32 v0, v0, v3 :: v_dual_max_num_f32 v1, v1, v46979; GFX12-SDAG-NEXT:    v_max_num_f32_e32 v2, v2, v56980; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]6981;6982; GFX12-GISEL-LABEL: v_maximumnum_v3f32:6983; GFX12-GISEL:       ; %bb.0:6984; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x06985; GFX12-GISEL-NEXT:    s_wait_expcnt 0x06986; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x06987; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x06988; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x06989; GFX12-GISEL-NEXT:    v_dual_max_num_f32 v0, v0, v0 :: v_dual_max_num_f32 v3, v3, v36990; GFX12-GISEL-NEXT:    v_dual_max_num_f32 v1, v1, v1 :: v_dual_max_num_f32 v4, v4, v46991; GFX12-GISEL-NEXT:    v_dual_max_num_f32 v2, v2, v2 :: v_dual_max_num_f32 v5, v5, v56992; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)6993; GFX12-GISEL-NEXT:    v_dual_max_num_f32 v0, v0, v3 :: v_dual_max_num_f32 v1, v1, v46994; GFX12-GISEL-NEXT:    v_max_num_f32_e32 v2, v2, v56995; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]6996  %result = call <3 x float> @llvm.maximumnum.v3f32(<3 x float> %x, <3 x float> %y)6997  ret <3 x float> %result6998}6999 7000define <3 x float> @v_maximumnum_v3f32_nnan(<3 x float> %x, <3 x float> %y) {7001; GFX7-LABEL: v_maximumnum_v3f32_nnan:7002; GFX7:       ; %bb.0:7003; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7004; GFX7-NEXT:    v_max_f32_e32 v0, v0, v37005; GFX7-NEXT:    v_max_f32_e32 v1, v1, v47006; GFX7-NEXT:    v_max_f32_e32 v2, v2, v57007; GFX7-NEXT:    s_setpc_b64 s[30:31]7008;7009; GFX8-LABEL: v_maximumnum_v3f32_nnan:7010; GFX8:       ; %bb.0:7011; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7012; GFX8-NEXT:    v_max_f32_e32 v0, v0, v37013; GFX8-NEXT:    v_max_f32_e32 v1, v1, v47014; GFX8-NEXT:    v_max_f32_e32 v2, v2, v57015; GFX8-NEXT:    s_setpc_b64 s[30:31]7016;7017; GFX9-LABEL: v_maximumnum_v3f32_nnan:7018; GFX9:       ; %bb.0:7019; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7020; GFX9-NEXT:    v_max_f32_e32 v0, v0, v37021; GFX9-NEXT:    v_max_f32_e32 v1, v1, v47022; GFX9-NEXT:    v_max_f32_e32 v2, v2, v57023; GFX9-NEXT:    s_setpc_b64 s[30:31]7024;7025; GFX10-LABEL: v_maximumnum_v3f32_nnan:7026; GFX10:       ; %bb.0:7027; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7028; GFX10-NEXT:    v_max_f32_e32 v0, v0, v37029; GFX10-NEXT:    v_max_f32_e32 v1, v1, v47030; GFX10-NEXT:    v_max_f32_e32 v2, v2, v57031; GFX10-NEXT:    s_setpc_b64 s[30:31]7032;7033; GFX11-LABEL: v_maximumnum_v3f32_nnan:7034; GFX11:       ; %bb.0:7035; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7036; GFX11-NEXT:    v_dual_max_f32 v0, v0, v3 :: v_dual_max_f32 v1, v1, v47037; GFX11-NEXT:    v_max_f32_e32 v2, v2, v57038; GFX11-NEXT:    s_setpc_b64 s[30:31]7039;7040; GFX12-LABEL: v_maximumnum_v3f32_nnan:7041; GFX12:       ; %bb.0:7042; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x07043; GFX12-NEXT:    s_wait_expcnt 0x07044; GFX12-NEXT:    s_wait_samplecnt 0x07045; GFX12-NEXT:    s_wait_bvhcnt 0x07046; GFX12-NEXT:    s_wait_kmcnt 0x07047; GFX12-NEXT:    v_dual_max_num_f32 v0, v0, v3 :: v_dual_max_num_f32 v1, v1, v47048; GFX12-NEXT:    v_max_num_f32_e32 v2, v2, v57049; GFX12-NEXT:    s_setpc_b64 s[30:31]7050  %result = call nnan <3 x float> @llvm.maximumnum.v3f32(<3 x float> %x, <3 x float> %y)7051  ret <3 x float> %result7052}7053 7054define <4 x float> @v_maximumnum_v4f32(<4 x float> %x, <4 x float> %y) {7055; GFX7-SDAG-LABEL: v_maximumnum_v4f32:7056; GFX7-SDAG:       ; %bb.0:7057; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7058; GFX7-SDAG-NEXT:    v_mul_f32_e32 v4, 1.0, v47059; GFX7-SDAG-NEXT:    v_mul_f32_e32 v0, 1.0, v07060; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v47061; GFX7-SDAG-NEXT:    v_mul_f32_e32 v4, 1.0, v57062; GFX7-SDAG-NEXT:    v_mul_f32_e32 v1, 1.0, v17063; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v47064; GFX7-SDAG-NEXT:    v_mul_f32_e32 v4, 1.0, v67065; GFX7-SDAG-NEXT:    v_mul_f32_e32 v2, 1.0, v27066; GFX7-SDAG-NEXT:    v_max_f32_e32 v2, v2, v47067; GFX7-SDAG-NEXT:    v_mul_f32_e32 v4, 1.0, v77068; GFX7-SDAG-NEXT:    v_mul_f32_e32 v3, 1.0, v37069; GFX7-SDAG-NEXT:    v_max_f32_e32 v3, v3, v47070; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]7071;7072; GFX7-GISEL-LABEL: v_maximumnum_v4f32:7073; GFX7-GISEL:       ; %bb.0:7074; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7075; GFX7-GISEL-NEXT:    v_mul_f32_e32 v0, 1.0, v07076; GFX7-GISEL-NEXT:    v_mul_f32_e32 v4, 1.0, v47077; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v47078; GFX7-GISEL-NEXT:    v_mul_f32_e32 v1, 1.0, v17079; GFX7-GISEL-NEXT:    v_mul_f32_e32 v4, 1.0, v57080; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v47081; GFX7-GISEL-NEXT:    v_mul_f32_e32 v2, 1.0, v27082; GFX7-GISEL-NEXT:    v_mul_f32_e32 v4, 1.0, v67083; GFX7-GISEL-NEXT:    v_max_f32_e32 v2, v2, v47084; GFX7-GISEL-NEXT:    v_mul_f32_e32 v3, 1.0, v37085; GFX7-GISEL-NEXT:    v_mul_f32_e32 v4, 1.0, v77086; GFX7-GISEL-NEXT:    v_max_f32_e32 v3, v3, v47087; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]7088;7089; GFX8-SDAG-LABEL: v_maximumnum_v4f32:7090; GFX8-SDAG:       ; %bb.0:7091; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7092; GFX8-SDAG-NEXT:    v_mul_f32_e32 v4, 1.0, v47093; GFX8-SDAG-NEXT:    v_mul_f32_e32 v0, 1.0, v07094; GFX8-SDAG-NEXT:    v_max_f32_e32 v0, v0, v47095; GFX8-SDAG-NEXT:    v_mul_f32_e32 v4, 1.0, v57096; GFX8-SDAG-NEXT:    v_mul_f32_e32 v1, 1.0, v17097; GFX8-SDAG-NEXT:    v_max_f32_e32 v1, v1, v47098; GFX8-SDAG-NEXT:    v_mul_f32_e32 v4, 1.0, v67099; GFX8-SDAG-NEXT:    v_mul_f32_e32 v2, 1.0, v27100; GFX8-SDAG-NEXT:    v_max_f32_e32 v2, v2, v47101; GFX8-SDAG-NEXT:    v_mul_f32_e32 v4, 1.0, v77102; GFX8-SDAG-NEXT:    v_mul_f32_e32 v3, 1.0, v37103; GFX8-SDAG-NEXT:    v_max_f32_e32 v3, v3, v47104; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]7105;7106; GFX8-GISEL-LABEL: v_maximumnum_v4f32:7107; GFX8-GISEL:       ; %bb.0:7108; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7109; GFX8-GISEL-NEXT:    v_mul_f32_e32 v0, 1.0, v07110; GFX8-GISEL-NEXT:    v_mul_f32_e32 v4, 1.0, v47111; GFX8-GISEL-NEXT:    v_max_f32_e32 v0, v0, v47112; GFX8-GISEL-NEXT:    v_mul_f32_e32 v1, 1.0, v17113; GFX8-GISEL-NEXT:    v_mul_f32_e32 v4, 1.0, v57114; GFX8-GISEL-NEXT:    v_max_f32_e32 v1, v1, v47115; GFX8-GISEL-NEXT:    v_mul_f32_e32 v2, 1.0, v27116; GFX8-GISEL-NEXT:    v_mul_f32_e32 v4, 1.0, v67117; GFX8-GISEL-NEXT:    v_max_f32_e32 v2, v2, v47118; GFX8-GISEL-NEXT:    v_mul_f32_e32 v3, 1.0, v37119; GFX8-GISEL-NEXT:    v_mul_f32_e32 v4, 1.0, v77120; GFX8-GISEL-NEXT:    v_max_f32_e32 v3, v3, v47121; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]7122;7123; GFX9-SDAG-LABEL: v_maximumnum_v4f32:7124; GFX9-SDAG:       ; %bb.0:7125; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7126; GFX9-SDAG-NEXT:    v_max_f32_e32 v4, v4, v47127; GFX9-SDAG-NEXT:    v_max_f32_e32 v0, v0, v07128; GFX9-SDAG-NEXT:    v_max_f32_e32 v0, v0, v47129; GFX9-SDAG-NEXT:    v_max_f32_e32 v4, v5, v57130; GFX9-SDAG-NEXT:    v_max_f32_e32 v1, v1, v17131; GFX9-SDAG-NEXT:    v_max_f32_e32 v1, v1, v47132; GFX9-SDAG-NEXT:    v_max_f32_e32 v4, v6, v67133; GFX9-SDAG-NEXT:    v_max_f32_e32 v2, v2, v27134; GFX9-SDAG-NEXT:    v_max_f32_e32 v2, v2, v47135; GFX9-SDAG-NEXT:    v_max_f32_e32 v4, v7, v77136; GFX9-SDAG-NEXT:    v_max_f32_e32 v3, v3, v37137; GFX9-SDAG-NEXT:    v_max_f32_e32 v3, v3, v47138; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]7139;7140; GFX9-GISEL-LABEL: v_maximumnum_v4f32:7141; GFX9-GISEL:       ; %bb.0:7142; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7143; GFX9-GISEL-NEXT:    v_max_f32_e32 v0, v0, v07144; GFX9-GISEL-NEXT:    v_max_f32_e32 v4, v4, v47145; GFX9-GISEL-NEXT:    v_max_f32_e32 v0, v0, v47146; GFX9-GISEL-NEXT:    v_max_f32_e32 v1, v1, v17147; GFX9-GISEL-NEXT:    v_max_f32_e32 v4, v5, v57148; GFX9-GISEL-NEXT:    v_max_f32_e32 v1, v1, v47149; GFX9-GISEL-NEXT:    v_max_f32_e32 v2, v2, v27150; GFX9-GISEL-NEXT:    v_max_f32_e32 v4, v6, v67151; GFX9-GISEL-NEXT:    v_max_f32_e32 v2, v2, v47152; GFX9-GISEL-NEXT:    v_max_f32_e32 v3, v3, v37153; GFX9-GISEL-NEXT:    v_max_f32_e32 v4, v7, v77154; GFX9-GISEL-NEXT:    v_max_f32_e32 v3, v3, v47155; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]7156;7157; GFX10-SDAG-LABEL: v_maximumnum_v4f32:7158; GFX10-SDAG:       ; %bb.0:7159; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7160; GFX10-SDAG-NEXT:    v_max_f32_e32 v4, v4, v47161; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v07162; GFX10-SDAG-NEXT:    v_max_f32_e32 v5, v5, v57163; GFX10-SDAG-NEXT:    v_max_f32_e32 v1, v1, v17164; GFX10-SDAG-NEXT:    v_max_f32_e32 v6, v6, v67165; GFX10-SDAG-NEXT:    v_max_f32_e32 v2, v2, v27166; GFX10-SDAG-NEXT:    v_max_f32_e32 v7, v7, v77167; GFX10-SDAG-NEXT:    v_max_f32_e32 v3, v3, v37168; GFX10-SDAG-NEXT:    v_max_f32_e32 v0, v0, v47169; GFX10-SDAG-NEXT:    v_max_f32_e32 v1, v1, v57170; GFX10-SDAG-NEXT:    v_max_f32_e32 v2, v2, v67171; GFX10-SDAG-NEXT:    v_max_f32_e32 v3, v3, v77172; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]7173;7174; GFX10-GISEL-LABEL: v_maximumnum_v4f32:7175; GFX10-GISEL:       ; %bb.0:7176; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7177; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v07178; GFX10-GISEL-NEXT:    v_max_f32_e32 v4, v4, v47179; GFX10-GISEL-NEXT:    v_max_f32_e32 v1, v1, v17180; GFX10-GISEL-NEXT:    v_max_f32_e32 v5, v5, v57181; GFX10-GISEL-NEXT:    v_max_f32_e32 v2, v2, v27182; GFX10-GISEL-NEXT:    v_max_f32_e32 v6, v6, v67183; GFX10-GISEL-NEXT:    v_max_f32_e32 v3, v3, v37184; GFX10-GISEL-NEXT:    v_max_f32_e32 v7, v7, v77185; GFX10-GISEL-NEXT:    v_max_f32_e32 v0, v0, v47186; GFX10-GISEL-NEXT:    v_max_f32_e32 v1, v1, v57187; GFX10-GISEL-NEXT:    v_max_f32_e32 v2, v2, v67188; GFX10-GISEL-NEXT:    v_max_f32_e32 v3, v3, v77189; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]7190;7191; GFX11-SDAG-LABEL: v_maximumnum_v4f32:7192; GFX11-SDAG:       ; %bb.0:7193; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7194; GFX11-SDAG-NEXT:    v_dual_max_f32 v4, v4, v4 :: v_dual_max_f32 v5, v5, v57195; GFX11-SDAG-NEXT:    v_dual_max_f32 v0, v0, v0 :: v_dual_max_f32 v1, v1, v17196; GFX11-SDAG-NEXT:    v_dual_max_f32 v6, v6, v6 :: v_dual_max_f32 v7, v7, v77197; GFX11-SDAG-NEXT:    v_dual_max_f32 v2, v2, v2 :: v_dual_max_f32 v3, v3, v37198; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)7199; GFX11-SDAG-NEXT:    v_dual_max_f32 v0, v0, v4 :: v_dual_max_f32 v1, v1, v57200; GFX11-SDAG-NEXT:    v_dual_max_f32 v2, v2, v6 :: v_dual_max_f32 v3, v3, v77201; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]7202;7203; GFX11-GISEL-LABEL: v_maximumnum_v4f32:7204; GFX11-GISEL:       ; %bb.0:7205; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7206; GFX11-GISEL-NEXT:    v_dual_max_f32 v0, v0, v0 :: v_dual_max_f32 v1, v1, v17207; GFX11-GISEL-NEXT:    v_dual_max_f32 v4, v4, v4 :: v_dual_max_f32 v5, v5, v57208; GFX11-GISEL-NEXT:    v_dual_max_f32 v2, v2, v2 :: v_dual_max_f32 v3, v3, v37209; GFX11-GISEL-NEXT:    v_dual_max_f32 v6, v6, v6 :: v_dual_max_f32 v7, v7, v77210; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)7211; GFX11-GISEL-NEXT:    v_dual_max_f32 v0, v0, v4 :: v_dual_max_f32 v1, v1, v57212; GFX11-GISEL-NEXT:    v_dual_max_f32 v2, v2, v6 :: v_dual_max_f32 v3, v3, v77213; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]7214;7215; GFX12-SDAG-LABEL: v_maximumnum_v4f32:7216; GFX12-SDAG:       ; %bb.0:7217; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x07218; GFX12-SDAG-NEXT:    s_wait_expcnt 0x07219; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x07220; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x07221; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x07222; GFX12-SDAG-NEXT:    v_dual_max_num_f32 v4, v4, v4 :: v_dual_max_num_f32 v5, v5, v57223; GFX12-SDAG-NEXT:    v_dual_max_num_f32 v0, v0, v0 :: v_dual_max_num_f32 v1, v1, v17224; GFX12-SDAG-NEXT:    v_dual_max_num_f32 v6, v6, v6 :: v_dual_max_num_f32 v7, v7, v77225; GFX12-SDAG-NEXT:    v_dual_max_num_f32 v2, v2, v2 :: v_dual_max_num_f32 v3, v3, v37226; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)7227; GFX12-SDAG-NEXT:    v_dual_max_num_f32 v0, v0, v4 :: v_dual_max_num_f32 v1, v1, v57228; GFX12-SDAG-NEXT:    v_dual_max_num_f32 v2, v2, v6 :: v_dual_max_num_f32 v3, v3, v77229; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]7230;7231; GFX12-GISEL-LABEL: v_maximumnum_v4f32:7232; GFX12-GISEL:       ; %bb.0:7233; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x07234; GFX12-GISEL-NEXT:    s_wait_expcnt 0x07235; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x07236; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x07237; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x07238; GFX12-GISEL-NEXT:    v_dual_max_num_f32 v0, v0, v0 :: v_dual_max_num_f32 v1, v1, v17239; GFX12-GISEL-NEXT:    v_dual_max_num_f32 v4, v4, v4 :: v_dual_max_num_f32 v5, v5, v57240; GFX12-GISEL-NEXT:    v_dual_max_num_f32 v2, v2, v2 :: v_dual_max_num_f32 v3, v3, v37241; GFX12-GISEL-NEXT:    v_dual_max_num_f32 v6, v6, v6 :: v_dual_max_num_f32 v7, v7, v77242; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)7243; GFX12-GISEL-NEXT:    v_dual_max_num_f32 v0, v0, v4 :: v_dual_max_num_f32 v1, v1, v57244; GFX12-GISEL-NEXT:    v_dual_max_num_f32 v2, v2, v6 :: v_dual_max_num_f32 v3, v3, v77245; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]7246  %result = call <4 x float> @llvm.maximumnum.v4f32(<4 x float> %x, <4 x float> %y)7247  ret <4 x float> %result7248}7249 7250define <4 x float> @v_maximumnum_v4f32_nnan(<4 x float> %x, <4 x float> %y) {7251; GFX7-LABEL: v_maximumnum_v4f32_nnan:7252; GFX7:       ; %bb.0:7253; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7254; GFX7-NEXT:    v_max_f32_e32 v0, v0, v47255; GFX7-NEXT:    v_max_f32_e32 v1, v1, v57256; GFX7-NEXT:    v_max_f32_e32 v2, v2, v67257; GFX7-NEXT:    v_max_f32_e32 v3, v3, v77258; GFX7-NEXT:    s_setpc_b64 s[30:31]7259;7260; GFX8-LABEL: v_maximumnum_v4f32_nnan:7261; GFX8:       ; %bb.0:7262; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7263; GFX8-NEXT:    v_max_f32_e32 v0, v0, v47264; GFX8-NEXT:    v_max_f32_e32 v1, v1, v57265; GFX8-NEXT:    v_max_f32_e32 v2, v2, v67266; GFX8-NEXT:    v_max_f32_e32 v3, v3, v77267; GFX8-NEXT:    s_setpc_b64 s[30:31]7268;7269; GFX9-LABEL: v_maximumnum_v4f32_nnan:7270; GFX9:       ; %bb.0:7271; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7272; GFX9-NEXT:    v_max_f32_e32 v0, v0, v47273; GFX9-NEXT:    v_max_f32_e32 v1, v1, v57274; GFX9-NEXT:    v_max_f32_e32 v2, v2, v67275; GFX9-NEXT:    v_max_f32_e32 v3, v3, v77276; GFX9-NEXT:    s_setpc_b64 s[30:31]7277;7278; GFX10-LABEL: v_maximumnum_v4f32_nnan:7279; GFX10:       ; %bb.0:7280; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7281; GFX10-NEXT:    v_max_f32_e32 v0, v0, v47282; GFX10-NEXT:    v_max_f32_e32 v1, v1, v57283; GFX10-NEXT:    v_max_f32_e32 v2, v2, v67284; GFX10-NEXT:    v_max_f32_e32 v3, v3, v77285; GFX10-NEXT:    s_setpc_b64 s[30:31]7286;7287; GFX11-LABEL: v_maximumnum_v4f32_nnan:7288; GFX11:       ; %bb.0:7289; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7290; GFX11-NEXT:    v_dual_max_f32 v0, v0, v4 :: v_dual_max_f32 v1, v1, v57291; GFX11-NEXT:    v_dual_max_f32 v2, v2, v6 :: v_dual_max_f32 v3, v3, v77292; GFX11-NEXT:    s_setpc_b64 s[30:31]7293;7294; GFX12-LABEL: v_maximumnum_v4f32_nnan:7295; GFX12:       ; %bb.0:7296; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x07297; GFX12-NEXT:    s_wait_expcnt 0x07298; GFX12-NEXT:    s_wait_samplecnt 0x07299; GFX12-NEXT:    s_wait_bvhcnt 0x07300; GFX12-NEXT:    s_wait_kmcnt 0x07301; GFX12-NEXT:    v_dual_max_num_f32 v0, v0, v4 :: v_dual_max_num_f32 v1, v1, v57302; GFX12-NEXT:    v_dual_max_num_f32 v2, v2, v6 :: v_dual_max_num_f32 v3, v3, v77303; GFX12-NEXT:    s_setpc_b64 s[30:31]7304  %result = call nnan <4 x float> @llvm.maximumnum.v4f32(<4 x float> %x, <4 x float> %y)7305  ret <4 x float> %result7306}7307 7308define <2 x double> @v_maximumnum_v2f64(<2 x double> %x, <2 x double> %y) {7309; GFX7-SDAG-LABEL: v_maximumnum_v2f64:7310; GFX7-SDAG:       ; %bb.0:7311; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7312; GFX7-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7313; GFX7-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7314; GFX7-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7315; GFX7-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7316; GFX7-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7317; GFX7-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7318; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]7319;7320; GFX7-GISEL-LABEL: v_maximumnum_v2f64:7321; GFX7-GISEL:       ; %bb.0:7322; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7323; GFX7-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7324; GFX7-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7325; GFX7-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7326; GFX7-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7327; GFX7-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7328; GFX7-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7329; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]7330;7331; GFX8-SDAG-LABEL: v_maximumnum_v2f64:7332; GFX8-SDAG:       ; %bb.0:7333; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7334; GFX8-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7335; GFX8-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7336; GFX8-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7337; GFX8-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7338; GFX8-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7339; GFX8-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7340; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]7341;7342; GFX8-GISEL-LABEL: v_maximumnum_v2f64:7343; GFX8-GISEL:       ; %bb.0:7344; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7345; GFX8-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7346; GFX8-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7347; GFX8-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7348; GFX8-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7349; GFX8-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7350; GFX8-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7351; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]7352;7353; GFX900-SDAG-LABEL: v_maximumnum_v2f64:7354; GFX900-SDAG:       ; %bb.0:7355; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7356; GFX900-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7357; GFX900-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7358; GFX900-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7359; GFX900-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7360; GFX900-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7361; GFX900-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7362; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]7363;7364; GFX900-GISEL-LABEL: v_maximumnum_v2f64:7365; GFX900-GISEL:       ; %bb.0:7366; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7367; GFX900-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7368; GFX900-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7369; GFX900-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7370; GFX900-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7371; GFX900-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7372; GFX900-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7373; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]7374;7375; GFX950-SDAG-LABEL: v_maximumnum_v2f64:7376; GFX950-SDAG:       ; %bb.0:7377; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7378; GFX950-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7379; GFX950-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7380; GFX950-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7381; GFX950-SDAG-NEXT:    v_max_f64 v[4:5], v[6:7], v[6:7]7382; GFX950-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7383; GFX950-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[4:5]7384; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]7385;7386; GFX950-GISEL-LABEL: v_maximumnum_v2f64:7387; GFX950-GISEL:       ; %bb.0:7388; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7389; GFX950-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7390; GFX950-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7391; GFX950-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7392; GFX950-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7393; GFX950-GISEL-NEXT:    v_max_f64 v[4:5], v[6:7], v[6:7]7394; GFX950-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[4:5]7395; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]7396;7397; GFX10-SDAG-LABEL: v_maximumnum_v2f64:7398; GFX10-SDAG:       ; %bb.0:7399; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7400; GFX10-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7401; GFX10-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7402; GFX10-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7403; GFX10-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7404; GFX10-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7405; GFX10-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7406; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]7407;7408; GFX10-GISEL-LABEL: v_maximumnum_v2f64:7409; GFX10-GISEL:       ; %bb.0:7410; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7411; GFX10-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7412; GFX10-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7413; GFX10-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7414; GFX10-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7415; GFX10-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7416; GFX10-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7417; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]7418;7419; GFX11-SDAG-LABEL: v_maximumnum_v2f64:7420; GFX11-SDAG:       ; %bb.0:7421; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7422; GFX11-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7423; GFX11-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7424; GFX11-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7425; GFX11-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7426; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)7427; GFX11-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7428; GFX11-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7429; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]7430;7431; GFX11-GISEL-LABEL: v_maximumnum_v2f64:7432; GFX11-GISEL:       ; %bb.0:7433; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7434; GFX11-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7435; GFX11-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7436; GFX11-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7437; GFX11-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7438; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)7439; GFX11-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7440; GFX11-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7441; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]7442;7443; GFX12-SDAG-LABEL: v_maximumnum_v2f64:7444; GFX12-SDAG:       ; %bb.0:7445; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x07446; GFX12-SDAG-NEXT:    s_wait_expcnt 0x07447; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x07448; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x07449; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x07450; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[4:5], v[4:5], v[4:5]7451; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[0:1]7452; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[6:7], v[6:7], v[6:7]7453; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[2:3]7454; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)7455; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[4:5]7456; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[6:7]7457; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]7458;7459; GFX12-GISEL-LABEL: v_maximumnum_v2f64:7460; GFX12-GISEL:       ; %bb.0:7461; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x07462; GFX12-GISEL-NEXT:    s_wait_expcnt 0x07463; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x07464; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x07465; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x07466; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[0:1]7467; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[4:5], v[4:5], v[4:5]7468; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[2:3]7469; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[6:7], v[6:7], v[6:7]7470; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)7471; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[4:5]7472; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[6:7]7473; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]7474  %result = call <2 x double> @llvm.maximumnum.v2f64(<2 x double> %x, <2 x double> %y)7475  ret <2 x double> %result7476}7477 7478define <2 x double> @v_maximumnum_v2f64_nnan(<2 x double> %x, <2 x double> %y) {7479; GFX7-LABEL: v_maximumnum_v2f64_nnan:7480; GFX7:       ; %bb.0:7481; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7482; GFX7-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7483; GFX7-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7484; GFX7-NEXT:    s_setpc_b64 s[30:31]7485;7486; GFX8-LABEL: v_maximumnum_v2f64_nnan:7487; GFX8:       ; %bb.0:7488; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7489; GFX8-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7490; GFX8-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7491; GFX8-NEXT:    s_setpc_b64 s[30:31]7492;7493; GFX9-LABEL: v_maximumnum_v2f64_nnan:7494; GFX9:       ; %bb.0:7495; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7496; GFX9-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7497; GFX9-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7498; GFX9-NEXT:    s_setpc_b64 s[30:31]7499;7500; GFX10-LABEL: v_maximumnum_v2f64_nnan:7501; GFX10:       ; %bb.0:7502; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7503; GFX10-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7504; GFX10-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7505; GFX10-NEXT:    s_setpc_b64 s[30:31]7506;7507; GFX11-LABEL: v_maximumnum_v2f64_nnan:7508; GFX11:       ; %bb.0:7509; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7510; GFX11-NEXT:    v_max_f64 v[0:1], v[0:1], v[4:5]7511; GFX11-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7512; GFX11-NEXT:    s_setpc_b64 s[30:31]7513;7514; GFX12-LABEL: v_maximumnum_v2f64_nnan:7515; GFX12:       ; %bb.0:7516; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x07517; GFX12-NEXT:    s_wait_expcnt 0x07518; GFX12-NEXT:    s_wait_samplecnt 0x07519; GFX12-NEXT:    s_wait_bvhcnt 0x07520; GFX12-NEXT:    s_wait_kmcnt 0x07521; GFX12-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[4:5]7522; GFX12-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[6:7]7523; GFX12-NEXT:    s_setpc_b64 s[30:31]7524  %result = call nnan <2 x double> @llvm.maximumnum.v2f64(<2 x double> %x, <2 x double> %y)7525  ret <2 x double> %result7526}7527 7528define <3 x double> @v_maximumnum_v3f64(<3 x double> %x, <3 x double> %y) {7529; GFX7-SDAG-LABEL: v_maximumnum_v3f64:7530; GFX7-SDAG:       ; %bb.0:7531; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7532; GFX7-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7533; GFX7-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7534; GFX7-SDAG-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7535; GFX7-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7536; GFX7-SDAG-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7537; GFX7-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7538; GFX7-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7539; GFX7-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7540; GFX7-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[10:11]7541; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]7542;7543; GFX7-GISEL-LABEL: v_maximumnum_v3f64:7544; GFX7-GISEL:       ; %bb.0:7545; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7546; GFX7-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7547; GFX7-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7548; GFX7-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7549; GFX7-GISEL-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7550; GFX7-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7551; GFX7-GISEL-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7552; GFX7-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7553; GFX7-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7554; GFX7-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[10:11]7555; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]7556;7557; GFX8-SDAG-LABEL: v_maximumnum_v3f64:7558; GFX8-SDAG:       ; %bb.0:7559; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7560; GFX8-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7561; GFX8-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7562; GFX8-SDAG-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7563; GFX8-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7564; GFX8-SDAG-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7565; GFX8-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7566; GFX8-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7567; GFX8-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7568; GFX8-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[10:11]7569; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]7570;7571; GFX8-GISEL-LABEL: v_maximumnum_v3f64:7572; GFX8-GISEL:       ; %bb.0:7573; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7574; GFX8-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7575; GFX8-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7576; GFX8-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7577; GFX8-GISEL-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7578; GFX8-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7579; GFX8-GISEL-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7580; GFX8-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7581; GFX8-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7582; GFX8-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[10:11]7583; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]7584;7585; GFX900-SDAG-LABEL: v_maximumnum_v3f64:7586; GFX900-SDAG:       ; %bb.0:7587; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7588; GFX900-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7589; GFX900-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7590; GFX900-SDAG-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7591; GFX900-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7592; GFX900-SDAG-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7593; GFX900-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7594; GFX900-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7595; GFX900-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7596; GFX900-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[10:11]7597; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]7598;7599; GFX900-GISEL-LABEL: v_maximumnum_v3f64:7600; GFX900-GISEL:       ; %bb.0:7601; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7602; GFX900-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7603; GFX900-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7604; GFX900-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7605; GFX900-GISEL-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7606; GFX900-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7607; GFX900-GISEL-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7608; GFX900-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7609; GFX900-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7610; GFX900-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[10:11]7611; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]7612;7613; GFX950-SDAG-LABEL: v_maximumnum_v3f64:7614; GFX950-SDAG:       ; %bb.0:7615; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7616; GFX950-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7617; GFX950-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7618; GFX950-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7619; GFX950-SDAG-NEXT:    v_max_f64 v[6:7], v[8:9], v[8:9]7620; GFX950-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7621; GFX950-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7622; GFX950-SDAG-NEXT:    v_max_f64 v[6:7], v[10:11], v[10:11]7623; GFX950-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7624; GFX950-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[6:7]7625; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]7626;7627; GFX950-GISEL-LABEL: v_maximumnum_v3f64:7628; GFX950-GISEL:       ; %bb.0:7629; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7630; GFX950-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7631; GFX950-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7632; GFX950-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7633; GFX950-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7634; GFX950-GISEL-NEXT:    v_max_f64 v[6:7], v[8:9], v[8:9]7635; GFX950-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[6:7]7636; GFX950-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7637; GFX950-GISEL-NEXT:    v_max_f64 v[6:7], v[10:11], v[10:11]7638; GFX950-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[6:7]7639; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]7640;7641; GFX10-SDAG-LABEL: v_maximumnum_v3f64:7642; GFX10-SDAG:       ; %bb.0:7643; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7644; GFX10-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7645; GFX10-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7646; GFX10-SDAG-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7647; GFX10-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7648; GFX10-SDAG-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7649; GFX10-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7650; GFX10-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7651; GFX10-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7652; GFX10-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[10:11]7653; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]7654;7655; GFX10-GISEL-LABEL: v_maximumnum_v3f64:7656; GFX10-GISEL:       ; %bb.0:7657; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7658; GFX10-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7659; GFX10-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7660; GFX10-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7661; GFX10-GISEL-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7662; GFX10-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7663; GFX10-GISEL-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7664; GFX10-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7665; GFX10-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7666; GFX10-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[10:11]7667; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]7668;7669; GFX11-SDAG-LABEL: v_maximumnum_v3f64:7670; GFX11-SDAG:       ; %bb.0:7671; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7672; GFX11-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7673; GFX11-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7674; GFX11-SDAG-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7675; GFX11-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7676; GFX11-SDAG-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7677; GFX11-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7678; GFX11-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7679; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)7680; GFX11-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7681; GFX11-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[10:11]7682; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]7683;7684; GFX11-GISEL-LABEL: v_maximumnum_v3f64:7685; GFX11-GISEL:       ; %bb.0:7686; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7687; GFX11-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7688; GFX11-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7689; GFX11-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7690; GFX11-GISEL-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7691; GFX11-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7692; GFX11-GISEL-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7693; GFX11-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7694; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)7695; GFX11-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7696; GFX11-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[10:11]7697; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]7698;7699; GFX12-SDAG-LABEL: v_maximumnum_v3f64:7700; GFX12-SDAG:       ; %bb.0:7701; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x07702; GFX12-SDAG-NEXT:    s_wait_expcnt 0x07703; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x07704; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x07705; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x07706; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[6:7], v[6:7], v[6:7]7707; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[0:1]7708; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[8:9], v[8:9], v[8:9]7709; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[2:3]7710; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[10:11], v[10:11], v[10:11]7711; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[4:5], v[4:5], v[4:5]7712; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[6:7]7713; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)7714; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[8:9]7715; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[4:5], v[4:5], v[10:11]7716; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]7717;7718; GFX12-GISEL-LABEL: v_maximumnum_v3f64:7719; GFX12-GISEL:       ; %bb.0:7720; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x07721; GFX12-GISEL-NEXT:    s_wait_expcnt 0x07722; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x07723; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x07724; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x07725; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[0:1]7726; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[6:7], v[6:7], v[6:7]7727; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[2:3]7728; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[8:9], v[8:9], v[8:9]7729; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[4:5], v[4:5], v[4:5]7730; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[10:11], v[10:11], v[10:11]7731; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[6:7]7732; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)7733; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[8:9]7734; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[4:5], v[4:5], v[10:11]7735; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]7736  %result = call <3 x double> @llvm.maximumnum.v3f64(<3 x double> %x, <3 x double> %y)7737  ret <3 x double> %result7738}7739 7740define <3 x double> @v_maximumnum_v3f64_nnan(<3 x double> %x, <3 x double> %y) {7741; GFX7-LABEL: v_maximumnum_v3f64_nnan:7742; GFX7:       ; %bb.0:7743; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7744; GFX7-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7745; GFX7-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7746; GFX7-NEXT:    v_max_f64 v[4:5], v[4:5], v[10:11]7747; GFX7-NEXT:    s_setpc_b64 s[30:31]7748;7749; GFX8-LABEL: v_maximumnum_v3f64_nnan:7750; GFX8:       ; %bb.0:7751; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7752; GFX8-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7753; GFX8-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7754; GFX8-NEXT:    v_max_f64 v[4:5], v[4:5], v[10:11]7755; GFX8-NEXT:    s_setpc_b64 s[30:31]7756;7757; GFX9-LABEL: v_maximumnum_v3f64_nnan:7758; GFX9:       ; %bb.0:7759; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7760; GFX9-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7761; GFX9-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7762; GFX9-NEXT:    v_max_f64 v[4:5], v[4:5], v[10:11]7763; GFX9-NEXT:    s_setpc_b64 s[30:31]7764;7765; GFX10-LABEL: v_maximumnum_v3f64_nnan:7766; GFX10:       ; %bb.0:7767; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7768; GFX10-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7769; GFX10-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7770; GFX10-NEXT:    v_max_f64 v[4:5], v[4:5], v[10:11]7771; GFX10-NEXT:    s_setpc_b64 s[30:31]7772;7773; GFX11-LABEL: v_maximumnum_v3f64_nnan:7774; GFX11:       ; %bb.0:7775; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7776; GFX11-NEXT:    v_max_f64 v[0:1], v[0:1], v[6:7]7777; GFX11-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7778; GFX11-NEXT:    v_max_f64 v[4:5], v[4:5], v[10:11]7779; GFX11-NEXT:    s_setpc_b64 s[30:31]7780;7781; GFX12-LABEL: v_maximumnum_v3f64_nnan:7782; GFX12:       ; %bb.0:7783; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x07784; GFX12-NEXT:    s_wait_expcnt 0x07785; GFX12-NEXT:    s_wait_samplecnt 0x07786; GFX12-NEXT:    s_wait_bvhcnt 0x07787; GFX12-NEXT:    s_wait_kmcnt 0x07788; GFX12-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[6:7]7789; GFX12-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[8:9]7790; GFX12-NEXT:    v_max_num_f64_e32 v[4:5], v[4:5], v[10:11]7791; GFX12-NEXT:    s_setpc_b64 s[30:31]7792  %result = call nnan <3 x double> @llvm.maximumnum.v3f64(<3 x double> %x, <3 x double> %y)7793  ret <3 x double> %result7794}7795 7796define <4 x double> @v_maximumnum_v4f64(<4 x double> %x, <4 x double> %y) {7797; GFX7-SDAG-LABEL: v_maximumnum_v4f64:7798; GFX7-SDAG:       ; %bb.0:7799; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7800; GFX7-SDAG-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7801; GFX7-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7802; GFX7-SDAG-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7803; GFX7-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7804; GFX7-SDAG-NEXT:    v_max_f64 v[12:13], v[12:13], v[12:13]7805; GFX7-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7806; GFX7-SDAG-NEXT:    v_max_f64 v[14:15], v[14:15], v[14:15]7807; GFX7-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7808; GFX7-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]7809; GFX7-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[10:11]7810; GFX7-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[12:13]7811; GFX7-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[14:15]7812; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]7813;7814; GFX7-GISEL-LABEL: v_maximumnum_v4f64:7815; GFX7-GISEL:       ; %bb.0:7816; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7817; GFX7-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7818; GFX7-GISEL-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7819; GFX7-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7820; GFX7-GISEL-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7821; GFX7-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7822; GFX7-GISEL-NEXT:    v_max_f64 v[12:13], v[12:13], v[12:13]7823; GFX7-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7824; GFX7-GISEL-NEXT:    v_max_f64 v[14:15], v[14:15], v[14:15]7825; GFX7-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]7826; GFX7-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[10:11]7827; GFX7-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[12:13]7828; GFX7-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[14:15]7829; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]7830;7831; GFX8-SDAG-LABEL: v_maximumnum_v4f64:7832; GFX8-SDAG:       ; %bb.0:7833; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7834; GFX8-SDAG-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7835; GFX8-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7836; GFX8-SDAG-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7837; GFX8-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7838; GFX8-SDAG-NEXT:    v_max_f64 v[12:13], v[12:13], v[12:13]7839; GFX8-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7840; GFX8-SDAG-NEXT:    v_max_f64 v[14:15], v[14:15], v[14:15]7841; GFX8-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7842; GFX8-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]7843; GFX8-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[10:11]7844; GFX8-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[12:13]7845; GFX8-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[14:15]7846; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]7847;7848; GFX8-GISEL-LABEL: v_maximumnum_v4f64:7849; GFX8-GISEL:       ; %bb.0:7850; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7851; GFX8-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7852; GFX8-GISEL-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7853; GFX8-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7854; GFX8-GISEL-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7855; GFX8-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7856; GFX8-GISEL-NEXT:    v_max_f64 v[12:13], v[12:13], v[12:13]7857; GFX8-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7858; GFX8-GISEL-NEXT:    v_max_f64 v[14:15], v[14:15], v[14:15]7859; GFX8-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]7860; GFX8-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[10:11]7861; GFX8-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[12:13]7862; GFX8-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[14:15]7863; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]7864;7865; GFX900-SDAG-LABEL: v_maximumnum_v4f64:7866; GFX900-SDAG:       ; %bb.0:7867; GFX900-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7868; GFX900-SDAG-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7869; GFX900-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7870; GFX900-SDAG-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7871; GFX900-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7872; GFX900-SDAG-NEXT:    v_max_f64 v[12:13], v[12:13], v[12:13]7873; GFX900-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7874; GFX900-SDAG-NEXT:    v_max_f64 v[14:15], v[14:15], v[14:15]7875; GFX900-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7876; GFX900-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]7877; GFX900-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[10:11]7878; GFX900-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[12:13]7879; GFX900-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[14:15]7880; GFX900-SDAG-NEXT:    s_setpc_b64 s[30:31]7881;7882; GFX900-GISEL-LABEL: v_maximumnum_v4f64:7883; GFX900-GISEL:       ; %bb.0:7884; GFX900-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7885; GFX900-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7886; GFX900-GISEL-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7887; GFX900-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7888; GFX900-GISEL-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7889; GFX900-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7890; GFX900-GISEL-NEXT:    v_max_f64 v[12:13], v[12:13], v[12:13]7891; GFX900-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7892; GFX900-GISEL-NEXT:    v_max_f64 v[14:15], v[14:15], v[14:15]7893; GFX900-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]7894; GFX900-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[10:11]7895; GFX900-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[12:13]7896; GFX900-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[14:15]7897; GFX900-GISEL-NEXT:    s_setpc_b64 s[30:31]7898;7899; GFX950-SDAG-LABEL: v_maximumnum_v4f64:7900; GFX950-SDAG:       ; %bb.0:7901; GFX950-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7902; GFX950-SDAG-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7903; GFX950-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7904; GFX950-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]7905; GFX950-SDAG-NEXT:    v_max_f64 v[8:9], v[10:11], v[10:11]7906; GFX950-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7907; GFX950-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7908; GFX950-SDAG-NEXT:    v_max_f64 v[8:9], v[12:13], v[12:13]7909; GFX950-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7910; GFX950-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[8:9]7911; GFX950-SDAG-NEXT:    v_max_f64 v[8:9], v[14:15], v[14:15]7912; GFX950-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7913; GFX950-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[8:9]7914; GFX950-SDAG-NEXT:    s_setpc_b64 s[30:31]7915;7916; GFX950-GISEL-LABEL: v_maximumnum_v4f64:7917; GFX950-GISEL:       ; %bb.0:7918; GFX950-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7919; GFX950-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7920; GFX950-GISEL-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7921; GFX950-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]7922; GFX950-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7923; GFX950-GISEL-NEXT:    v_max_f64 v[8:9], v[10:11], v[10:11]7924; GFX950-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[8:9]7925; GFX950-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7926; GFX950-GISEL-NEXT:    v_max_f64 v[8:9], v[12:13], v[12:13]7927; GFX950-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[8:9]7928; GFX950-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7929; GFX950-GISEL-NEXT:    v_max_f64 v[8:9], v[14:15], v[14:15]7930; GFX950-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[8:9]7931; GFX950-GISEL-NEXT:    s_setpc_b64 s[30:31]7932;7933; GFX10-SDAG-LABEL: v_maximumnum_v4f64:7934; GFX10-SDAG:       ; %bb.0:7935; GFX10-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7936; GFX10-SDAG-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7937; GFX10-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7938; GFX10-SDAG-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7939; GFX10-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7940; GFX10-SDAG-NEXT:    v_max_f64 v[12:13], v[12:13], v[12:13]7941; GFX10-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7942; GFX10-SDAG-NEXT:    v_max_f64 v[14:15], v[14:15], v[14:15]7943; GFX10-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7944; GFX10-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]7945; GFX10-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[10:11]7946; GFX10-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[12:13]7947; GFX10-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[14:15]7948; GFX10-SDAG-NEXT:    s_setpc_b64 s[30:31]7949;7950; GFX10-GISEL-LABEL: v_maximumnum_v4f64:7951; GFX10-GISEL:       ; %bb.0:7952; GFX10-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7953; GFX10-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7954; GFX10-GISEL-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7955; GFX10-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7956; GFX10-GISEL-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7957; GFX10-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7958; GFX10-GISEL-NEXT:    v_max_f64 v[12:13], v[12:13], v[12:13]7959; GFX10-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7960; GFX10-GISEL-NEXT:    v_max_f64 v[14:15], v[14:15], v[14:15]7961; GFX10-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]7962; GFX10-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[10:11]7963; GFX10-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[12:13]7964; GFX10-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[14:15]7965; GFX10-GISEL-NEXT:    s_setpc_b64 s[30:31]7966;7967; GFX11-SDAG-LABEL: v_maximumnum_v4f64:7968; GFX11-SDAG:       ; %bb.0:7969; GFX11-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7970; GFX11-SDAG-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7971; GFX11-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7972; GFX11-SDAG-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7973; GFX11-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7974; GFX11-SDAG-NEXT:    v_max_f64 v[12:13], v[12:13], v[12:13]7975; GFX11-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7976; GFX11-SDAG-NEXT:    v_max_f64 v[14:15], v[14:15], v[14:15]7977; GFX11-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7978; GFX11-SDAG-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]7979; GFX11-SDAG-NEXT:    v_max_f64 v[2:3], v[2:3], v[10:11]7980; GFX11-SDAG-NEXT:    v_max_f64 v[4:5], v[4:5], v[12:13]7981; GFX11-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_4)7982; GFX11-SDAG-NEXT:    v_max_f64 v[6:7], v[6:7], v[14:15]7983; GFX11-SDAG-NEXT:    s_setpc_b64 s[30:31]7984;7985; GFX11-GISEL-LABEL: v_maximumnum_v4f64:7986; GFX11-GISEL:       ; %bb.0:7987; GFX11-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)7988; GFX11-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[0:1]7989; GFX11-GISEL-NEXT:    v_max_f64 v[8:9], v[8:9], v[8:9]7990; GFX11-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[2:3]7991; GFX11-GISEL-NEXT:    v_max_f64 v[10:11], v[10:11], v[10:11]7992; GFX11-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[4:5]7993; GFX11-GISEL-NEXT:    v_max_f64 v[12:13], v[12:13], v[12:13]7994; GFX11-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[6:7]7995; GFX11-GISEL-NEXT:    v_max_f64 v[14:15], v[14:15], v[14:15]7996; GFX11-GISEL-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]7997; GFX11-GISEL-NEXT:    v_max_f64 v[2:3], v[2:3], v[10:11]7998; GFX11-GISEL-NEXT:    v_max_f64 v[4:5], v[4:5], v[12:13]7999; GFX11-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_4)8000; GFX11-GISEL-NEXT:    v_max_f64 v[6:7], v[6:7], v[14:15]8001; GFX11-GISEL-NEXT:    s_setpc_b64 s[30:31]8002;8003; GFX12-SDAG-LABEL: v_maximumnum_v4f64:8004; GFX12-SDAG:       ; %bb.0:8005; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x08006; GFX12-SDAG-NEXT:    s_wait_expcnt 0x08007; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x08008; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x08009; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x08010; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[8:9], v[8:9], v[8:9]8011; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[0:1]8012; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[10:11], v[10:11], v[10:11]8013; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[2:3]8014; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[12:13], v[12:13], v[12:13]8015; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[4:5], v[4:5], v[4:5]8016; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[14:15], v[14:15], v[14:15]8017; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[6:7], v[6:7], v[6:7]8018; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[8:9]8019; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[10:11]8020; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[4:5], v[4:5], v[12:13]8021; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_4)8022; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[6:7], v[6:7], v[14:15]8023; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]8024;8025; GFX12-GISEL-LABEL: v_maximumnum_v4f64:8026; GFX12-GISEL:       ; %bb.0:8027; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x08028; GFX12-GISEL-NEXT:    s_wait_expcnt 0x08029; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x08030; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x08031; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x08032; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[0:1]8033; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[8:9], v[8:9], v[8:9]8034; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[2:3]8035; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[10:11], v[10:11], v[10:11]8036; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[4:5], v[4:5], v[4:5]8037; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[12:13], v[12:13], v[12:13]8038; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[6:7], v[6:7], v[6:7]8039; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[14:15], v[14:15], v[14:15]8040; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[8:9]8041; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[10:11]8042; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[4:5], v[4:5], v[12:13]8043; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_4)8044; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[6:7], v[6:7], v[14:15]8045; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]8046  %result = call <4 x double> @llvm.maximumnum.v4f64(<4 x double> %x, <4 x double> %y)8047  ret <4 x double> %result8048}8049 8050define <4 x double> @v_maximumnum_v4f64_nnan(<4 x double> %x, <4 x double> %y) {8051; GFX7-LABEL: v_maximumnum_v4f64_nnan:8052; GFX7:       ; %bb.0:8053; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8054; GFX7-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]8055; GFX7-NEXT:    v_max_f64 v[2:3], v[2:3], v[10:11]8056; GFX7-NEXT:    v_max_f64 v[4:5], v[4:5], v[12:13]8057; GFX7-NEXT:    v_max_f64 v[6:7], v[6:7], v[14:15]8058; GFX7-NEXT:    s_setpc_b64 s[30:31]8059;8060; GFX8-LABEL: v_maximumnum_v4f64_nnan:8061; GFX8:       ; %bb.0:8062; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8063; GFX8-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]8064; GFX8-NEXT:    v_max_f64 v[2:3], v[2:3], v[10:11]8065; GFX8-NEXT:    v_max_f64 v[4:5], v[4:5], v[12:13]8066; GFX8-NEXT:    v_max_f64 v[6:7], v[6:7], v[14:15]8067; GFX8-NEXT:    s_setpc_b64 s[30:31]8068;8069; GFX9-LABEL: v_maximumnum_v4f64_nnan:8070; GFX9:       ; %bb.0:8071; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8072; GFX9-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]8073; GFX9-NEXT:    v_max_f64 v[2:3], v[2:3], v[10:11]8074; GFX9-NEXT:    v_max_f64 v[4:5], v[4:5], v[12:13]8075; GFX9-NEXT:    v_max_f64 v[6:7], v[6:7], v[14:15]8076; GFX9-NEXT:    s_setpc_b64 s[30:31]8077;8078; GFX10-LABEL: v_maximumnum_v4f64_nnan:8079; GFX10:       ; %bb.0:8080; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8081; GFX10-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]8082; GFX10-NEXT:    v_max_f64 v[2:3], v[2:3], v[10:11]8083; GFX10-NEXT:    v_max_f64 v[4:5], v[4:5], v[12:13]8084; GFX10-NEXT:    v_max_f64 v[6:7], v[6:7], v[14:15]8085; GFX10-NEXT:    s_setpc_b64 s[30:31]8086;8087; GFX11-LABEL: v_maximumnum_v4f64_nnan:8088; GFX11:       ; %bb.0:8089; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8090; GFX11-NEXT:    v_max_f64 v[0:1], v[0:1], v[8:9]8091; GFX11-NEXT:    v_max_f64 v[2:3], v[2:3], v[10:11]8092; GFX11-NEXT:    v_max_f64 v[4:5], v[4:5], v[12:13]8093; GFX11-NEXT:    v_max_f64 v[6:7], v[6:7], v[14:15]8094; GFX11-NEXT:    s_setpc_b64 s[30:31]8095;8096; GFX12-LABEL: v_maximumnum_v4f64_nnan:8097; GFX12:       ; %bb.0:8098; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x08099; GFX12-NEXT:    s_wait_expcnt 0x08100; GFX12-NEXT:    s_wait_samplecnt 0x08101; GFX12-NEXT:    s_wait_bvhcnt 0x08102; GFX12-NEXT:    s_wait_kmcnt 0x08103; GFX12-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[8:9]8104; GFX12-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[10:11]8105; GFX12-NEXT:    v_max_num_f64_e32 v[4:5], v[4:5], v[12:13]8106; GFX12-NEXT:    v_max_num_f64_e32 v[6:7], v[6:7], v[14:15]8107; GFX12-NEXT:    s_setpc_b64 s[30:31]8108  %result = call nnan <4 x double> @llvm.maximumnum.v4f64(<4 x double> %x, <4 x double> %y)8109  ret <4 x double> %result8110}8111 8112define half @v_maximumnum_f16_no_ieee(half %x, half %y) #0 {8113; GFX7-SDAG-LABEL: v_maximumnum_f16_no_ieee:8114; GFX7-SDAG:       ; %bb.0:8115; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8116; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v18117; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v08118; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v18119; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v08120; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v18121; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]8122;8123; GFX7-GISEL-LABEL: v_maximumnum_f16_no_ieee:8124; GFX7-GISEL:       ; %bb.0:8125; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8126; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v08127; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v18128; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v18129; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v08130; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]8131;8132; GFX8-LABEL: v_maximumnum_f16_no_ieee:8133; GFX8:       ; %bb.0:8134; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8135; GFX8-NEXT:    v_max_f16_e32 v0, v0, v18136; GFX8-NEXT:    s_setpc_b64 s[30:31]8137;8138; GFX9-LABEL: v_maximumnum_f16_no_ieee:8139; GFX9:       ; %bb.0:8140; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8141; GFX9-NEXT:    v_max_f16_e32 v0, v0, v18142; GFX9-NEXT:    s_setpc_b64 s[30:31]8143;8144; GFX10-LABEL: v_maximumnum_f16_no_ieee:8145; GFX10:       ; %bb.0:8146; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8147; GFX10-NEXT:    v_max_f16_e32 v0, v0, v18148; GFX10-NEXT:    s_setpc_b64 s[30:31]8149;8150; GFX11-TRUE16-LABEL: v_maximumnum_f16_no_ieee:8151; GFX11-TRUE16:       ; %bb.0:8152; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8153; GFX11-TRUE16-NEXT:    v_max_f16_e32 v0.l, v0.l, v1.l8154; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]8155;8156; GFX11-FAKE16-LABEL: v_maximumnum_f16_no_ieee:8157; GFX11-FAKE16:       ; %bb.0:8158; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8159; GFX11-FAKE16-NEXT:    v_max_f16_e32 v0, v0, v18160; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]8161;8162; GFX12-TRUE16-SDAG-LABEL: v_maximumnum_f16_no_ieee:8163; GFX12-TRUE16-SDAG:       ; %bb.0:8164; GFX12-TRUE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x08165; GFX12-TRUE16-SDAG-NEXT:    s_wait_expcnt 0x08166; GFX12-TRUE16-SDAG-NEXT:    s_wait_samplecnt 0x08167; GFX12-TRUE16-SDAG-NEXT:    s_wait_bvhcnt 0x08168; GFX12-TRUE16-SDAG-NEXT:    s_wait_kmcnt 0x08169; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.h, v1.l, v1.l8170; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.l8171; GFX12-TRUE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)8172; GFX12-TRUE16-SDAG-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.h8173; GFX12-TRUE16-SDAG-NEXT:    s_setpc_b64 s[30:31]8174;8175; GFX12-TRUE16-GISEL-LABEL: v_maximumnum_f16_no_ieee:8176; GFX12-TRUE16-GISEL:       ; %bb.0:8177; GFX12-TRUE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x08178; GFX12-TRUE16-GISEL-NEXT:    s_wait_expcnt 0x08179; GFX12-TRUE16-GISEL-NEXT:    s_wait_samplecnt 0x08180; GFX12-TRUE16-GISEL-NEXT:    s_wait_bvhcnt 0x08181; GFX12-TRUE16-GISEL-NEXT:    s_wait_kmcnt 0x08182; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.l8183; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.h, v1.l, v1.l8184; GFX12-TRUE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)8185; GFX12-TRUE16-GISEL-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v0.h8186; GFX12-TRUE16-GISEL-NEXT:    s_setpc_b64 s[30:31]8187;8188; GFX12-FAKE16-SDAG-LABEL: v_maximumnum_f16_no_ieee:8189; GFX12-FAKE16-SDAG:       ; %bb.0:8190; GFX12-FAKE16-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x08191; GFX12-FAKE16-SDAG-NEXT:    s_wait_expcnt 0x08192; GFX12-FAKE16-SDAG-NEXT:    s_wait_samplecnt 0x08193; GFX12-FAKE16-SDAG-NEXT:    s_wait_bvhcnt 0x08194; GFX12-FAKE16-SDAG-NEXT:    s_wait_kmcnt 0x08195; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v1, v1, v18196; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v0, v0, v08197; GFX12-FAKE16-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)8198; GFX12-FAKE16-SDAG-NEXT:    v_max_num_f16_e32 v0, v0, v18199; GFX12-FAKE16-SDAG-NEXT:    s_setpc_b64 s[30:31]8200;8201; GFX12-FAKE16-GISEL-LABEL: v_maximumnum_f16_no_ieee:8202; GFX12-FAKE16-GISEL:       ; %bb.0:8203; GFX12-FAKE16-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x08204; GFX12-FAKE16-GISEL-NEXT:    s_wait_expcnt 0x08205; GFX12-FAKE16-GISEL-NEXT:    s_wait_samplecnt 0x08206; GFX12-FAKE16-GISEL-NEXT:    s_wait_bvhcnt 0x08207; GFX12-FAKE16-GISEL-NEXT:    s_wait_kmcnt 0x08208; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v0, v0, v08209; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v1, v1, v18210; GFX12-FAKE16-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)8211; GFX12-FAKE16-GISEL-NEXT:    v_max_num_f16_e32 v0, v0, v18212; GFX12-FAKE16-GISEL-NEXT:    s_setpc_b64 s[30:31]8213  %result = call half @llvm.maximumnum.f16(half %x, half %y)8214  ret half %result8215}8216 8217define half @v_maximumnum_f16_nan_no_ieee(half %x, half %y) #0 {8218; GFX7-SDAG-LABEL: v_maximumnum_f16_nan_no_ieee:8219; GFX7-SDAG:       ; %bb.0:8220; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8221; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v18222; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v08223; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v18224; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v08225; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v18226; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]8227;8228; GFX7-GISEL-LABEL: v_maximumnum_f16_nan_no_ieee:8229; GFX7-GISEL:       ; %bb.0:8230; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8231; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v08232; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v18233; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v18234; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v08235; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]8236;8237; GFX8-LABEL: v_maximumnum_f16_nan_no_ieee:8238; GFX8:       ; %bb.0:8239; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8240; GFX8-NEXT:    v_max_f16_e32 v0, v0, v18241; GFX8-NEXT:    s_setpc_b64 s[30:31]8242;8243; GFX9-LABEL: v_maximumnum_f16_nan_no_ieee:8244; GFX9:       ; %bb.0:8245; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8246; GFX9-NEXT:    v_max_f16_e32 v0, v0, v18247; GFX9-NEXT:    s_setpc_b64 s[30:31]8248;8249; GFX10-LABEL: v_maximumnum_f16_nan_no_ieee:8250; GFX10:       ; %bb.0:8251; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8252; GFX10-NEXT:    v_max_f16_e32 v0, v0, v18253; GFX10-NEXT:    s_setpc_b64 s[30:31]8254;8255; GFX11-TRUE16-LABEL: v_maximumnum_f16_nan_no_ieee:8256; GFX11-TRUE16:       ; %bb.0:8257; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8258; GFX11-TRUE16-NEXT:    v_max_f16_e32 v0.l, v0.l, v1.l8259; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]8260;8261; GFX11-FAKE16-LABEL: v_maximumnum_f16_nan_no_ieee:8262; GFX11-FAKE16:       ; %bb.0:8263; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8264; GFX11-FAKE16-NEXT:    v_max_f16_e32 v0, v0, v18265; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]8266;8267; GFX12-TRUE16-LABEL: v_maximumnum_f16_nan_no_ieee:8268; GFX12-TRUE16:       ; %bb.0:8269; GFX12-TRUE16-NEXT:    s_wait_loadcnt_dscnt 0x08270; GFX12-TRUE16-NEXT:    s_wait_expcnt 0x08271; GFX12-TRUE16-NEXT:    s_wait_samplecnt 0x08272; GFX12-TRUE16-NEXT:    s_wait_bvhcnt 0x08273; GFX12-TRUE16-NEXT:    s_wait_kmcnt 0x08274; GFX12-TRUE16-NEXT:    v_max_num_f16_e32 v0.l, v0.l, v1.l8275; GFX12-TRUE16-NEXT:    s_setpc_b64 s[30:31]8276;8277; GFX12-FAKE16-LABEL: v_maximumnum_f16_nan_no_ieee:8278; GFX12-FAKE16:       ; %bb.0:8279; GFX12-FAKE16-NEXT:    s_wait_loadcnt_dscnt 0x08280; GFX12-FAKE16-NEXT:    s_wait_expcnt 0x08281; GFX12-FAKE16-NEXT:    s_wait_samplecnt 0x08282; GFX12-FAKE16-NEXT:    s_wait_bvhcnt 0x08283; GFX12-FAKE16-NEXT:    s_wait_kmcnt 0x08284; GFX12-FAKE16-NEXT:    v_max_num_f16_e32 v0, v0, v18285; GFX12-FAKE16-NEXT:    s_setpc_b64 s[30:31]8286  %result = call nnan half @llvm.maximumnum.f16(half %x, half %y)8287  ret half %result8288}8289 8290define float @v_maximumnum_f32_no_ieee(float %x, float %y) #0 {8291; GFX7-LABEL: v_maximumnum_f32_no_ieee:8292; GFX7:       ; %bb.0:8293; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8294; GFX7-NEXT:    v_max_f32_e32 v0, v0, v18295; GFX7-NEXT:    s_setpc_b64 s[30:31]8296;8297; GFX8-LABEL: v_maximumnum_f32_no_ieee:8298; GFX8:       ; %bb.0:8299; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8300; GFX8-NEXT:    v_max_f32_e32 v0, v0, v18301; GFX8-NEXT:    s_setpc_b64 s[30:31]8302;8303; GFX9-LABEL: v_maximumnum_f32_no_ieee:8304; GFX9:       ; %bb.0:8305; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8306; GFX9-NEXT:    v_max_f32_e32 v0, v0, v18307; GFX9-NEXT:    s_setpc_b64 s[30:31]8308;8309; GFX10-LABEL: v_maximumnum_f32_no_ieee:8310; GFX10:       ; %bb.0:8311; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8312; GFX10-NEXT:    v_max_f32_e32 v0, v0, v18313; GFX10-NEXT:    s_setpc_b64 s[30:31]8314;8315; GFX11-LABEL: v_maximumnum_f32_no_ieee:8316; GFX11:       ; %bb.0:8317; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8318; GFX11-NEXT:    v_max_f32_e32 v0, v0, v18319; GFX11-NEXT:    s_setpc_b64 s[30:31]8320;8321; GFX12-SDAG-LABEL: v_maximumnum_f32_no_ieee:8322; GFX12-SDAG:       ; %bb.0:8323; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x08324; GFX12-SDAG-NEXT:    s_wait_expcnt 0x08325; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x08326; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x08327; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x08328; GFX12-SDAG-NEXT:    v_dual_max_num_f32 v1, v1, v1 :: v_dual_max_num_f32 v0, v0, v08329; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)8330; GFX12-SDAG-NEXT:    v_max_num_f32_e32 v0, v0, v18331; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]8332;8333; GFX12-GISEL-LABEL: v_maximumnum_f32_no_ieee:8334; GFX12-GISEL:       ; %bb.0:8335; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x08336; GFX12-GISEL-NEXT:    s_wait_expcnt 0x08337; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x08338; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x08339; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x08340; GFX12-GISEL-NEXT:    v_dual_max_num_f32 v0, v0, v0 :: v_dual_max_num_f32 v1, v1, v18341; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)8342; GFX12-GISEL-NEXT:    v_max_num_f32_e32 v0, v0, v18343; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]8344  %result = call float @llvm.maximumnum.f32(float %x, float %y)8345  ret float %result8346}8347 8348define float @v_maximumnum_f32_nnan_no_ieee(float %x, float %y) #0 {8349; GFX7-LABEL: v_maximumnum_f32_nnan_no_ieee:8350; GFX7:       ; %bb.0:8351; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8352; GFX7-NEXT:    v_max_f32_e32 v0, v0, v18353; GFX7-NEXT:    s_setpc_b64 s[30:31]8354;8355; GFX8-LABEL: v_maximumnum_f32_nnan_no_ieee:8356; GFX8:       ; %bb.0:8357; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8358; GFX8-NEXT:    v_max_f32_e32 v0, v0, v18359; GFX8-NEXT:    s_setpc_b64 s[30:31]8360;8361; GFX9-LABEL: v_maximumnum_f32_nnan_no_ieee:8362; GFX9:       ; %bb.0:8363; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8364; GFX9-NEXT:    v_max_f32_e32 v0, v0, v18365; GFX9-NEXT:    s_setpc_b64 s[30:31]8366;8367; GFX10-LABEL: v_maximumnum_f32_nnan_no_ieee:8368; GFX10:       ; %bb.0:8369; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8370; GFX10-NEXT:    v_max_f32_e32 v0, v0, v18371; GFX10-NEXT:    s_setpc_b64 s[30:31]8372;8373; GFX11-LABEL: v_maximumnum_f32_nnan_no_ieee:8374; GFX11:       ; %bb.0:8375; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8376; GFX11-NEXT:    v_max_f32_e32 v0, v0, v18377; GFX11-NEXT:    s_setpc_b64 s[30:31]8378;8379; GFX12-LABEL: v_maximumnum_f32_nnan_no_ieee:8380; GFX12:       ; %bb.0:8381; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x08382; GFX12-NEXT:    s_wait_expcnt 0x08383; GFX12-NEXT:    s_wait_samplecnt 0x08384; GFX12-NEXT:    s_wait_bvhcnt 0x08385; GFX12-NEXT:    s_wait_kmcnt 0x08386; GFX12-NEXT:    v_max_num_f32_e32 v0, v0, v18387; GFX12-NEXT:    s_setpc_b64 s[30:31]8388  %result = call nnan float @llvm.maximumnum.f32(float %x, float %y)8389  ret float %result8390}8391 8392define double @v_maximumnum_f64_no_ieee(double %x, double %y) #0 {8393; GFX7-LABEL: v_maximumnum_f64_no_ieee:8394; GFX7:       ; %bb.0:8395; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8396; GFX7-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]8397; GFX7-NEXT:    s_setpc_b64 s[30:31]8398;8399; GFX8-LABEL: v_maximumnum_f64_no_ieee:8400; GFX8:       ; %bb.0:8401; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8402; GFX8-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]8403; GFX8-NEXT:    s_setpc_b64 s[30:31]8404;8405; GFX9-LABEL: v_maximumnum_f64_no_ieee:8406; GFX9:       ; %bb.0:8407; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8408; GFX9-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]8409; GFX9-NEXT:    s_setpc_b64 s[30:31]8410;8411; GFX10-LABEL: v_maximumnum_f64_no_ieee:8412; GFX10:       ; %bb.0:8413; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8414; GFX10-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]8415; GFX10-NEXT:    s_setpc_b64 s[30:31]8416;8417; GFX11-LABEL: v_maximumnum_f64_no_ieee:8418; GFX11:       ; %bb.0:8419; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8420; GFX11-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]8421; GFX11-NEXT:    s_setpc_b64 s[30:31]8422;8423; GFX12-SDAG-LABEL: v_maximumnum_f64_no_ieee:8424; GFX12-SDAG:       ; %bb.0:8425; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x08426; GFX12-SDAG-NEXT:    s_wait_expcnt 0x08427; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x08428; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x08429; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x08430; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[2:3]8431; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[0:1]8432; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)8433; GFX12-SDAG-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[2:3]8434; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]8435;8436; GFX12-GISEL-LABEL: v_maximumnum_f64_no_ieee:8437; GFX12-GISEL:       ; %bb.0:8438; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x08439; GFX12-GISEL-NEXT:    s_wait_expcnt 0x08440; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x08441; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x08442; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x08443; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[0:1]8444; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[2:3], v[2:3], v[2:3]8445; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)8446; GFX12-GISEL-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[2:3]8447; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]8448  %result = call double @llvm.maximumnum.f64(double %x, double %y)8449  ret double %result8450}8451 8452define double @v_maximumnum_f64_nnan_no_ieee(double %x, double %y) #0 {8453; GFX7-LABEL: v_maximumnum_f64_nnan_no_ieee:8454; GFX7:       ; %bb.0:8455; GFX7-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8456; GFX7-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]8457; GFX7-NEXT:    s_setpc_b64 s[30:31]8458;8459; GFX8-LABEL: v_maximumnum_f64_nnan_no_ieee:8460; GFX8:       ; %bb.0:8461; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8462; GFX8-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]8463; GFX8-NEXT:    s_setpc_b64 s[30:31]8464;8465; GFX9-LABEL: v_maximumnum_f64_nnan_no_ieee:8466; GFX9:       ; %bb.0:8467; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8468; GFX9-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]8469; GFX9-NEXT:    s_setpc_b64 s[30:31]8470;8471; GFX10-LABEL: v_maximumnum_f64_nnan_no_ieee:8472; GFX10:       ; %bb.0:8473; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8474; GFX10-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]8475; GFX10-NEXT:    s_setpc_b64 s[30:31]8476;8477; GFX11-LABEL: v_maximumnum_f64_nnan_no_ieee:8478; GFX11:       ; %bb.0:8479; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8480; GFX11-NEXT:    v_max_f64 v[0:1], v[0:1], v[2:3]8481; GFX11-NEXT:    s_setpc_b64 s[30:31]8482;8483; GFX12-LABEL: v_maximumnum_f64_nnan_no_ieee:8484; GFX12:       ; %bb.0:8485; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x08486; GFX12-NEXT:    s_wait_expcnt 0x08487; GFX12-NEXT:    s_wait_samplecnt 0x08488; GFX12-NEXT:    s_wait_bvhcnt 0x08489; GFX12-NEXT:    s_wait_kmcnt 0x08490; GFX12-NEXT:    v_max_num_f64_e32 v[0:1], v[0:1], v[2:3]8491; GFX12-NEXT:    s_setpc_b64 s[30:31]8492  %result = call nnan double @llvm.maximumnum.f64(double %x, double %y)8493  ret double %result8494}8495 8496define <2 x half> @v_maximumnum_v2f16_no_ieee(<2 x half> %x, <2 x half> %y) #0 {8497; GFX7-SDAG-LABEL: v_maximumnum_v2f16_no_ieee:8498; GFX7-SDAG:       ; %bb.0:8499; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8500; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v3, v38501; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v2, v28502; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v08503; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v18504; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v3, v38505; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v2, v28506; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v08507; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v18508; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v28509; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v38510; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]8511;8512; GFX7-GISEL-LABEL: v_maximumnum_v2f16_no_ieee:8513; GFX7-GISEL:       ; %bb.0:8514; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8515; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v08516; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v2, v28517; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v18518; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v38519; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v28520; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v08521; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v38522; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v1, v18523; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]8524;8525; GFX8-SDAG-LABEL: v_maximumnum_v2f16_no_ieee:8526; GFX8-SDAG:       ; %bb.0:8527; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8528; GFX8-SDAG-NEXT:    v_max_f16_sdwa v2, v0, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_18529; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v18530; GFX8-SDAG-NEXT:    v_or_b32_e32 v0, v0, v28531; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]8532;8533; GFX8-GISEL-LABEL: v_maximumnum_v2f16_no_ieee:8534; GFX8-GISEL:       ; %bb.0:8535; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8536; GFX8-GISEL-NEXT:    v_max_f16_e32 v2, v0, v18537; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_18538; GFX8-GISEL-NEXT:    v_or_b32_e32 v0, v2, v08539; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]8540;8541; GFX9-LABEL: v_maximumnum_v2f16_no_ieee:8542; GFX9:       ; %bb.0:8543; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8544; GFX9-NEXT:    v_pk_max_f16 v0, v0, v18545; GFX9-NEXT:    s_setpc_b64 s[30:31]8546;8547; GFX10-LABEL: v_maximumnum_v2f16_no_ieee:8548; GFX10:       ; %bb.0:8549; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8550; GFX10-NEXT:    v_pk_max_f16 v0, v0, v18551; GFX10-NEXT:    s_setpc_b64 s[30:31]8552;8553; GFX11-LABEL: v_maximumnum_v2f16_no_ieee:8554; GFX11:       ; %bb.0:8555; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8556; GFX11-NEXT:    v_pk_max_f16 v0, v0, v18557; GFX11-NEXT:    s_setpc_b64 s[30:31]8558;8559; GFX12-SDAG-LABEL: v_maximumnum_v2f16_no_ieee:8560; GFX12-SDAG:       ; %bb.0:8561; GFX12-SDAG-NEXT:    s_wait_loadcnt_dscnt 0x08562; GFX12-SDAG-NEXT:    s_wait_expcnt 0x08563; GFX12-SDAG-NEXT:    s_wait_samplecnt 0x08564; GFX12-SDAG-NEXT:    s_wait_bvhcnt 0x08565; GFX12-SDAG-NEXT:    s_wait_kmcnt 0x08566; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v1, v1, v18567; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v0, v0, v08568; GFX12-SDAG-NEXT:    s_delay_alu instid0(VALU_DEP_1)8569; GFX12-SDAG-NEXT:    v_pk_max_num_f16 v0, v0, v18570; GFX12-SDAG-NEXT:    s_setpc_b64 s[30:31]8571;8572; GFX12-GISEL-LABEL: v_maximumnum_v2f16_no_ieee:8573; GFX12-GISEL:       ; %bb.0:8574; GFX12-GISEL-NEXT:    s_wait_loadcnt_dscnt 0x08575; GFX12-GISEL-NEXT:    s_wait_expcnt 0x08576; GFX12-GISEL-NEXT:    s_wait_samplecnt 0x08577; GFX12-GISEL-NEXT:    s_wait_bvhcnt 0x08578; GFX12-GISEL-NEXT:    s_wait_kmcnt 0x08579; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v0, v0, v08580; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v1, v1, v18581; GFX12-GISEL-NEXT:    s_delay_alu instid0(VALU_DEP_1)8582; GFX12-GISEL-NEXT:    v_pk_max_num_f16 v0, v0, v18583; GFX12-GISEL-NEXT:    s_setpc_b64 s[30:31]8584  %result = call <2 x half> @llvm.maximumnum.v2f16(<2 x half> %x, <2 x half> %y)8585  ret <2 x half> %result8586}8587 8588define <2 x half> @v_maximumnum_v2f16_nnan_no_ieee(<2 x half> %x, <2 x half> %y) #0 {8589; GFX7-SDAG-LABEL: v_maximumnum_v2f16_nnan_no_ieee:8590; GFX7-SDAG:       ; %bb.0:8591; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8592; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v3, v38593; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v2, v28594; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v08595; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v18596; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v3, v38597; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v2, v28598; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v08599; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v18600; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v28601; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v38602; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]8603;8604; GFX7-GISEL-LABEL: v_maximumnum_v2f16_nnan_no_ieee:8605; GFX7-GISEL:       ; %bb.0:8606; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8607; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v08608; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v2, v28609; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v18610; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v38611; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v28612; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v08613; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v38614; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v1, v18615; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]8616;8617; GFX8-SDAG-LABEL: v_maximumnum_v2f16_nnan_no_ieee:8618; GFX8-SDAG:       ; %bb.0:8619; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8620; GFX8-SDAG-NEXT:    v_max_f16_sdwa v2, v0, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_18621; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v18622; GFX8-SDAG-NEXT:    v_or_b32_e32 v0, v0, v28623; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]8624;8625; GFX8-GISEL-LABEL: v_maximumnum_v2f16_nnan_no_ieee:8626; GFX8-GISEL:       ; %bb.0:8627; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8628; GFX8-GISEL-NEXT:    v_max_f16_e32 v2, v0, v18629; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_18630; GFX8-GISEL-NEXT:    v_or_b32_e32 v0, v2, v08631; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]8632;8633; GFX9-LABEL: v_maximumnum_v2f16_nnan_no_ieee:8634; GFX9:       ; %bb.0:8635; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8636; GFX9-NEXT:    v_pk_max_f16 v0, v0, v18637; GFX9-NEXT:    s_setpc_b64 s[30:31]8638;8639; GFX10-LABEL: v_maximumnum_v2f16_nnan_no_ieee:8640; GFX10:       ; %bb.0:8641; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8642; GFX10-NEXT:    v_pk_max_f16 v0, v0, v18643; GFX10-NEXT:    s_setpc_b64 s[30:31]8644;8645; GFX11-LABEL: v_maximumnum_v2f16_nnan_no_ieee:8646; GFX11:       ; %bb.0:8647; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8648; GFX11-NEXT:    v_pk_max_f16 v0, v0, v18649; GFX11-NEXT:    s_setpc_b64 s[30:31]8650;8651; GFX12-LABEL: v_maximumnum_v2f16_nnan_no_ieee:8652; GFX12:       ; %bb.0:8653; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x08654; GFX12-NEXT:    s_wait_expcnt 0x08655; GFX12-NEXT:    s_wait_samplecnt 0x08656; GFX12-NEXT:    s_wait_bvhcnt 0x08657; GFX12-NEXT:    s_wait_kmcnt 0x08658; GFX12-NEXT:    v_pk_max_num_f16 v0, v0, v18659; GFX12-NEXT:    s_setpc_b64 s[30:31]8660  %result = call nnan <2 x half> @llvm.maximumnum.v2f16(<2 x half> %x, <2 x half> %y)8661  ret <2 x half> %result8662}8663 8664define <3 x half> @v_maximumnum_v3f16_nnan_no_ieee(<3 x half> %x, <3 x half> %y) #0 {8665; GFX7-SDAG-LABEL: v_maximumnum_v3f16_nnan_no_ieee:8666; GFX7-SDAG:       ; %bb.0:8667; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8668; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v5, v58669; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v2, v28670; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v4, v48671; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v3, v38672; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v08673; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v18674; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v5, v58675; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v4, v48676; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v3, v38677; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v08678; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v18679; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v2, v28680; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v38681; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v48682; GFX7-SDAG-NEXT:    v_max_f32_e32 v2, v2, v58683; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]8684;8685; GFX7-GISEL-LABEL: v_maximumnum_v3f16_nnan_no_ieee:8686; GFX7-GISEL:       ; %bb.0:8687; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8688; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v08689; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v38690; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v18691; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v2, v28692; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v38693; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v48694; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v4, v58695; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v08696; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v38697; GFX7-GISEL-NEXT:    v_max_f32_e32 v2, v2, v48698; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v1, v18699; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v2, v28700; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]8701;8702; GFX8-SDAG-LABEL: v_maximumnum_v3f16_nnan_no_ieee:8703; GFX8-SDAG:       ; %bb.0:8704; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8705; GFX8-SDAG-NEXT:    v_max_f16_sdwa v4, v0, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_18706; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v28707; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v38708; GFX8-SDAG-NEXT:    v_or_b32_e32 v0, v0, v48709; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]8710;8711; GFX8-GISEL-LABEL: v_maximumnum_v3f16_nnan_no_ieee:8712; GFX8-GISEL:       ; %bb.0:8713; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8714; GFX8-GISEL-NEXT:    v_max_f16_e32 v4, v0, v28715; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_18716; GFX8-GISEL-NEXT:    v_max_f16_e32 v1, v1, v38717; GFX8-GISEL-NEXT:    v_or_b32_e32 v0, v4, v08718; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]8719;8720; GFX9-SDAG-LABEL: v_maximumnum_v3f16_nnan_no_ieee:8721; GFX9-SDAG:       ; %bb.0:8722; GFX9-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8723; GFX9-SDAG-NEXT:    v_pk_max_f16 v1, v1, v38724; GFX9-SDAG-NEXT:    v_pk_max_f16 v0, v0, v28725; GFX9-SDAG-NEXT:    s_setpc_b64 s[30:31]8726;8727; GFX9-GISEL-LABEL: v_maximumnum_v3f16_nnan_no_ieee:8728; GFX9-GISEL:       ; %bb.0:8729; GFX9-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8730; GFX9-GISEL-NEXT:    v_pk_max_f16 v0, v0, v28731; GFX9-GISEL-NEXT:    v_pk_max_f16 v1, v1, v38732; GFX9-GISEL-NEXT:    s_setpc_b64 s[30:31]8733;8734; GFX10-LABEL: v_maximumnum_v3f16_nnan_no_ieee:8735; GFX10:       ; %bb.0:8736; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8737; GFX10-NEXT:    v_pk_max_f16 v0, v0, v28738; GFX10-NEXT:    v_pk_max_f16 v1, v1, v38739; GFX10-NEXT:    s_setpc_b64 s[30:31]8740;8741; GFX11-LABEL: v_maximumnum_v3f16_nnan_no_ieee:8742; GFX11:       ; %bb.0:8743; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8744; GFX11-NEXT:    v_pk_max_f16 v0, v0, v28745; GFX11-NEXT:    v_pk_max_f16 v1, v1, v38746; GFX11-NEXT:    s_setpc_b64 s[30:31]8747;8748; GFX12-LABEL: v_maximumnum_v3f16_nnan_no_ieee:8749; GFX12:       ; %bb.0:8750; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x08751; GFX12-NEXT:    s_wait_expcnt 0x08752; GFX12-NEXT:    s_wait_samplecnt 0x08753; GFX12-NEXT:    s_wait_bvhcnt 0x08754; GFX12-NEXT:    s_wait_kmcnt 0x08755; GFX12-NEXT:    v_pk_max_num_f16 v0, v0, v28756; GFX12-NEXT:    v_pk_max_num_f16 v1, v1, v38757; GFX12-NEXT:    s_setpc_b64 s[30:31]8758  %result = call nnan <3 x half> @llvm.maximumnum.v3f16(<3 x half> %x, <3 x half> %y)8759  ret <3 x half> %result8760}8761 8762define <4 x half> @v_maximumnum_v4f16_nnan_no_ieee(<4 x half> %x, <4 x half> %y) #0 {8763; GFX7-SDAG-LABEL: v_maximumnum_v4f16_nnan_no_ieee:8764; GFX7-SDAG:       ; %bb.0:8765; GFX7-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8766; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v7, v78767; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v6, v68768; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v3, v38769; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v2, v28770; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v5, v58771; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v4, v48772; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v0, v08773; GFX7-SDAG-NEXT:    v_cvt_f16_f32_e32 v1, v18774; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v7, v78775; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v6, v68776; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v5, v58777; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v4, v48778; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v0, v08779; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v1, v18780; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v2, v28781; GFX7-SDAG-NEXT:    v_cvt_f32_f16_e32 v3, v38782; GFX7-SDAG-NEXT:    v_max_f32_e32 v0, v0, v48783; GFX7-SDAG-NEXT:    v_max_f32_e32 v1, v1, v58784; GFX7-SDAG-NEXT:    v_max_f32_e32 v2, v2, v68785; GFX7-SDAG-NEXT:    v_max_f32_e32 v3, v3, v78786; GFX7-SDAG-NEXT:    s_setpc_b64 s[30:31]8787;8788; GFX7-GISEL-LABEL: v_maximumnum_v4f16_nnan_no_ieee:8789; GFX7-GISEL:       ; %bb.0:8790; GFX7-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8791; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v0, v08792; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v4, v48793; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v1, v18794; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v5, v58795; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v2, v28796; GFX7-GISEL-NEXT:    v_max_f32_e32 v0, v0, v48797; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v4, v68798; GFX7-GISEL-NEXT:    v_max_f32_e32 v1, v1, v58799; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v3, v38800; GFX7-GISEL-NEXT:    v_cvt_f32_f16_e32 v5, v78801; GFX7-GISEL-NEXT:    v_max_f32_e32 v2, v2, v48802; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v0, v08803; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v1, v18804; GFX7-GISEL-NEXT:    v_max_f32_e32 v3, v3, v58805; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v2, v28806; GFX7-GISEL-NEXT:    v_cvt_f16_f32_e32 v3, v38807; GFX7-GISEL-NEXT:    s_setpc_b64 s[30:31]8808;8809; GFX8-SDAG-LABEL: v_maximumnum_v4f16_nnan_no_ieee:8810; GFX8-SDAG:       ; %bb.0:8811; GFX8-SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8812; GFX8-SDAG-NEXT:    v_max_f16_sdwa v4, v1, v3 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_18813; GFX8-SDAG-NEXT:    v_max_f16_sdwa v5, v0, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_18814; GFX8-SDAG-NEXT:    v_max_f16_e32 v1, v1, v38815; GFX8-SDAG-NEXT:    v_max_f16_e32 v0, v0, v28816; GFX8-SDAG-NEXT:    v_or_b32_e32 v0, v0, v58817; GFX8-SDAG-NEXT:    v_or_b32_e32 v1, v1, v48818; GFX8-SDAG-NEXT:    s_setpc_b64 s[30:31]8819;8820; GFX8-GISEL-LABEL: v_maximumnum_v4f16_nnan_no_ieee:8821; GFX8-GISEL:       ; %bb.0:8822; GFX8-GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8823; GFX8-GISEL-NEXT:    v_max_f16_e32 v4, v0, v28824; GFX8-GISEL-NEXT:    v_max_f16_sdwa v0, v0, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_18825; GFX8-GISEL-NEXT:    v_max_f16_e32 v2, v1, v38826; GFX8-GISEL-NEXT:    v_max_f16_sdwa v1, v1, v3 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_18827; GFX8-GISEL-NEXT:    v_or_b32_e32 v0, v4, v08828; GFX8-GISEL-NEXT:    v_or_b32_e32 v1, v2, v18829; GFX8-GISEL-NEXT:    s_setpc_b64 s[30:31]8830;8831; GFX9-LABEL: v_maximumnum_v4f16_nnan_no_ieee:8832; GFX9:       ; %bb.0:8833; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8834; GFX9-NEXT:    v_pk_max_f16 v0, v0, v28835; GFX9-NEXT:    v_pk_max_f16 v1, v1, v38836; GFX9-NEXT:    s_setpc_b64 s[30:31]8837;8838; GFX10-LABEL: v_maximumnum_v4f16_nnan_no_ieee:8839; GFX10:       ; %bb.0:8840; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8841; GFX10-NEXT:    v_pk_max_f16 v0, v0, v28842; GFX10-NEXT:    v_pk_max_f16 v1, v1, v38843; GFX10-NEXT:    s_setpc_b64 s[30:31]8844;8845; GFX11-LABEL: v_maximumnum_v4f16_nnan_no_ieee:8846; GFX11:       ; %bb.0:8847; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8848; GFX11-NEXT:    v_pk_max_f16 v0, v0, v28849; GFX11-NEXT:    v_pk_max_f16 v1, v1, v38850; GFX11-NEXT:    s_setpc_b64 s[30:31]8851;8852; GFX12-LABEL: v_maximumnum_v4f16_nnan_no_ieee:8853; GFX12:       ; %bb.0:8854; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x08855; GFX12-NEXT:    s_wait_expcnt 0x08856; GFX12-NEXT:    s_wait_samplecnt 0x08857; GFX12-NEXT:    s_wait_bvhcnt 0x08858; GFX12-NEXT:    s_wait_kmcnt 0x08859; GFX12-NEXT:    v_pk_max_num_f16 v0, v0, v28860; GFX12-NEXT:    v_pk_max_num_f16 v1, v1, v38861; GFX12-NEXT:    s_setpc_b64 s[30:31]8862  %result = call nnan <4 x half> @llvm.maximumnum.v4f16(<4 x half> %x, <4 x half> %y)8863  ret <4 x half> %result8864}8865 8866attributes #0 = { "amdgpu-ieee"="false" }8867;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:8868; GFX900: {{.*}}8869; GFX950: {{.*}}8870