brintos

brintos / llvm-project-archived public Read only

0
0
Text · 211.1 KiB · 5babe9f Raw
4939 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc -mtriple=amdgcn -mcpu=hawaii < %s | FileCheck -enable-var-scope -check-prefixes=CIGFX89,CI %s3; RUN: llc -mtriple=amdgcn -mcpu=fiji -mattr=-flat-for-global < %s | FileCheck -enable-var-scope -check-prefixes=CIGFX89,GFX89,VI %s4; RUN: llc -mtriple=amdgcn -mcpu=gfx900 -mattr=-flat-for-global < %s | FileCheck -enable-var-scope -check-prefixes=CIGFX89,GFX89,GFX9 %s5; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+real-true16 -mattr=-flat-for-global < %s | FileCheck -enable-var-scope -check-prefixes=GFX11,GFX11-TRUE16 %s6; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=-real-true16 -mattr=-flat-for-global < %s | FileCheck -enable-var-scope -check-prefixes=GFX11,GFX11-FAKE16 %s7 8define void @void_func_i1(i1 %arg0) #0 {9; CIGFX89-LABEL: void_func_i1:10; CIGFX89:       ; %bb.0:11; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)12; CIGFX89-NEXT:    v_and_b32_e32 v0, 1, v013; CIGFX89-NEXT:    s_mov_b32 s7, 0xf00014; CIGFX89-NEXT:    s_mov_b32 s6, -115; CIGFX89-NEXT:    buffer_store_byte v0, off, s[4:7], 016; CIGFX89-NEXT:    s_waitcnt vmcnt(0)17; CIGFX89-NEXT:    s_setpc_b64 s[30:31]18;19; GFX11-LABEL: void_func_i1:20; GFX11:       ; %bb.0:21; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)22; GFX11-NEXT:    v_and_b32_e32 v0, 1, v023; GFX11-NEXT:    s_mov_b32 s3, 0x3101600024; GFX11-NEXT:    s_mov_b32 s2, -125; GFX11-NEXT:    buffer_store_b8 v0, off, s[0:3], 026; GFX11-NEXT:    s_setpc_b64 s[30:31]27  store i1 %arg0, ptr addrspace(1) poison28  ret void29}30 31define void @void_func_i1_zeroext(i1 zeroext %arg0) #0 {32; CIGFX89-LABEL: void_func_i1_zeroext:33; CIGFX89:       ; %bb.0:34; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)35; CIGFX89-NEXT:    v_or_b32_e32 v0, 12, v036; CIGFX89-NEXT:    s_mov_b32 s7, 0xf00037; CIGFX89-NEXT:    s_mov_b32 s6, -138; CIGFX89-NEXT:    buffer_store_dword v0, off, s[4:7], 039; CIGFX89-NEXT:    s_waitcnt vmcnt(0)40; CIGFX89-NEXT:    s_setpc_b64 s[30:31]41;42; GFX11-LABEL: void_func_i1_zeroext:43; GFX11:       ; %bb.0:44; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)45; GFX11-NEXT:    v_or_b32_e32 v0, 12, v046; GFX11-NEXT:    s_mov_b32 s3, 0x3101600047; GFX11-NEXT:    s_mov_b32 s2, -148; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 049; GFX11-NEXT:    s_setpc_b64 s[30:31]50  %ext = zext i1 %arg0 to i3251  %add = add i32 %ext, 1252  store i32 %add, ptr addrspace(1) poison53  ret void54}55 56define void @void_func_i1_signext(i1 signext %arg0) #0 {57; CI-LABEL: void_func_i1_signext:58; CI:       ; %bb.0:59; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)60; CI-NEXT:    v_add_i32_e32 v0, vcc, 12, v061; CI-NEXT:    s_mov_b32 s7, 0xf00062; CI-NEXT:    s_mov_b32 s6, -163; CI-NEXT:    buffer_store_dword v0, off, s[4:7], 064; CI-NEXT:    s_waitcnt vmcnt(0)65; CI-NEXT:    s_setpc_b64 s[30:31]66;67; VI-LABEL: void_func_i1_signext:68; VI:       ; %bb.0:69; VI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)70; VI-NEXT:    v_add_u32_e32 v0, vcc, 12, v071; VI-NEXT:    s_mov_b32 s7, 0xf00072; VI-NEXT:    s_mov_b32 s6, -173; VI-NEXT:    buffer_store_dword v0, off, s[4:7], 074; VI-NEXT:    s_waitcnt vmcnt(0)75; VI-NEXT:    s_setpc_b64 s[30:31]76;77; GFX9-LABEL: void_func_i1_signext:78; GFX9:       ; %bb.0:79; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)80; GFX9-NEXT:    v_add_u32_e32 v0, 12, v081; GFX9-NEXT:    s_mov_b32 s7, 0xf00082; GFX9-NEXT:    s_mov_b32 s6, -183; GFX9-NEXT:    buffer_store_dword v0, off, s[4:7], 084; GFX9-NEXT:    s_waitcnt vmcnt(0)85; GFX9-NEXT:    s_setpc_b64 s[30:31]86;87; GFX11-LABEL: void_func_i1_signext:88; GFX11:       ; %bb.0:89; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)90; GFX11-NEXT:    v_add_nc_u32_e32 v0, 12, v091; GFX11-NEXT:    s_mov_b32 s3, 0x3101600092; GFX11-NEXT:    s_mov_b32 s2, -193; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 094; GFX11-NEXT:    s_setpc_b64 s[30:31]95  %ext = sext i1 %arg0 to i3296  %add = add i32 %ext, 1297  store i32 %add, ptr addrspace(1) poison98  ret void99}100 101define void @i1_arg_i1_use(i1 %arg) #0 {102; CIGFX89-LABEL: i1_arg_i1_use:103; CIGFX89:       ; %bb.0: ; %bb104; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)105; CIGFX89-NEXT:    v_and_b32_e32 v0, 1, v0106; CIGFX89-NEXT:    v_cmp_ne_u32_e32 vcc, 1, v0107; CIGFX89-NEXT:    s_and_saveexec_b64 s[4:5], vcc108; CIGFX89-NEXT:    s_cbranch_execz .LBB3_2109; CIGFX89-NEXT:  ; %bb.1: ; %bb1110; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000111; CIGFX89-NEXT:    s_mov_b32 s6, -1112; CIGFX89-NEXT:    v_mov_b32_e32 v0, 0113; CIGFX89-NEXT:    buffer_store_dword v0, off, s[4:7], 0114; CIGFX89-NEXT:    s_waitcnt vmcnt(0)115; CIGFX89-NEXT:  .LBB3_2: ; %bb2116; CIGFX89-NEXT:    s_or_b64 exec, exec, s[4:5]117; CIGFX89-NEXT:    s_setpc_b64 s[30:31]118;119; GFX11-LABEL: i1_arg_i1_use:120; GFX11:       ; %bb.0: ; %bb121; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)122; GFX11-NEXT:    v_and_b32_e32 v0, 1, v0123; GFX11-NEXT:    s_mov_b32 s0, exec_lo124; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_1)125; GFX11-NEXT:    v_cmpx_ne_u32_e32 1, v0126; GFX11-NEXT:    s_cbranch_execz .LBB3_2127; GFX11-NEXT:  ; %bb.1: ; %bb1128; GFX11-NEXT:    v_mov_b32_e32 v0, 0129; GFX11-NEXT:    s_mov_b32 s3, 0x31016000130; GFX11-NEXT:    s_mov_b32 s2, -1131; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 0 dlc132; GFX11-NEXT:    s_waitcnt_vscnt null, 0x0133; GFX11-NEXT:  .LBB3_2: ; %bb2134; GFX11-NEXT:    s_or_b32 exec_lo, exec_lo, s0135; GFX11-NEXT:    s_setpc_b64 s[30:31]136bb:137  br i1 %arg, label %bb2, label %bb1138 139bb1:140  store volatile i32 0, ptr addrspace(1) poison141  br label %bb2142 143bb2:144  ret void145}146 147define void @void_func_i8(i8 %arg0) #0 {148; CIGFX89-LABEL: void_func_i8:149; CIGFX89:       ; %bb.0:150; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)151; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000152; CIGFX89-NEXT:    s_mov_b32 s6, -1153; CIGFX89-NEXT:    buffer_store_byte v0, off, s[4:7], 0154; CIGFX89-NEXT:    s_waitcnt vmcnt(0)155; CIGFX89-NEXT:    s_setpc_b64 s[30:31]156;157; GFX11-LABEL: void_func_i8:158; GFX11:       ; %bb.0:159; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)160; GFX11-NEXT:    s_mov_b32 s3, 0x31016000161; GFX11-NEXT:    s_mov_b32 s2, -1162; GFX11-NEXT:    buffer_store_b8 v0, off, s[0:3], 0163; GFX11-NEXT:    s_setpc_b64 s[30:31]164  store i8 %arg0, ptr addrspace(1) poison165  ret void166}167 168define void @void_func_i8_zeroext(i8 zeroext %arg0) #0 {169; CI-LABEL: void_func_i8_zeroext:170; CI:       ; %bb.0:171; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)172; CI-NEXT:    v_add_i32_e32 v0, vcc, 12, v0173; CI-NEXT:    s_mov_b32 s7, 0xf000174; CI-NEXT:    s_mov_b32 s6, -1175; CI-NEXT:    buffer_store_dword v0, off, s[4:7], 0176; CI-NEXT:    s_waitcnt vmcnt(0)177; CI-NEXT:    s_setpc_b64 s[30:31]178;179; VI-LABEL: void_func_i8_zeroext:180; VI:       ; %bb.0:181; VI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)182; VI-NEXT:    v_add_u32_e32 v0, vcc, 12, v0183; VI-NEXT:    s_mov_b32 s7, 0xf000184; VI-NEXT:    s_mov_b32 s6, -1185; VI-NEXT:    buffer_store_dword v0, off, s[4:7], 0186; VI-NEXT:    s_waitcnt vmcnt(0)187; VI-NEXT:    s_setpc_b64 s[30:31]188;189; GFX9-LABEL: void_func_i8_zeroext:190; GFX9:       ; %bb.0:191; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)192; GFX9-NEXT:    v_add_u32_e32 v0, 12, v0193; GFX9-NEXT:    s_mov_b32 s7, 0xf000194; GFX9-NEXT:    s_mov_b32 s6, -1195; GFX9-NEXT:    buffer_store_dword v0, off, s[4:7], 0196; GFX9-NEXT:    s_waitcnt vmcnt(0)197; GFX9-NEXT:    s_setpc_b64 s[30:31]198;199; GFX11-LABEL: void_func_i8_zeroext:200; GFX11:       ; %bb.0:201; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)202; GFX11-NEXT:    v_add_nc_u32_e32 v0, 12, v0203; GFX11-NEXT:    s_mov_b32 s3, 0x31016000204; GFX11-NEXT:    s_mov_b32 s2, -1205; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 0206; GFX11-NEXT:    s_setpc_b64 s[30:31]207  %ext = zext i8 %arg0 to i32208  %add = add i32 %ext, 12209  store i32 %add, ptr addrspace(1) poison210  ret void211}212 213define void @void_func_i8_signext(i8 signext %arg0) #0 {214; CI-LABEL: void_func_i8_signext:215; CI:       ; %bb.0:216; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)217; CI-NEXT:    v_add_i32_e32 v0, vcc, 12, v0218; CI-NEXT:    s_mov_b32 s7, 0xf000219; CI-NEXT:    s_mov_b32 s6, -1220; CI-NEXT:    buffer_store_dword v0, off, s[4:7], 0221; CI-NEXT:    s_waitcnt vmcnt(0)222; CI-NEXT:    s_setpc_b64 s[30:31]223;224; VI-LABEL: void_func_i8_signext:225; VI:       ; %bb.0:226; VI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)227; VI-NEXT:    v_add_u32_e32 v0, vcc, 12, v0228; VI-NEXT:    s_mov_b32 s7, 0xf000229; VI-NEXT:    s_mov_b32 s6, -1230; VI-NEXT:    buffer_store_dword v0, off, s[4:7], 0231; VI-NEXT:    s_waitcnt vmcnt(0)232; VI-NEXT:    s_setpc_b64 s[30:31]233;234; GFX9-LABEL: void_func_i8_signext:235; GFX9:       ; %bb.0:236; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)237; GFX9-NEXT:    v_add_u32_e32 v0, 12, v0238; GFX9-NEXT:    s_mov_b32 s7, 0xf000239; GFX9-NEXT:    s_mov_b32 s6, -1240; GFX9-NEXT:    buffer_store_dword v0, off, s[4:7], 0241; GFX9-NEXT:    s_waitcnt vmcnt(0)242; GFX9-NEXT:    s_setpc_b64 s[30:31]243;244; GFX11-LABEL: void_func_i8_signext:245; GFX11:       ; %bb.0:246; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)247; GFX11-NEXT:    v_add_nc_u32_e32 v0, 12, v0248; GFX11-NEXT:    s_mov_b32 s3, 0x31016000249; GFX11-NEXT:    s_mov_b32 s2, -1250; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 0251; GFX11-NEXT:    s_setpc_b64 s[30:31]252  %ext = sext i8 %arg0 to i32253  %add = add i32 %ext, 12254  store i32 %add, ptr addrspace(1) poison255  ret void256}257 258define void @void_func_i16(i16 %arg0) #0 {259; CIGFX89-LABEL: void_func_i16:260; CIGFX89:       ; %bb.0:261; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)262; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000263; CIGFX89-NEXT:    s_mov_b32 s6, -1264; CIGFX89-NEXT:    buffer_store_short v0, off, s[4:7], 0265; CIGFX89-NEXT:    s_waitcnt vmcnt(0)266; CIGFX89-NEXT:    s_setpc_b64 s[30:31]267;268; GFX11-LABEL: void_func_i16:269; GFX11:       ; %bb.0:270; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)271; GFX11-NEXT:    s_mov_b32 s3, 0x31016000272; GFX11-NEXT:    s_mov_b32 s2, -1273; GFX11-NEXT:    buffer_store_b16 v0, off, s[0:3], 0274; GFX11-NEXT:    s_setpc_b64 s[30:31]275  store i16 %arg0, ptr addrspace(1) poison276  ret void277}278 279define void @void_func_i16_zeroext(i16 zeroext %arg0) #0 {280; CI-LABEL: void_func_i16_zeroext:281; CI:       ; %bb.0:282; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)283; CI-NEXT:    v_add_i32_e32 v0, vcc, 12, v0284; CI-NEXT:    s_mov_b32 s7, 0xf000285; CI-NEXT:    s_mov_b32 s6, -1286; CI-NEXT:    buffer_store_dword v0, off, s[4:7], 0287; CI-NEXT:    s_waitcnt vmcnt(0)288; CI-NEXT:    s_setpc_b64 s[30:31]289;290; VI-LABEL: void_func_i16_zeroext:291; VI:       ; %bb.0:292; VI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)293; VI-NEXT:    v_add_u32_e32 v0, vcc, 12, v0294; VI-NEXT:    s_mov_b32 s7, 0xf000295; VI-NEXT:    s_mov_b32 s6, -1296; VI-NEXT:    buffer_store_dword v0, off, s[4:7], 0297; VI-NEXT:    s_waitcnt vmcnt(0)298; VI-NEXT:    s_setpc_b64 s[30:31]299;300; GFX9-LABEL: void_func_i16_zeroext:301; GFX9:       ; %bb.0:302; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)303; GFX9-NEXT:    v_add_u32_e32 v0, 12, v0304; GFX9-NEXT:    s_mov_b32 s7, 0xf000305; GFX9-NEXT:    s_mov_b32 s6, -1306; GFX9-NEXT:    buffer_store_dword v0, off, s[4:7], 0307; GFX9-NEXT:    s_waitcnt vmcnt(0)308; GFX9-NEXT:    s_setpc_b64 s[30:31]309;310; GFX11-LABEL: void_func_i16_zeroext:311; GFX11:       ; %bb.0:312; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)313; GFX11-NEXT:    v_add_nc_u32_e32 v0, 12, v0314; GFX11-NEXT:    s_mov_b32 s3, 0x31016000315; GFX11-NEXT:    s_mov_b32 s2, -1316; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 0317; GFX11-NEXT:    s_setpc_b64 s[30:31]318  %ext = zext i16 %arg0 to i32319  %add = add i32 %ext, 12320  store i32 %add, ptr addrspace(1) poison321  ret void322}323 324define void @void_func_i16_signext(i16 signext %arg0) #0 {325; CI-LABEL: void_func_i16_signext:326; CI:       ; %bb.0:327; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)328; CI-NEXT:    v_add_i32_e32 v0, vcc, 12, v0329; CI-NEXT:    s_mov_b32 s7, 0xf000330; CI-NEXT:    s_mov_b32 s6, -1331; CI-NEXT:    buffer_store_dword v0, off, s[4:7], 0332; CI-NEXT:    s_waitcnt vmcnt(0)333; CI-NEXT:    s_setpc_b64 s[30:31]334;335; VI-LABEL: void_func_i16_signext:336; VI:       ; %bb.0:337; VI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)338; VI-NEXT:    v_add_u32_e32 v0, vcc, 12, v0339; VI-NEXT:    s_mov_b32 s7, 0xf000340; VI-NEXT:    s_mov_b32 s6, -1341; VI-NEXT:    buffer_store_dword v0, off, s[4:7], 0342; VI-NEXT:    s_waitcnt vmcnt(0)343; VI-NEXT:    s_setpc_b64 s[30:31]344;345; GFX9-LABEL: void_func_i16_signext:346; GFX9:       ; %bb.0:347; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)348; GFX9-NEXT:    v_add_u32_e32 v0, 12, v0349; GFX9-NEXT:    s_mov_b32 s7, 0xf000350; GFX9-NEXT:    s_mov_b32 s6, -1351; GFX9-NEXT:    buffer_store_dword v0, off, s[4:7], 0352; GFX9-NEXT:    s_waitcnt vmcnt(0)353; GFX9-NEXT:    s_setpc_b64 s[30:31]354;355; GFX11-LABEL: void_func_i16_signext:356; GFX11:       ; %bb.0:357; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)358; GFX11-NEXT:    v_add_nc_u32_e32 v0, 12, v0359; GFX11-NEXT:    s_mov_b32 s3, 0x31016000360; GFX11-NEXT:    s_mov_b32 s2, -1361; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 0362; GFX11-NEXT:    s_setpc_b64 s[30:31]363  %ext = sext i16 %arg0 to i32364  %add = add i32 %ext, 12365  store i32 %add, ptr addrspace(1) poison366  ret void367}368 369define void @void_func_i32(i32 %arg0) #0 {370; CIGFX89-LABEL: void_func_i32:371; CIGFX89:       ; %bb.0:372; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)373; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000374; CIGFX89-NEXT:    s_mov_b32 s6, -1375; CIGFX89-NEXT:    buffer_store_dword v0, off, s[4:7], 0376; CIGFX89-NEXT:    s_waitcnt vmcnt(0)377; CIGFX89-NEXT:    s_setpc_b64 s[30:31]378;379; GFX11-LABEL: void_func_i32:380; GFX11:       ; %bb.0:381; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)382; GFX11-NEXT:    s_mov_b32 s3, 0x31016000383; GFX11-NEXT:    s_mov_b32 s2, -1384; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 0385; GFX11-NEXT:    s_setpc_b64 s[30:31]386  store i32 %arg0, ptr addrspace(1) poison387  ret void388}389 390define void @void_func_i64(i64 %arg0) #0 {391; CIGFX89-LABEL: void_func_i64:392; CIGFX89:       ; %bb.0:393; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)394; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000395; CIGFX89-NEXT:    s_mov_b32 s6, -1396; CIGFX89-NEXT:    buffer_store_dwordx2 v[0:1], off, s[4:7], 0397; CIGFX89-NEXT:    s_waitcnt vmcnt(0)398; CIGFX89-NEXT:    s_setpc_b64 s[30:31]399;400; GFX11-LABEL: void_func_i64:401; GFX11:       ; %bb.0:402; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)403; GFX11-NEXT:    s_mov_b32 s3, 0x31016000404; GFX11-NEXT:    s_mov_b32 s2, -1405; GFX11-NEXT:    buffer_store_b64 v[0:1], off, s[0:3], 0406; GFX11-NEXT:    s_setpc_b64 s[30:31]407  store i64 %arg0, ptr addrspace(1) poison408  ret void409}410 411define void @void_func_f16(half %arg0) #0 {412; CI-LABEL: void_func_f16:413; CI:       ; %bb.0:414; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)415; CI-NEXT:    v_cvt_f16_f32_e32 v0, v0416; CI-NEXT:    s_mov_b32 s7, 0xf000417; CI-NEXT:    s_mov_b32 s6, -1418; CI-NEXT:    buffer_store_short v0, off, s[4:7], 0419; CI-NEXT:    s_waitcnt vmcnt(0)420; CI-NEXT:    s_setpc_b64 s[30:31]421;422; GFX89-LABEL: void_func_f16:423; GFX89:       ; %bb.0:424; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)425; GFX89-NEXT:    s_mov_b32 s7, 0xf000426; GFX89-NEXT:    s_mov_b32 s6, -1427; GFX89-NEXT:    buffer_store_short v0, off, s[4:7], 0428; GFX89-NEXT:    s_waitcnt vmcnt(0)429; GFX89-NEXT:    s_setpc_b64 s[30:31]430;431; GFX11-LABEL: void_func_f16:432; GFX11:       ; %bb.0:433; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)434; GFX11-NEXT:    s_mov_b32 s3, 0x31016000435; GFX11-NEXT:    s_mov_b32 s2, -1436; GFX11-NEXT:    buffer_store_b16 v0, off, s[0:3], 0437; GFX11-NEXT:    s_setpc_b64 s[30:31]438  store half %arg0, ptr addrspace(1) poison439  ret void440}441 442define void @void_func_f32(float %arg0) #0 {443; CIGFX89-LABEL: void_func_f32:444; CIGFX89:       ; %bb.0:445; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)446; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000447; CIGFX89-NEXT:    s_mov_b32 s6, -1448; CIGFX89-NEXT:    buffer_store_dword v0, off, s[4:7], 0449; CIGFX89-NEXT:    s_waitcnt vmcnt(0)450; CIGFX89-NEXT:    s_setpc_b64 s[30:31]451;452; GFX11-LABEL: void_func_f32:453; GFX11:       ; %bb.0:454; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)455; GFX11-NEXT:    s_mov_b32 s3, 0x31016000456; GFX11-NEXT:    s_mov_b32 s2, -1457; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 0458; GFX11-NEXT:    s_setpc_b64 s[30:31]459  store float %arg0, ptr addrspace(1) poison460  ret void461}462 463define void @void_func_f64(double %arg0) #0 {464; CIGFX89-LABEL: void_func_f64:465; CIGFX89:       ; %bb.0:466; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)467; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000468; CIGFX89-NEXT:    s_mov_b32 s6, -1469; CIGFX89-NEXT:    buffer_store_dwordx2 v[0:1], off, s[4:7], 0470; CIGFX89-NEXT:    s_waitcnt vmcnt(0)471; CIGFX89-NEXT:    s_setpc_b64 s[30:31]472;473; GFX11-LABEL: void_func_f64:474; GFX11:       ; %bb.0:475; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)476; GFX11-NEXT:    s_mov_b32 s3, 0x31016000477; GFX11-NEXT:    s_mov_b32 s2, -1478; GFX11-NEXT:    buffer_store_b64 v[0:1], off, s[0:3], 0479; GFX11-NEXT:    s_setpc_b64 s[30:31]480  store double %arg0, ptr addrspace(1) poison481  ret void482}483 484define void @void_func_v2i32(<2 x i32> %arg0) #0 {485; CIGFX89-LABEL: void_func_v2i32:486; CIGFX89:       ; %bb.0:487; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)488; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000489; CIGFX89-NEXT:    s_mov_b32 s6, -1490; CIGFX89-NEXT:    buffer_store_dwordx2 v[0:1], off, s[4:7], 0491; CIGFX89-NEXT:    s_waitcnt vmcnt(0)492; CIGFX89-NEXT:    s_setpc_b64 s[30:31]493;494; GFX11-LABEL: void_func_v2i32:495; GFX11:       ; %bb.0:496; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)497; GFX11-NEXT:    s_mov_b32 s3, 0x31016000498; GFX11-NEXT:    s_mov_b32 s2, -1499; GFX11-NEXT:    buffer_store_b64 v[0:1], off, s[0:3], 0500; GFX11-NEXT:    s_setpc_b64 s[30:31]501  store <2 x i32> %arg0, ptr addrspace(1) poison502  ret void503}504 505define void @void_func_v3i32(<3 x i32> %arg0) #0 {506; CIGFX89-LABEL: void_func_v3i32:507; CIGFX89:       ; %bb.0:508; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)509; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000510; CIGFX89-NEXT:    s_mov_b32 s6, -1511; CIGFX89-NEXT:    buffer_store_dwordx3 v[0:2], off, s[4:7], 0512; CIGFX89-NEXT:    s_waitcnt vmcnt(0)513; CIGFX89-NEXT:    s_setpc_b64 s[30:31]514;515; GFX11-LABEL: void_func_v3i32:516; GFX11:       ; %bb.0:517; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)518; GFX11-NEXT:    s_mov_b32 s3, 0x31016000519; GFX11-NEXT:    s_mov_b32 s2, -1520; GFX11-NEXT:    buffer_store_b96 v[0:2], off, s[0:3], 0521; GFX11-NEXT:    s_setpc_b64 s[30:31]522  store <3 x i32> %arg0, ptr addrspace(1) poison523  ret void524}525 526define void @void_func_v4i32(<4 x i32> %arg0) #0 {527; CIGFX89-LABEL: void_func_v4i32:528; CIGFX89:       ; %bb.0:529; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)530; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000531; CIGFX89-NEXT:    s_mov_b32 s6, -1532; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 0533; CIGFX89-NEXT:    s_waitcnt vmcnt(0)534; CIGFX89-NEXT:    s_setpc_b64 s[30:31]535;536; GFX11-LABEL: void_func_v4i32:537; GFX11:       ; %bb.0:538; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)539; GFX11-NEXT:    s_mov_b32 s3, 0x31016000540; GFX11-NEXT:    s_mov_b32 s2, -1541; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0542; GFX11-NEXT:    s_setpc_b64 s[30:31]543  store <4 x i32> %arg0, ptr addrspace(1) poison544  ret void545}546 547define void @void_func_v5i32(<5 x i32> %arg0) #0 {548; CIGFX89-LABEL: void_func_v5i32:549; CIGFX89:       ; %bb.0:550; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)551; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000552; CIGFX89-NEXT:    s_mov_b32 s6, -1553; CIGFX89-NEXT:    buffer_store_dword v4, off, s[4:7], 0554; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 0555; CIGFX89-NEXT:    s_waitcnt vmcnt(0)556; CIGFX89-NEXT:    s_setpc_b64 s[30:31]557;558; GFX11-LABEL: void_func_v5i32:559; GFX11:       ; %bb.0:560; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)561; GFX11-NEXT:    s_mov_b32 s3, 0x31016000562; GFX11-NEXT:    s_mov_b32 s2, -1563; GFX11-NEXT:    s_clause 0x1564; GFX11-NEXT:    buffer_store_b32 v4, off, s[0:3], 0565; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0566; GFX11-NEXT:    s_setpc_b64 s[30:31]567  store <5 x i32> %arg0, ptr addrspace(1) poison568  ret void569}570 571define void @void_func_v8i32(<8 x i32> %arg0) #0 {572; CIGFX89-LABEL: void_func_v8i32:573; CIGFX89:       ; %bb.0:574; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)575; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000576; CIGFX89-NEXT:    s_mov_b32 s6, -1577; CIGFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 0578; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 0579; CIGFX89-NEXT:    s_waitcnt vmcnt(0)580; CIGFX89-NEXT:    s_setpc_b64 s[30:31]581;582; GFX11-LABEL: void_func_v8i32:583; GFX11:       ; %bb.0:584; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)585; GFX11-NEXT:    s_mov_b32 s3, 0x31016000586; GFX11-NEXT:    s_mov_b32 s2, -1587; GFX11-NEXT:    s_clause 0x1588; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0589; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0590; GFX11-NEXT:    s_setpc_b64 s[30:31]591  store <8 x i32> %arg0, ptr addrspace(1) poison592  ret void593}594 595define void @void_func_v16i32(<16 x i32> %arg0) #0 {596; CIGFX89-LABEL: void_func_v16i32:597; CIGFX89:       ; %bb.0:598; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)599; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000600; CIGFX89-NEXT:    s_mov_b32 s6, -1601; CIGFX89-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 0602; CIGFX89-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 0603; CIGFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 0604; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 0605; CIGFX89-NEXT:    s_waitcnt vmcnt(0)606; CIGFX89-NEXT:    s_setpc_b64 s[30:31]607;608; GFX11-LABEL: void_func_v16i32:609; GFX11:       ; %bb.0:610; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)611; GFX11-NEXT:    s_mov_b32 s3, 0x31016000612; GFX11-NEXT:    s_mov_b32 s2, -1613; GFX11-NEXT:    s_clause 0x3614; GFX11-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 0615; GFX11-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 0616; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0617; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0618; GFX11-NEXT:    s_setpc_b64 s[30:31]619  store <16 x i32> %arg0, ptr addrspace(1) poison620  ret void621}622 623define void @void_func_v32i32(<32 x i32> %arg0) #0 {624; CIGFX89-LABEL: void_func_v32i32:625; CIGFX89:       ; %bb.0:626; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)627; CIGFX89-NEXT:    buffer_load_dword v31, off, s[0:3], s32628; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000629; CIGFX89-NEXT:    s_mov_b32 s6, -1630; CIGFX89-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 0631; CIGFX89-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 0632; CIGFX89-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 0633; CIGFX89-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 0634; CIGFX89-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 0635; CIGFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 0636; CIGFX89-NEXT:    s_waitcnt vmcnt(6)637; CIGFX89-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 0638; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 0639; CIGFX89-NEXT:    s_waitcnt vmcnt(0)640; CIGFX89-NEXT:    s_setpc_b64 s[30:31]641;642; GFX11-LABEL: void_func_v32i32:643; GFX11:       ; %bb.0:644; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)645; GFX11-NEXT:    scratch_load_b32 v31, off, s32646; GFX11-NEXT:    s_mov_b32 s3, 0x31016000647; GFX11-NEXT:    s_mov_b32 s2, -1648; GFX11-NEXT:    s_clause 0x3649; GFX11-NEXT:    buffer_store_b128 v[20:23], off, s[0:3], 0650; GFX11-NEXT:    buffer_store_b128 v[16:19], off, s[0:3], 0651; GFX11-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 0652; GFX11-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 0653; GFX11-NEXT:    s_waitcnt vmcnt(0)654; GFX11-NEXT:    s_clause 0x3655; GFX11-NEXT:    buffer_store_b128 v[28:31], off, s[0:3], 0656; GFX11-NEXT:    buffer_store_b128 v[24:27], off, s[0:3], 0657; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0658; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0659; GFX11-NEXT:    s_setpc_b64 s[30:31]660  store <32 x i32> %arg0, ptr addrspace(1) poison661  ret void662}663 664; 1 over register limit665define void @void_func_v33i32(<33 x i32> %arg0) #0 {666; CI-LABEL: void_func_v33i32:667; CI:       ; %bb.0:668; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)669; CI-NEXT:    s_mov_b32 s7, 0xf000670; CI-NEXT:    s_mov_b32 s6, -1671; CI-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 0672; CI-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 0673; CI-NEXT:    buffer_load_dword v31, off, s[0:3], s32674; CI-NEXT:    buffer_load_dword v20, off, s[0:3], s32 offset:4675; CI-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 0676; CI-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 0677; CI-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 0678; CI-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 0679; CI-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 0680; CI-NEXT:    s_waitcnt vmcnt(6)681; CI-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 0682; CI-NEXT:    s_waitcnt vmcnt(6)683; CI-NEXT:    buffer_store_dword v20, off, s[4:7], 0684; CI-NEXT:    s_waitcnt vmcnt(0)685; CI-NEXT:    s_setpc_b64 s[30:31]686;687; VI-LABEL: void_func_v33i32:688; VI:       ; %bb.0:689; VI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)690; VI-NEXT:    s_mov_b32 s7, 0xf000691; VI-NEXT:    s_mov_b32 s6, -1692; VI-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 0693; VI-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 0694; VI-NEXT:    buffer_load_dword v31, off, s[0:3], s32695; VI-NEXT:    buffer_load_dword v20, off, s[0:3], s32 offset:4696; VI-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 0697; VI-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 0698; VI-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 0699; VI-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 0700; VI-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 0701; VI-NEXT:    s_waitcnt vmcnt(6)702; VI-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 0703; VI-NEXT:    s_waitcnt vmcnt(6)704; VI-NEXT:    buffer_store_dword v20, off, s[4:7], 0705; VI-NEXT:    s_waitcnt vmcnt(0)706; VI-NEXT:    s_setpc_b64 s[30:31]707;708; GFX9-LABEL: void_func_v33i32:709; GFX9:       ; %bb.0:710; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)711; GFX9-NEXT:    s_mov_b32 s7, 0xf000712; GFX9-NEXT:    s_mov_b32 s6, -1713; GFX9-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 0714; GFX9-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 0715; GFX9-NEXT:    buffer_load_dword v31, off, s[0:3], s32716; GFX9-NEXT:    s_nop 0717; GFX9-NEXT:    buffer_load_dword v20, off, s[0:3], s32 offset:4718; GFX9-NEXT:    s_nop 0719; GFX9-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 0720; GFX9-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 0721; GFX9-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 0722; GFX9-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 0723; GFX9-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 0724; GFX9-NEXT:    s_waitcnt vmcnt(6)725; GFX9-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 0726; GFX9-NEXT:    s_waitcnt vmcnt(6)727; GFX9-NEXT:    buffer_store_dword v20, off, s[4:7], 0728; GFX9-NEXT:    s_waitcnt vmcnt(0)729; GFX9-NEXT:    s_setpc_b64 s[30:31]730;731; GFX11-LABEL: void_func_v33i32:732; GFX11:       ; %bb.0:733; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)734; GFX11-NEXT:    s_clause 0x1735; GFX11-NEXT:    scratch_load_b32 v31, off, s32736; GFX11-NEXT:    scratch_load_b32 v32, off, s32 offset:4737; GFX11-NEXT:    s_mov_b32 s3, 0x31016000738; GFX11-NEXT:    s_mov_b32 s2, -1739; GFX11-NEXT:    s_clause 0x5740; GFX11-NEXT:    buffer_store_b128 v[20:23], off, s[0:3], 0741; GFX11-NEXT:    buffer_store_b128 v[16:19], off, s[0:3], 0742; GFX11-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 0743; GFX11-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 0744; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0745; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0746; GFX11-NEXT:    s_waitcnt vmcnt(1)747; GFX11-NEXT:    s_clause 0x1748; GFX11-NEXT:    buffer_store_b128 v[28:31], off, s[0:3], 0749; GFX11-NEXT:    buffer_store_b128 v[24:27], off, s[0:3], 0750; GFX11-NEXT:    s_waitcnt vmcnt(0)751; GFX11-NEXT:    buffer_store_b32 v32, off, s[0:3], 0752; GFX11-NEXT:    s_setpc_b64 s[30:31]753  store <33 x i32> %arg0, ptr addrspace(1) poison754  ret void755}756 757define void @void_func_v2i64(<2 x i64> %arg0) #0 {758; CIGFX89-LABEL: void_func_v2i64:759; CIGFX89:       ; %bb.0:760; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)761; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000762; CIGFX89-NEXT:    s_mov_b32 s6, -1763; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 0764; CIGFX89-NEXT:    s_waitcnt vmcnt(0)765; CIGFX89-NEXT:    s_setpc_b64 s[30:31]766;767; GFX11-LABEL: void_func_v2i64:768; GFX11:       ; %bb.0:769; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)770; GFX11-NEXT:    s_mov_b32 s3, 0x31016000771; GFX11-NEXT:    s_mov_b32 s2, -1772; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0773; GFX11-NEXT:    s_setpc_b64 s[30:31]774  store <2 x i64> %arg0, ptr addrspace(1) poison775  ret void776}777 778define void @void_func_v3i64(<3 x i64> %arg0) #0 {779; CIGFX89-LABEL: void_func_v3i64:780; CIGFX89:       ; %bb.0:781; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)782; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000783; CIGFX89-NEXT:    s_mov_b32 s6, -1784; CIGFX89-NEXT:    buffer_store_dwordx2 v[4:5], off, s[4:7], 0785; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 0786; CIGFX89-NEXT:    s_waitcnt vmcnt(0)787; CIGFX89-NEXT:    s_setpc_b64 s[30:31]788;789; GFX11-LABEL: void_func_v3i64:790; GFX11:       ; %bb.0:791; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)792; GFX11-NEXT:    s_mov_b32 s3, 0x31016000793; GFX11-NEXT:    s_mov_b32 s2, -1794; GFX11-NEXT:    s_clause 0x1795; GFX11-NEXT:    buffer_store_b64 v[4:5], off, s[0:3], 0796; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0797; GFX11-NEXT:    s_setpc_b64 s[30:31]798  store <3 x i64> %arg0, ptr addrspace(1) poison799  ret void800}801 802define void @void_func_v4i64(<4 x i64> %arg0) #0 {803; CIGFX89-LABEL: void_func_v4i64:804; CIGFX89:       ; %bb.0:805; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)806; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000807; CIGFX89-NEXT:    s_mov_b32 s6, -1808; CIGFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 0809; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 0810; CIGFX89-NEXT:    s_waitcnt vmcnt(0)811; CIGFX89-NEXT:    s_setpc_b64 s[30:31]812;813; GFX11-LABEL: void_func_v4i64:814; GFX11:       ; %bb.0:815; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)816; GFX11-NEXT:    s_mov_b32 s3, 0x31016000817; GFX11-NEXT:    s_mov_b32 s2, -1818; GFX11-NEXT:    s_clause 0x1819; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0820; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0821; GFX11-NEXT:    s_setpc_b64 s[30:31]822  store <4 x i64> %arg0, ptr addrspace(1) poison823  ret void824}825 826define void @void_func_v5i64(<5 x i64> %arg0) #0 {827; CIGFX89-LABEL: void_func_v5i64:828; CIGFX89:       ; %bb.0:829; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)830; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000831; CIGFX89-NEXT:    s_mov_b32 s6, -1832; CIGFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 0833; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 0834; CIGFX89-NEXT:    buffer_store_dwordx2 v[8:9], off, s[4:7], 0835; CIGFX89-NEXT:    s_waitcnt vmcnt(0)836; CIGFX89-NEXT:    s_setpc_b64 s[30:31]837;838; GFX11-LABEL: void_func_v5i64:839; GFX11:       ; %bb.0:840; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)841; GFX11-NEXT:    s_mov_b32 s3, 0x31016000842; GFX11-NEXT:    s_mov_b32 s2, -1843; GFX11-NEXT:    s_clause 0x2844; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0845; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0846; GFX11-NEXT:    buffer_store_b64 v[8:9], off, s[0:3], 0847; GFX11-NEXT:    s_setpc_b64 s[30:31]848  store <5 x i64> %arg0, ptr addrspace(1) poison849  ret void850}851 852define void @void_func_v8i64(<8 x i64> %arg0) #0 {853; CIGFX89-LABEL: void_func_v8i64:854; CIGFX89:       ; %bb.0:855; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)856; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000857; CIGFX89-NEXT:    s_mov_b32 s6, -1858; CIGFX89-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 0859; CIGFX89-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 0860; CIGFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 0861; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 0862; CIGFX89-NEXT:    s_waitcnt vmcnt(0)863; CIGFX89-NEXT:    s_setpc_b64 s[30:31]864;865; GFX11-LABEL: void_func_v8i64:866; GFX11:       ; %bb.0:867; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)868; GFX11-NEXT:    s_mov_b32 s3, 0x31016000869; GFX11-NEXT:    s_mov_b32 s2, -1870; GFX11-NEXT:    s_clause 0x3871; GFX11-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 0872; GFX11-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 0873; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0874; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0875; GFX11-NEXT:    s_setpc_b64 s[30:31]876  store <8 x i64> %arg0, ptr addrspace(1) poison877  ret void878}879 880define void @void_func_v16i64(<16 x i64> %arg0) #0 {881; CIGFX89-LABEL: void_func_v16i64:882; CIGFX89:       ; %bb.0:883; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)884; CIGFX89-NEXT:    buffer_load_dword v31, off, s[0:3], s32885; CIGFX89-NEXT:    s_mov_b32 s7, 0xf000886; CIGFX89-NEXT:    s_mov_b32 s6, -1887; CIGFX89-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 0888; CIGFX89-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 0889; CIGFX89-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 0890; CIGFX89-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 0891; CIGFX89-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 0892; CIGFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 0893; CIGFX89-NEXT:    s_waitcnt vmcnt(6)894; CIGFX89-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 0895; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 0896; CIGFX89-NEXT:    s_waitcnt vmcnt(0)897; CIGFX89-NEXT:    s_setpc_b64 s[30:31]898;899; GFX11-LABEL: void_func_v16i64:900; GFX11:       ; %bb.0:901; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)902; GFX11-NEXT:    scratch_load_b32 v31, off, s32903; GFX11-NEXT:    s_mov_b32 s3, 0x31016000904; GFX11-NEXT:    s_mov_b32 s2, -1905; GFX11-NEXT:    s_clause 0x3906; GFX11-NEXT:    buffer_store_b128 v[20:23], off, s[0:3], 0907; GFX11-NEXT:    buffer_store_b128 v[16:19], off, s[0:3], 0908; GFX11-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 0909; GFX11-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 0910; GFX11-NEXT:    s_waitcnt vmcnt(0)911; GFX11-NEXT:    s_clause 0x3912; GFX11-NEXT:    buffer_store_b128 v[28:31], off, s[0:3], 0913; GFX11-NEXT:    buffer_store_b128 v[24:27], off, s[0:3], 0914; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0915; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0916; GFX11-NEXT:    s_setpc_b64 s[30:31]917  store <16 x i64> %arg0, ptr addrspace(1) poison918  ret void919}920 921define void @void_func_v2i8(<2 x i8> %arg0) #0 {922; CI-LABEL: void_func_v2i8:923; CI:       ; %bb.0:924; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)925; CI-NEXT:    v_lshlrev_b32_e32 v1, 8, v1926; CI-NEXT:    v_and_b32_e32 v0, 0xff, v0927; CI-NEXT:    v_or_b32_e32 v0, v0, v1928; CI-NEXT:    s_mov_b64 s[4:5], 0929; CI-NEXT:    s_mov_b32 s7, 0xf000930; CI-NEXT:    s_mov_b32 s6, -1931; CI-NEXT:    buffer_store_short v0, off, s[4:7], 0932; CI-NEXT:    s_waitcnt vmcnt(0)933; CI-NEXT:    s_setpc_b64 s[30:31]934;935; GFX89-LABEL: void_func_v2i8:936; GFX89:       ; %bb.0:937; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)938; GFX89-NEXT:    v_lshlrev_b16_e32 v1, 8, v1939; GFX89-NEXT:    v_or_b32_sdwa v0, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD940; GFX89-NEXT:    s_mov_b64 s[4:5], 0941; GFX89-NEXT:    s_mov_b32 s7, 0xf000942; GFX89-NEXT:    s_mov_b32 s6, -1943; GFX89-NEXT:    buffer_store_short v0, off, s[4:7], 0944; GFX89-NEXT:    s_waitcnt vmcnt(0)945; GFX89-NEXT:    s_setpc_b64 s[30:31]946;947; GFX11-TRUE16-LABEL: void_func_v2i8:948; GFX11-TRUE16:       ; %bb.0:949; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)950; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v0.h, 8, v1.l951; GFX11-TRUE16-NEXT:    v_and_b16 v0.l, 0xff, v0.l952; GFX11-TRUE16-NEXT:    s_mov_b64 s[0:1], 0953; GFX11-TRUE16-NEXT:    s_mov_b32 s3, 0x31016000954; GFX11-TRUE16-NEXT:    s_mov_b32 s2, -1955; GFX11-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)956; GFX11-TRUE16-NEXT:    v_or_b16 v0.l, v0.l, v0.h957; GFX11-TRUE16-NEXT:    buffer_store_b16 v0, off, s[0:3], 0958; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]959;960; GFX11-FAKE16-LABEL: void_func_v2i8:961; GFX11-FAKE16:       ; %bb.0:962; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)963; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v1, 8, v1964; GFX11-FAKE16-NEXT:    v_and_b32_e32 v0, 0xff, v0965; GFX11-FAKE16-NEXT:    s_mov_b64 s[0:1], 0966; GFX11-FAKE16-NEXT:    s_mov_b32 s3, 0x31016000967; GFX11-FAKE16-NEXT:    s_mov_b32 s2, -1968; GFX11-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)969; GFX11-FAKE16-NEXT:    v_or_b32_e32 v0, v0, v1970; GFX11-FAKE16-NEXT:    buffer_store_b16 v0, off, s[0:3], 0971; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]972  store <2 x i8> %arg0, ptr addrspace(1) null973  ret void974}975 976define void @void_func_v2i16(<2 x i16> %arg0) #0 {977; CI-LABEL: void_func_v2i16:978; CI:       ; %bb.0:979; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)980; CI-NEXT:    v_lshlrev_b32_e32 v1, 16, v1981; CI-NEXT:    v_and_b32_e32 v0, 0xffff, v0982; CI-NEXT:    v_or_b32_e32 v0, v0, v1983; CI-NEXT:    s_mov_b32 s7, 0xf000984; CI-NEXT:    s_mov_b32 s6, -1985; CI-NEXT:    buffer_store_dword v0, off, s[4:7], 0986; CI-NEXT:    s_waitcnt vmcnt(0)987; CI-NEXT:    s_setpc_b64 s[30:31]988;989; GFX89-LABEL: void_func_v2i16:990; GFX89:       ; %bb.0:991; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)992; GFX89-NEXT:    s_mov_b32 s7, 0xf000993; GFX89-NEXT:    s_mov_b32 s6, -1994; GFX89-NEXT:    buffer_store_dword v0, off, s[4:7], 0995; GFX89-NEXT:    s_waitcnt vmcnt(0)996; GFX89-NEXT:    s_setpc_b64 s[30:31]997;998; GFX11-LABEL: void_func_v2i16:999; GFX11:       ; %bb.0:1000; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1001; GFX11-NEXT:    s_mov_b32 s3, 0x310160001002; GFX11-NEXT:    s_mov_b32 s2, -11003; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 01004; GFX11-NEXT:    s_setpc_b64 s[30:31]1005  store <2 x i16> %arg0, ptr addrspace(1) poison1006  ret void1007}1008 1009define void @void_func_v3i8(<3 x i8> %arg0) #0 {1010; CI-LABEL: void_func_v3i8:1011; CI:       ; %bb.0:1012; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1013; CI-NEXT:    v_lshlrev_b32_e32 v1, 8, v11014; CI-NEXT:    v_and_b32_e32 v0, 0xff, v01015; CI-NEXT:    s_mov_b64 s[4:5], 21016; CI-NEXT:    s_mov_b32 s7, 0xf0001017; CI-NEXT:    s_mov_b32 s6, -11018; CI-NEXT:    v_or_b32_e32 v0, v0, v11019; CI-NEXT:    buffer_store_byte v2, off, s[4:7], 01020; CI-NEXT:    s_mov_b64 s[4:5], 01021; CI-NEXT:    buffer_store_short v0, off, s[4:7], 01022; CI-NEXT:    s_waitcnt vmcnt(0)1023; CI-NEXT:    s_setpc_b64 s[30:31]1024;1025; GFX89-LABEL: void_func_v3i8:1026; GFX89:       ; %bb.0:1027; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1028; GFX89-NEXT:    v_lshlrev_b16_e32 v1, 8, v11029; GFX89-NEXT:    s_mov_b64 s[4:5], 21030; GFX89-NEXT:    s_mov_b32 s7, 0xf0001031; GFX89-NEXT:    s_mov_b32 s6, -11032; GFX89-NEXT:    v_or_b32_sdwa v0, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1033; GFX89-NEXT:    buffer_store_byte v2, off, s[4:7], 01034; GFX89-NEXT:    s_mov_b64 s[4:5], 01035; GFX89-NEXT:    buffer_store_short v0, off, s[4:7], 01036; GFX89-NEXT:    s_waitcnt vmcnt(0)1037; GFX89-NEXT:    s_setpc_b64 s[30:31]1038;1039; GFX11-TRUE16-LABEL: void_func_v3i8:1040; GFX11-TRUE16:       ; %bb.0:1041; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1042; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v0.h, 8, v1.l1043; GFX11-TRUE16-NEXT:    v_and_b16 v0.l, 0xff, v0.l1044; GFX11-TRUE16-NEXT:    s_mov_b64 s[0:1], 21045; GFX11-TRUE16-NEXT:    s_mov_b32 s3, 0x310160001046; GFX11-TRUE16-NEXT:    s_mov_b32 s2, -11047; GFX11-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)1048; GFX11-TRUE16-NEXT:    v_or_b16 v0.l, v0.l, v0.h1049; GFX11-TRUE16-NEXT:    buffer_store_b8 v2, off, s[0:3], 01050; GFX11-TRUE16-NEXT:    s_mov_b64 s[0:1], 01051; GFX11-TRUE16-NEXT:    buffer_store_b16 v0, off, s[0:3], 01052; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]1053;1054; GFX11-FAKE16-LABEL: void_func_v3i8:1055; GFX11-FAKE16:       ; %bb.0:1056; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1057; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v1, 8, v11058; GFX11-FAKE16-NEXT:    v_and_b32_e32 v0, 0xff, v01059; GFX11-FAKE16-NEXT:    s_mov_b64 s[0:1], 21060; GFX11-FAKE16-NEXT:    s_mov_b32 s3, 0x310160001061; GFX11-FAKE16-NEXT:    s_mov_b32 s2, -11062; GFX11-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)1063; GFX11-FAKE16-NEXT:    v_or_b32_e32 v0, v0, v11064; GFX11-FAKE16-NEXT:    buffer_store_b8 v2, off, s[0:3], 01065; GFX11-FAKE16-NEXT:    s_mov_b64 s[0:1], 01066; GFX11-FAKE16-NEXT:    buffer_store_b16 v0, off, s[0:3], 01067; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]1068  store <3 x i8> %arg0, ptr addrspace(1) null1069  ret void1070}1071 1072define void @void_func_v4i8(<4 x i8> %arg0) #0 {1073; CI-LABEL: void_func_v4i8:1074; CI:       ; %bb.0:1075; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1076; CI-NEXT:    v_and_b32_e32 v2, 0xff, v21077; CI-NEXT:    v_lshlrev_b32_e32 v1, 8, v11078; CI-NEXT:    v_and_b32_e32 v0, 0xff, v01079; CI-NEXT:    v_lshlrev_b32_e32 v3, 24, v31080; CI-NEXT:    v_lshlrev_b32_e32 v2, 16, v21081; CI-NEXT:    v_or_b32_e32 v0, v0, v11082; CI-NEXT:    v_or_b32_e32 v2, v3, v21083; CI-NEXT:    v_and_b32_e32 v0, 0xffff, v01084; CI-NEXT:    v_or_b32_e32 v0, v0, v21085; CI-NEXT:    s_mov_b64 s[4:5], 01086; CI-NEXT:    s_mov_b32 s7, 0xf0001087; CI-NEXT:    s_mov_b32 s6, -11088; CI-NEXT:    buffer_store_dword v0, off, s[4:7], 01089; CI-NEXT:    s_waitcnt vmcnt(0)1090; CI-NEXT:    s_setpc_b64 s[30:31]1091;1092; GFX89-LABEL: void_func_v4i8:1093; GFX89:       ; %bb.0:1094; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1095; GFX89-NEXT:    v_lshlrev_b16_e32 v1, 8, v11096; GFX89-NEXT:    v_or_b32_sdwa v0, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1097; GFX89-NEXT:    v_lshlrev_b16_e32 v1, 8, v31098; GFX89-NEXT:    v_or_b32_sdwa v1, v2, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1099; GFX89-NEXT:    v_or_b32_sdwa v0, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD1100; GFX89-NEXT:    s_mov_b64 s[4:5], 01101; GFX89-NEXT:    s_mov_b32 s7, 0xf0001102; GFX89-NEXT:    s_mov_b32 s6, -11103; GFX89-NEXT:    buffer_store_dword v0, off, s[4:7], 01104; GFX89-NEXT:    s_waitcnt vmcnt(0)1105; GFX89-NEXT:    s_setpc_b64 s[30:31]1106;1107; GFX11-TRUE16-LABEL: void_func_v4i8:1108; GFX11-TRUE16:       ; %bb.0:1109; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1110; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v0.h, 8, v3.l1111; GFX11-TRUE16-NEXT:    v_and_b16 v1.h, 0xff, v2.l1112; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v1.l, 8, v1.l1113; GFX11-TRUE16-NEXT:    v_and_b16 v0.l, 0xff, v0.l1114; GFX11-TRUE16-NEXT:    s_mov_b64 s[0:1], 01115; GFX11-TRUE16-NEXT:    s_mov_b32 s3, 0x310160001116; GFX11-TRUE16-NEXT:    v_or_b16 v0.h, v1.h, v0.h1117; GFX11-TRUE16-NEXT:    s_mov_b32 s2, -11118; GFX11-TRUE16-NEXT:    v_or_b16 v0.l, v0.l, v1.l1119; GFX11-TRUE16-NEXT:    buffer_store_b32 v0, off, s[0:3], 01120; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]1121;1122; GFX11-FAKE16-LABEL: void_func_v4i8:1123; GFX11-FAKE16:       ; %bb.0:1124; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1125; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v1, 8, v11126; GFX11-FAKE16-NEXT:    v_and_b32_e32 v0, 0xff, v01127; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v3, 8, v31128; GFX11-FAKE16-NEXT:    v_and_b32_e32 v2, 0xff, v21129; GFX11-FAKE16-NEXT:    s_mov_b64 s[0:1], 01130; GFX11-FAKE16-NEXT:    s_mov_b32 s3, 0x310160001131; GFX11-FAKE16-NEXT:    v_or_b32_e32 v0, v0, v11132; GFX11-FAKE16-NEXT:    s_mov_b32 s2, -11133; GFX11-FAKE16-NEXT:    v_or_b32_e32 v1, v2, v31134; GFX11-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)1135; GFX11-FAKE16-NEXT:    v_and_b32_e32 v0, 0xffff, v01136; GFX11-FAKE16-NEXT:    v_lshlrev_b32_e32 v1, 16, v11137; GFX11-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)1138; GFX11-FAKE16-NEXT:    v_or_b32_e32 v0, v0, v11139; GFX11-FAKE16-NEXT:    buffer_store_b32 v0, off, s[0:3], 01140; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]1141  store <4 x i8> %arg0, ptr addrspace(1) null1142  ret void1143}1144 1145define void @void_func_v5i8(<5 x i8> %arg0) #0 {1146; CI-LABEL: void_func_v5i8:1147; CI:       ; %bb.0:1148; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1149; CI-NEXT:    v_and_b32_e32 v2, 0xff, v21150; CI-NEXT:    v_lshlrev_b32_e32 v1, 8, v11151; CI-NEXT:    v_and_b32_e32 v0, 0xff, v01152; CI-NEXT:    v_lshlrev_b32_e32 v3, 24, v31153; CI-NEXT:    v_lshlrev_b32_e32 v2, 16, v21154; CI-NEXT:    v_or_b32_e32 v0, v0, v11155; CI-NEXT:    v_or_b32_e32 v2, v3, v21156; CI-NEXT:    v_and_b32_e32 v0, 0xffff, v01157; CI-NEXT:    s_mov_b64 s[4:5], 41158; CI-NEXT:    s_mov_b32 s7, 0xf0001159; CI-NEXT:    s_mov_b32 s6, -11160; CI-NEXT:    v_or_b32_e32 v0, v0, v21161; CI-NEXT:    buffer_store_byte v4, off, s[4:7], 01162; CI-NEXT:    s_mov_b64 s[4:5], 01163; CI-NEXT:    buffer_store_dword v0, off, s[4:7], 01164; CI-NEXT:    s_waitcnt vmcnt(0)1165; CI-NEXT:    s_setpc_b64 s[30:31]1166;1167; GFX89-LABEL: void_func_v5i8:1168; GFX89:       ; %bb.0:1169; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1170; GFX89-NEXT:    v_lshlrev_b16_e32 v1, 8, v11171; GFX89-NEXT:    v_or_b32_sdwa v0, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1172; GFX89-NEXT:    v_lshlrev_b16_e32 v1, 8, v31173; GFX89-NEXT:    v_or_b32_sdwa v1, v2, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1174; GFX89-NEXT:    s_mov_b64 s[4:5], 41175; GFX89-NEXT:    s_mov_b32 s7, 0xf0001176; GFX89-NEXT:    s_mov_b32 s6, -11177; GFX89-NEXT:    v_or_b32_sdwa v0, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD1178; GFX89-NEXT:    buffer_store_byte v4, off, s[4:7], 01179; GFX89-NEXT:    s_mov_b64 s[4:5], 01180; GFX89-NEXT:    buffer_store_dword v0, off, s[4:7], 01181; GFX89-NEXT:    s_waitcnt vmcnt(0)1182; GFX89-NEXT:    s_setpc_b64 s[30:31]1183;1184; GFX11-TRUE16-LABEL: void_func_v5i8:1185; GFX11-TRUE16:       ; %bb.0:1186; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1187; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v0.h, 8, v3.l1188; GFX11-TRUE16-NEXT:    v_and_b16 v1.h, 0xff, v2.l1189; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v1.l, 8, v1.l1190; GFX11-TRUE16-NEXT:    v_and_b16 v0.l, 0xff, v0.l1191; GFX11-TRUE16-NEXT:    s_mov_b64 s[0:1], 41192; GFX11-TRUE16-NEXT:    s_mov_b32 s3, 0x310160001193; GFX11-TRUE16-NEXT:    v_or_b16 v0.h, v1.h, v0.h1194; GFX11-TRUE16-NEXT:    s_mov_b32 s2, -11195; GFX11-TRUE16-NEXT:    v_or_b16 v0.l, v0.l, v1.l1196; GFX11-TRUE16-NEXT:    buffer_store_b8 v4, off, s[0:3], 01197; GFX11-TRUE16-NEXT:    s_mov_b64 s[0:1], 01198; GFX11-TRUE16-NEXT:    buffer_store_b32 v0, off, s[0:3], 01199; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]1200;1201; GFX11-FAKE16-LABEL: void_func_v5i8:1202; GFX11-FAKE16:       ; %bb.0:1203; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1204; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v1, 8, v11205; GFX11-FAKE16-NEXT:    v_and_b32_e32 v0, 0xff, v01206; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v3, 8, v31207; GFX11-FAKE16-NEXT:    v_and_b32_e32 v2, 0xff, v21208; GFX11-FAKE16-NEXT:    s_mov_b64 s[0:1], 41209; GFX11-FAKE16-NEXT:    s_mov_b32 s3, 0x310160001210; GFX11-FAKE16-NEXT:    v_or_b32_e32 v0, v0, v11211; GFX11-FAKE16-NEXT:    s_mov_b32 s2, -11212; GFX11-FAKE16-NEXT:    v_or_b32_e32 v1, v2, v31213; GFX11-FAKE16-NEXT:    buffer_store_b8 v4, off, s[0:3], 01214; GFX11-FAKE16-NEXT:    s_mov_b64 s[0:1], 01215; GFX11-FAKE16-NEXT:    v_and_b32_e32 v0, 0xffff, v01216; GFX11-FAKE16-NEXT:    v_lshlrev_b32_e32 v1, 16, v11217; GFX11-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)1218; GFX11-FAKE16-NEXT:    v_or_b32_e32 v0, v0, v11219; GFX11-FAKE16-NEXT:    buffer_store_b32 v0, off, s[0:3], 01220; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]1221  store <5 x i8> %arg0, ptr addrspace(1) null1222  ret void1223}1224 1225define void @void_func_v8i8(<8 x i8> %arg0) #0 {1226; CI-LABEL: void_func_v8i8:1227; CI:       ; %bb.0:1228; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1229; CI-NEXT:    v_and_b32_e32 v6, 0xff, v61230; CI-NEXT:    v_lshlrev_b32_e32 v5, 8, v51231; CI-NEXT:    v_and_b32_e32 v4, 0xff, v41232; CI-NEXT:    v_and_b32_e32 v2, 0xff, v21233; CI-NEXT:    v_lshlrev_b32_e32 v1, 8, v11234; CI-NEXT:    v_and_b32_e32 v0, 0xff, v01235; CI-NEXT:    v_lshlrev_b32_e32 v7, 24, v71236; CI-NEXT:    v_lshlrev_b32_e32 v6, 16, v61237; CI-NEXT:    v_or_b32_e32 v4, v4, v51238; CI-NEXT:    v_lshlrev_b32_e32 v3, 24, v31239; CI-NEXT:    v_lshlrev_b32_e32 v2, 16, v21240; CI-NEXT:    v_or_b32_e32 v0, v0, v11241; CI-NEXT:    v_or_b32_e32 v6, v7, v61242; CI-NEXT:    v_and_b32_e32 v4, 0xffff, v41243; CI-NEXT:    v_or_b32_e32 v2, v3, v21244; CI-NEXT:    v_and_b32_e32 v0, 0xffff, v01245; CI-NEXT:    v_or_b32_e32 v4, v4, v61246; CI-NEXT:    v_or_b32_e32 v3, v0, v21247; CI-NEXT:    s_mov_b64 s[4:5], 01248; CI-NEXT:    s_mov_b32 s7, 0xf0001249; CI-NEXT:    s_mov_b32 s6, -11250; CI-NEXT:    buffer_store_dwordx2 v[3:4], off, s[4:7], 01251; CI-NEXT:    s_waitcnt vmcnt(0)1252; CI-NEXT:    s_setpc_b64 s[30:31]1253;1254; GFX89-LABEL: void_func_v8i8:1255; GFX89:       ; %bb.0:1256; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1257; GFX89-NEXT:    v_lshlrev_b16_e32 v5, 8, v51258; GFX89-NEXT:    v_lshlrev_b16_e32 v1, 8, v11259; GFX89-NEXT:    v_or_b32_sdwa v4, v4, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1260; GFX89-NEXT:    v_lshlrev_b16_e32 v5, 8, v71261; GFX89-NEXT:    v_or_b32_sdwa v0, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1262; GFX89-NEXT:    v_lshlrev_b16_e32 v1, 8, v31263; GFX89-NEXT:    v_or_b32_sdwa v5, v6, v5 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1264; GFX89-NEXT:    v_or_b32_sdwa v1, v2, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1265; GFX89-NEXT:    v_or_b32_sdwa v4, v4, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD1266; GFX89-NEXT:    v_or_b32_sdwa v3, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD1267; GFX89-NEXT:    s_mov_b64 s[4:5], 01268; GFX89-NEXT:    s_mov_b32 s7, 0xf0001269; GFX89-NEXT:    s_mov_b32 s6, -11270; GFX89-NEXT:    buffer_store_dwordx2 v[3:4], off, s[4:7], 01271; GFX89-NEXT:    s_waitcnt vmcnt(0)1272; GFX89-NEXT:    s_setpc_b64 s[30:31]1273;1274; GFX11-TRUE16-LABEL: void_func_v8i8:1275; GFX11-TRUE16:       ; %bb.0:1276; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1277; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v5.h, 8, v7.l1278; GFX11-TRUE16-NEXT:    v_and_b16 v6.l, 0xff, v6.l1279; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v5.l, 8, v5.l1280; GFX11-TRUE16-NEXT:    v_and_b16 v0.h, 0xff, v4.l1281; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v1.h, 8, v3.l1282; GFX11-TRUE16-NEXT:    v_and_b16 v2.l, 0xff, v2.l1283; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v1.l, 8, v1.l1284; GFX11-TRUE16-NEXT:    v_and_b16 v0.l, 0xff, v0.l1285; GFX11-TRUE16-NEXT:    v_or_b16 v3.h, v6.l, v5.h1286; GFX11-TRUE16-NEXT:    v_or_b16 v3.l, v0.h, v5.l1287; GFX11-TRUE16-NEXT:    v_or_b16 v2.h, v2.l, v1.h1288; GFX11-TRUE16-NEXT:    s_mov_b64 s[0:1], 01289; GFX11-TRUE16-NEXT:    v_or_b16 v2.l, v0.l, v1.l1290; GFX11-TRUE16-NEXT:    s_mov_b32 s3, 0x310160001291; GFX11-TRUE16-NEXT:    s_mov_b32 s2, -11292; GFX11-TRUE16-NEXT:    buffer_store_b64 v[2:3], off, s[0:3], 01293; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]1294;1295; GFX11-FAKE16-LABEL: void_func_v8i8:1296; GFX11-FAKE16:       ; %bb.0:1297; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1298; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v5, 8, v51299; GFX11-FAKE16-NEXT:    v_and_b32_e32 v4, 0xff, v41300; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v7, 8, v71301; GFX11-FAKE16-NEXT:    v_and_b32_e32 v6, 0xff, v61302; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v1, 8, v11303; GFX11-FAKE16-NEXT:    v_and_b32_e32 v0, 0xff, v01304; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v3, 8, v31305; GFX11-FAKE16-NEXT:    v_and_b32_e32 v2, 0xff, v21306; GFX11-FAKE16-NEXT:    v_or_b32_e32 v4, v4, v51307; GFX11-FAKE16-NEXT:    v_or_b32_e32 v5, v6, v71308; GFX11-FAKE16-NEXT:    v_or_b32_e32 v0, v0, v11309; GFX11-FAKE16-NEXT:    s_mov_b64 s[0:1], 01310; GFX11-FAKE16-NEXT:    v_or_b32_e32 v1, v2, v31311; GFX11-FAKE16-NEXT:    v_and_b32_e32 v2, 0xffff, v41312; GFX11-FAKE16-NEXT:    v_lshlrev_b32_e32 v3, 16, v51313; GFX11-FAKE16-NEXT:    v_and_b32_e32 v0, 0xffff, v01314; GFX11-FAKE16-NEXT:    s_mov_b32 s3, 0x310160001315; GFX11-FAKE16-NEXT:    v_lshlrev_b32_e32 v4, 16, v11316; GFX11-FAKE16-NEXT:    s_mov_b32 s2, -11317; GFX11-FAKE16-NEXT:    v_or_b32_e32 v1, v2, v31318; GFX11-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_2)1319; GFX11-FAKE16-NEXT:    v_or_b32_e32 v0, v0, v41320; GFX11-FAKE16-NEXT:    buffer_store_b64 v[0:1], off, s[0:3], 01321; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]1322  store <8 x i8> %arg0, ptr addrspace(1) null1323  ret void1324}1325 1326define void @void_func_v16i8(<16 x i8> %arg0) #0 {1327; CI-LABEL: void_func_v16i8:1328; CI:       ; %bb.0:1329; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1330; CI-NEXT:    v_and_b32_e32 v14, 0xff, v141331; CI-NEXT:    v_lshlrev_b32_e32 v13, 8, v131332; CI-NEXT:    v_and_b32_e32 v12, 0xff, v121333; CI-NEXT:    v_and_b32_e32 v10, 0xff, v101334; CI-NEXT:    v_lshlrev_b32_e32 v9, 8, v91335; CI-NEXT:    v_and_b32_e32 v8, 0xff, v81336; CI-NEXT:    v_and_b32_e32 v6, 0xff, v61337; CI-NEXT:    v_lshlrev_b32_e32 v5, 8, v51338; CI-NEXT:    v_and_b32_e32 v4, 0xff, v41339; CI-NEXT:    v_and_b32_e32 v2, 0xff, v21340; CI-NEXT:    v_lshlrev_b32_e32 v1, 8, v11341; CI-NEXT:    v_and_b32_e32 v0, 0xff, v01342; CI-NEXT:    v_lshlrev_b32_e32 v15, 24, v151343; CI-NEXT:    v_lshlrev_b32_e32 v14, 16, v141344; CI-NEXT:    v_or_b32_e32 v12, v12, v131345; CI-NEXT:    v_lshlrev_b32_e32 v11, 24, v111346; CI-NEXT:    v_lshlrev_b32_e32 v10, 16, v101347; CI-NEXT:    v_or_b32_e32 v8, v8, v91348; CI-NEXT:    v_lshlrev_b32_e32 v7, 24, v71349; CI-NEXT:    v_lshlrev_b32_e32 v6, 16, v61350; CI-NEXT:    v_or_b32_e32 v4, v4, v51351; CI-NEXT:    v_lshlrev_b32_e32 v3, 24, v31352; CI-NEXT:    v_lshlrev_b32_e32 v2, 16, v21353; CI-NEXT:    v_or_b32_e32 v0, v0, v11354; CI-NEXT:    v_or_b32_e32 v14, v15, v141355; CI-NEXT:    v_and_b32_e32 v12, 0xffff, v121356; CI-NEXT:    v_or_b32_e32 v10, v11, v101357; CI-NEXT:    v_and_b32_e32 v8, 0xffff, v81358; CI-NEXT:    v_or_b32_e32 v6, v7, v61359; CI-NEXT:    v_and_b32_e32 v4, 0xffff, v41360; CI-NEXT:    v_or_b32_e32 v2, v3, v21361; CI-NEXT:    v_and_b32_e32 v0, 0xffff, v01362; CI-NEXT:    v_or_b32_e32 v12, v12, v141363; CI-NEXT:    v_or_b32_e32 v11, v8, v101364; CI-NEXT:    v_or_b32_e32 v10, v4, v61365; CI-NEXT:    v_or_b32_e32 v9, v0, v21366; CI-NEXT:    s_mov_b64 s[4:5], 01367; CI-NEXT:    s_mov_b32 s7, 0xf0001368; CI-NEXT:    s_mov_b32 s6, -11369; CI-NEXT:    buffer_store_dwordx4 v[9:12], off, s[4:7], 01370; CI-NEXT:    s_waitcnt vmcnt(0)1371; CI-NEXT:    s_setpc_b64 s[30:31]1372;1373; GFX89-LABEL: void_func_v16i8:1374; GFX89:       ; %bb.0:1375; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1376; GFX89-NEXT:    v_lshlrev_b16_e32 v13, 8, v131377; GFX89-NEXT:    v_lshlrev_b16_e32 v9, 8, v91378; GFX89-NEXT:    v_lshlrev_b16_e32 v5, 8, v51379; GFX89-NEXT:    v_lshlrev_b16_e32 v1, 8, v11380; GFX89-NEXT:    v_or_b32_sdwa v12, v12, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1381; GFX89-NEXT:    v_lshlrev_b16_e32 v13, 8, v151382; GFX89-NEXT:    v_or_b32_sdwa v8, v8, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1383; GFX89-NEXT:    v_lshlrev_b16_e32 v9, 8, v111384; GFX89-NEXT:    v_or_b32_sdwa v4, v4, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1385; GFX89-NEXT:    v_lshlrev_b16_e32 v5, 8, v71386; GFX89-NEXT:    v_or_b32_sdwa v0, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1387; GFX89-NEXT:    v_lshlrev_b16_e32 v1, 8, v31388; GFX89-NEXT:    v_or_b32_sdwa v13, v14, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1389; GFX89-NEXT:    v_or_b32_sdwa v9, v10, v9 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1390; GFX89-NEXT:    v_or_b32_sdwa v5, v6, v5 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1391; GFX89-NEXT:    v_or_b32_sdwa v1, v2, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1392; GFX89-NEXT:    v_or_b32_sdwa v12, v12, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD1393; GFX89-NEXT:    v_or_b32_sdwa v11, v8, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD1394; GFX89-NEXT:    v_or_b32_sdwa v10, v4, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD1395; GFX89-NEXT:    v_or_b32_sdwa v9, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD1396; GFX89-NEXT:    s_mov_b64 s[4:5], 01397; GFX89-NEXT:    s_mov_b32 s7, 0xf0001398; GFX89-NEXT:    s_mov_b32 s6, -11399; GFX89-NEXT:    buffer_store_dwordx4 v[9:12], off, s[4:7], 01400; GFX89-NEXT:    s_waitcnt vmcnt(0)1401; GFX89-NEXT:    s_setpc_b64 s[30:31]1402;1403; GFX11-TRUE16-LABEL: void_func_v16i8:1404; GFX11-TRUE16:       ; %bb.0:1405; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1406; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v15.l, 8, v15.l1407; GFX11-TRUE16-NEXT:    v_and_b16 v10.h, 0xff, v14.l1408; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v12.h, 8, v13.l1409; GFX11-TRUE16-NEXT:    v_and_b16 v12.l, 0xff, v12.l1410; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v13.l, 8, v11.l1411; GFX11-TRUE16-NEXT:    v_and_b16 v10.l, 0xff, v10.l1412; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v5.h, 8, v9.l1413; GFX11-TRUE16-NEXT:    v_and_b16 v6.h, 0xff, v8.l1414; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v7.l, 8, v7.l1415; GFX11-TRUE16-NEXT:    v_and_b16 v6.l, 0xff, v6.l1416; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v5.l, 8, v5.l1417; GFX11-TRUE16-NEXT:    v_and_b16 v0.h, 0xff, v4.l1418; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v1.h, 8, v3.l1419; GFX11-TRUE16-NEXT:    v_and_b16 v2.l, 0xff, v2.l1420; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v1.l, 8, v1.l1421; GFX11-TRUE16-NEXT:    v_and_b16 v0.l, 0xff, v0.l1422; GFX11-TRUE16-NEXT:    v_or_b16 v11.h, v10.h, v15.l1423; GFX11-TRUE16-NEXT:    v_or_b16 v11.l, v12.l, v12.h1424; GFX11-TRUE16-NEXT:    v_or_b16 v10.h, v10.l, v13.l1425; GFX11-TRUE16-NEXT:    v_or_b16 v10.l, v6.h, v5.h1426; GFX11-TRUE16-NEXT:    v_or_b16 v9.h, v6.l, v7.l1427; GFX11-TRUE16-NEXT:    v_or_b16 v9.l, v0.h, v5.l1428; GFX11-TRUE16-NEXT:    v_or_b16 v8.h, v2.l, v1.h1429; GFX11-TRUE16-NEXT:    v_or_b16 v8.l, v0.l, v1.l1430; GFX11-TRUE16-NEXT:    s_mov_b64 s[0:1], 01431; GFX11-TRUE16-NEXT:    s_mov_b32 s3, 0x310160001432; GFX11-TRUE16-NEXT:    s_mov_b32 s2, -11433; GFX11-TRUE16-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 01434; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]1435;1436; GFX11-FAKE16-LABEL: void_func_v16i8:1437; GFX11-FAKE16:       ; %bb.0:1438; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1439; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v13, 8, v131440; GFX11-FAKE16-NEXT:    v_and_b32_e32 v12, 0xff, v121441; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v15, 8, v151442; GFX11-FAKE16-NEXT:    v_and_b32_e32 v14, 0xff, v141443; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v9, 8, v91444; GFX11-FAKE16-NEXT:    v_and_b32_e32 v8, 0xff, v81445; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v11, 8, v111446; GFX11-FAKE16-NEXT:    v_and_b32_e32 v10, 0xff, v101447; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v5, 8, v51448; GFX11-FAKE16-NEXT:    v_and_b32_e32 v4, 0xff, v41449; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v7, 8, v71450; GFX11-FAKE16-NEXT:    v_and_b32_e32 v6, 0xff, v61451; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v1, 8, v11452; GFX11-FAKE16-NEXT:    v_and_b32_e32 v0, 0xff, v01453; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v3, 8, v31454; GFX11-FAKE16-NEXT:    v_and_b32_e32 v2, 0xff, v21455; GFX11-FAKE16-NEXT:    v_or_b32_e32 v12, v12, v131456; GFX11-FAKE16-NEXT:    v_or_b32_e32 v13, v14, v151457; GFX11-FAKE16-NEXT:    v_or_b32_e32 v8, v8, v91458; GFX11-FAKE16-NEXT:    v_or_b32_e32 v10, v10, v111459; GFX11-FAKE16-NEXT:    v_or_b32_e32 v4, v4, v51460; GFX11-FAKE16-NEXT:    v_or_b32_e32 v5, v6, v71461; GFX11-FAKE16-NEXT:    v_or_b32_e32 v0, v0, v11462; GFX11-FAKE16-NEXT:    v_or_b32_e32 v1, v2, v31463; GFX11-FAKE16-NEXT:    v_and_b32_e32 v9, 0xffff, v121464; GFX11-FAKE16-NEXT:    v_lshlrev_b32_e32 v12, 16, v131465; GFX11-FAKE16-NEXT:    v_and_b32_e32 v8, 0xffff, v81466; GFX11-FAKE16-NEXT:    v_lshlrev_b32_e32 v2, 16, v101467; GFX11-FAKE16-NEXT:    v_and_b32_e32 v4, 0xffff, v41468; GFX11-FAKE16-NEXT:    v_lshlrev_b32_e32 v5, 16, v51469; GFX11-FAKE16-NEXT:    v_and_b32_e32 v0, 0xffff, v01470; GFX11-FAKE16-NEXT:    v_lshlrev_b32_e32 v6, 16, v11471; GFX11-FAKE16-NEXT:    v_or_b32_e32 v3, v9, v121472; GFX11-FAKE16-NEXT:    v_or_b32_e32 v2, v8, v21473; GFX11-FAKE16-NEXT:    v_or_b32_e32 v1, v4, v51474; GFX11-FAKE16-NEXT:    s_mov_b64 s[0:1], 01475; GFX11-FAKE16-NEXT:    v_or_b32_e32 v0, v0, v61476; GFX11-FAKE16-NEXT:    s_mov_b32 s3, 0x310160001477; GFX11-FAKE16-NEXT:    s_mov_b32 s2, -11478; GFX11-FAKE16-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 01479; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]1480  store <16 x i8> %arg0, ptr addrspace(1) null1481  ret void1482}1483 1484define void @void_func_v32i8(<32 x i8> %arg0) #0 {1485; CI-LABEL: void_func_v32i8:1486; CI:       ; %bb.0:1487; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1488; CI-NEXT:    v_lshlrev_b32_e32 v5, 8, v51489; CI-NEXT:    v_and_b32_e32 v4, 0xff, v41490; CI-NEXT:    v_or_b32_e32 v4, v4, v51491; CI-NEXT:    buffer_load_dword v5, off, s[0:3], s321492; CI-NEXT:    v_lshlrev_b32_e32 v9, 8, v91493; CI-NEXT:    v_and_b32_e32 v8, 0xff, v81494; CI-NEXT:    v_lshlrev_b32_e32 v13, 8, v131495; CI-NEXT:    v_and_b32_e32 v12, 0xff, v121496; CI-NEXT:    v_or_b32_e32 v8, v8, v91497; CI-NEXT:    v_lshlrev_b32_e32 v1, 8, v11498; CI-NEXT:    v_and_b32_e32 v0, 0xff, v01499; CI-NEXT:    v_and_b32_e32 v9, 0xff, v141500; CI-NEXT:    v_and_b32_e32 v10, 0xff, v101501; CI-NEXT:    v_and_b32_e32 v6, 0xff, v61502; CI-NEXT:    v_or_b32_e32 v12, v12, v131503; CI-NEXT:    v_or_b32_e32 v0, v0, v11504; CI-NEXT:    v_lshlrev_b32_e32 v1, 24, v151505; CI-NEXT:    v_lshlrev_b32_e32 v11, 24, v111506; CI-NEXT:    v_lshlrev_b32_e32 v7, 24, v71507; CI-NEXT:    v_and_b32_e32 v2, 0xff, v21508; CI-NEXT:    v_lshlrev_b32_e32 v9, 16, v91509; CI-NEXT:    v_lshlrev_b32_e32 v10, 16, v101510; CI-NEXT:    v_lshlrev_b32_e32 v6, 16, v61511; CI-NEXT:    v_lshlrev_b32_e32 v3, 24, v31512; CI-NEXT:    v_lshlrev_b32_e32 v13, 8, v291513; CI-NEXT:    v_and_b32_e32 v14, 0xff, v281514; CI-NEXT:    v_and_b32_e32 v26, 0xff, v261515; CI-NEXT:    v_lshlrev_b32_e32 v25, 8, v251516; CI-NEXT:    v_and_b32_e32 v24, 0xff, v241517; CI-NEXT:    v_lshlrev_b32_e32 v2, 16, v21518; CI-NEXT:    v_or_b32_e32 v1, v1, v91519; CI-NEXT:    v_or_b32_e32 v9, v11, v101520; CI-NEXT:    v_and_b32_e32 v10, 0xffff, v121521; CI-NEXT:    v_or_b32_e32 v6, v7, v61522; CI-NEXT:    v_and_b32_e32 v4, 0xffff, v41523; CI-NEXT:    v_lshlrev_b32_e32 v15, 24, v271524; CI-NEXT:    v_and_b32_e32 v27, 0xff, v301525; CI-NEXT:    v_or_b32_e32 v13, v14, v131526; CI-NEXT:    v_lshlrev_b32_e32 v14, 16, v261527; CI-NEXT:    v_or_b32_e32 v7, v3, v21528; CI-NEXT:    v_or_b32_e32 v3, v10, v11529; CI-NEXT:    v_or_b32_e32 v1, v4, v61530; CI-NEXT:    v_lshlrev_b32_e32 v26, 16, v271531; CI-NEXT:    v_or_b32_e32 v11, v15, v141532; CI-NEXT:    v_and_b32_e32 v0, 0xffff, v01533; CI-NEXT:    v_and_b32_e32 v12, 0xffff, v131534; CI-NEXT:    v_and_b32_e32 v8, 0xffff, v81535; CI-NEXT:    v_or_b32_e32 v0, v0, v71536; CI-NEXT:    v_or_b32_e32 v2, v8, v91537; CI-NEXT:    v_and_b32_e32 v8, 0xff, v201538; CI-NEXT:    v_and_b32_e32 v9, 0xff, v161539; CI-NEXT:    s_mov_b64 s[4:5], 161540; CI-NEXT:    s_mov_b32 s7, 0xf0001541; CI-NEXT:    s_mov_b32 s6, -11542; CI-NEXT:    s_waitcnt vmcnt(0)1543; CI-NEXT:    v_lshlrev_b32_e32 v4, 24, v51544; CI-NEXT:    v_or_b32_e32 v5, v24, v251545; CI-NEXT:    v_and_b32_e32 v5, 0xffff, v51546; CI-NEXT:    v_or_b32_e32 v4, v4, v261547; CI-NEXT:    v_or_b32_e32 v6, v5, v111548; CI-NEXT:    v_and_b32_e32 v5, 0xff, v221549; CI-NEXT:    v_or_b32_e32 v7, v12, v41550; CI-NEXT:    v_lshlrev_b32_e32 v4, 24, v231551; CI-NEXT:    v_lshlrev_b32_e32 v5, 16, v51552; CI-NEXT:    v_or_b32_e32 v4, v4, v51553; CI-NEXT:    v_lshlrev_b32_e32 v5, 8, v211554; CI-NEXT:    v_or_b32_e32 v5, v8, v51555; CI-NEXT:    v_and_b32_e32 v5, 0xffff, v51556; CI-NEXT:    v_and_b32_e32 v8, 0xff, v181557; CI-NEXT:    v_or_b32_e32 v5, v5, v41558; CI-NEXT:    v_lshlrev_b32_e32 v4, 24, v191559; CI-NEXT:    v_lshlrev_b32_e32 v8, 16, v81560; CI-NEXT:    v_or_b32_e32 v4, v4, v81561; CI-NEXT:    v_lshlrev_b32_e32 v8, 8, v171562; CI-NEXT:    v_or_b32_e32 v8, v9, v81563; CI-NEXT:    v_and_b32_e32 v8, 0xffff, v81564; CI-NEXT:    v_or_b32_e32 v4, v8, v41565; CI-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 01566; CI-NEXT:    s_mov_b64 s[4:5], 01567; CI-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 01568; CI-NEXT:    s_waitcnt vmcnt(0)1569; CI-NEXT:    s_setpc_b64 s[30:31]1570;1571; GFX89-LABEL: void_func_v32i8:1572; GFX89:       ; %bb.0:1573; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1574; GFX89-NEXT:    v_lshlrev_b16_e32 v9, 8, v91575; GFX89-NEXT:    v_or_b32_sdwa v8, v8, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1576; GFX89-NEXT:    v_lshlrev_b16_e32 v9, 8, v111577; GFX89-NEXT:    v_or_b32_sdwa v9, v10, v9 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1578; GFX89-NEXT:    buffer_load_ubyte v10, off, s[0:3], s321579; GFX89-NEXT:    v_lshlrev_b16_e32 v13, 8, v131580; GFX89-NEXT:    v_or_b32_sdwa v12, v12, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1581; GFX89-NEXT:    v_lshlrev_b16_e32 v13, 8, v151582; GFX89-NEXT:    v_lshlrev_b16_e32 v5, 8, v51583; GFX89-NEXT:    v_lshlrev_b16_e32 v7, 8, v71584; GFX89-NEXT:    v_lshlrev_b16_e32 v3, 8, v31585; GFX89-NEXT:    v_or_b32_sdwa v13, v14, v13 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1586; GFX89-NEXT:    v_lshlrev_b16_e32 v1, 8, v11587; GFX89-NEXT:    v_lshlrev_b16_e32 v11, 8, v291588; GFX89-NEXT:    v_lshlrev_b16_e32 v14, 8, v251589; GFX89-NEXT:    v_lshlrev_b16_e32 v15, 8, v271590; GFX89-NEXT:    v_lshlrev_b16_e32 v21, 8, v211591; GFX89-NEXT:    v_lshlrev_b16_e32 v23, 8, v231592; GFX89-NEXT:    v_lshlrev_b16_e32 v17, 8, v171593; GFX89-NEXT:    v_lshlrev_b16_e32 v19, 8, v191594; GFX89-NEXT:    v_or_b32_sdwa v4, v4, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1595; GFX89-NEXT:    v_or_b32_sdwa v5, v6, v7 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1596; GFX89-NEXT:    v_or_b32_sdwa v6, v2, v3 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1597; GFX89-NEXT:    v_or_b32_sdwa v2, v8, v9 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD1598; GFX89-NEXT:    v_or_b32_sdwa v0, v0, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1599; GFX89-NEXT:    v_or_b32_sdwa v7, v28, v11 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1600; GFX89-NEXT:    v_or_b32_sdwa v11, v24, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1601; GFX89-NEXT:    v_or_b32_sdwa v14, v26, v15 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1602; GFX89-NEXT:    v_or_b32_sdwa v15, v20, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1603; GFX89-NEXT:    v_or_b32_sdwa v20, v22, v23 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1604; GFX89-NEXT:    v_or_b32_sdwa v16, v16, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1605; GFX89-NEXT:    v_or_b32_sdwa v17, v18, v19 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1606; GFX89-NEXT:    s_mov_b64 s[4:5], 161607; GFX89-NEXT:    s_mov_b32 s7, 0xf0001608; GFX89-NEXT:    s_mov_b32 s6, -11609; GFX89-NEXT:    v_or_b32_sdwa v1, v4, v5 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD1610; GFX89-NEXT:    v_or_b32_sdwa v0, v0, v6 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD1611; GFX89-NEXT:    v_or_b32_sdwa v6, v11, v14 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD1612; GFX89-NEXT:    v_or_b32_sdwa v5, v15, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD1613; GFX89-NEXT:    v_or_b32_sdwa v4, v16, v17 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD1614; GFX89-NEXT:    v_or_b32_sdwa v3, v12, v13 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD1615; GFX89-NEXT:    s_waitcnt vmcnt(0)1616; GFX89-NEXT:    v_lshlrev_b16_e32 v8, 8, v101617; GFX89-NEXT:    v_or_b32_sdwa v8, v30, v8 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD1618; GFX89-NEXT:    v_or_b32_sdwa v7, v7, v8 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD1619; GFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 01620; GFX89-NEXT:    s_mov_b64 s[4:5], 01621; GFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 01622; GFX89-NEXT:    s_waitcnt vmcnt(0)1623; GFX89-NEXT:    s_setpc_b64 s[30:31]1624;1625; GFX11-TRUE16-LABEL: void_func_v32i8:1626; GFX11-TRUE16:       ; %bb.0:1627; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1628; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v31, off, s321629; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v0.h, 8, v15.l1630; GFX11-TRUE16-NEXT:    v_and_b16 v1.h, 0xff, v14.l1631; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v2.h, 8, v13.l1632; GFX11-TRUE16-NEXT:    v_and_b16 v4.h, 0xff, v12.l1633; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v5.h, 8, v11.l1634; GFX11-TRUE16-NEXT:    v_and_b16 v6.h, 0xff, v10.l1635; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v7.h, 8, v9.l1636; GFX11-TRUE16-NEXT:    v_and_b16 v8.l, 0xff, v8.l1637; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v7.l, 8, v7.l1638; GFX11-TRUE16-NEXT:    v_and_b16 v6.l, 0xff, v6.l1639; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v5.l, 8, v5.l1640; GFX11-TRUE16-NEXT:    v_and_b16 v4.l, 0xff, v4.l1641; GFX11-TRUE16-NEXT:    v_and_b16 v10.l, 0xff, v30.l1642; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v10.h, 8, v29.l1643; GFX11-TRUE16-NEXT:    v_and_b16 v11.l, 0xff, v28.l1644; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v11.h, 8, v27.l1645; GFX11-TRUE16-NEXT:    v_and_b16 v12.l, 0xff, v26.l1646; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v12.h, 8, v25.l1647; GFX11-TRUE16-NEXT:    v_and_b16 v13.l, 0xff, v24.l1648; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v13.h, 8, v23.l1649; GFX11-TRUE16-NEXT:    v_and_b16 v14.l, 0xff, v22.l1650; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v14.h, 8, v21.l1651; GFX11-TRUE16-NEXT:    v_and_b16 v15.l, 0xff, v20.l1652; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v15.h, 8, v19.l1653; GFX11-TRUE16-NEXT:    v_and_b16 v16.h, 0xff, v18.l1654; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v17.l, 8, v17.l1655; GFX11-TRUE16-NEXT:    v_and_b16 v16.l, 0xff, v16.l1656; GFX11-TRUE16-NEXT:    v_or_b16 v3.h, v1.h, v0.h1657; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v8.h, 8, v3.l1658; GFX11-TRUE16-NEXT:    v_and_b16 v9.l, 0xff, v2.l1659; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v9.h, 8, v1.l1660; GFX11-TRUE16-NEXT:    v_and_b16 v0.l, 0xff, v0.l1661; GFX11-TRUE16-NEXT:    v_or_b16 v3.l, v4.h, v2.h1662; GFX11-TRUE16-NEXT:    v_or_b16 v2.h, v6.h, v5.h1663; GFX11-TRUE16-NEXT:    v_or_b16 v2.l, v8.l, v7.h1664; GFX11-TRUE16-NEXT:    v_or_b16 v1.h, v6.l, v7.l1665; GFX11-TRUE16-NEXT:    v_or_b16 v1.l, v4.l, v5.l1666; GFX11-TRUE16-NEXT:    v_or_b16 v7.l, v11.l, v10.h1667; GFX11-TRUE16-NEXT:    v_or_b16 v6.h, v12.l, v11.h1668; GFX11-TRUE16-NEXT:    v_or_b16 v6.l, v13.l, v12.h1669; GFX11-TRUE16-NEXT:    v_or_b16 v5.h, v14.l, v13.h1670; GFX11-TRUE16-NEXT:    v_or_b16 v5.l, v15.l, v14.h1671; GFX11-TRUE16-NEXT:    v_or_b16 v4.h, v16.h, v15.h1672; GFX11-TRUE16-NEXT:    v_or_b16 v4.l, v16.l, v17.l1673; GFX11-TRUE16-NEXT:    v_or_b16 v0.l, v0.l, v9.h1674; GFX11-TRUE16-NEXT:    s_mov_b64 s[0:1], 161675; GFX11-TRUE16-NEXT:    s_mov_b32 s3, 0x310160001676; GFX11-TRUE16-NEXT:    s_mov_b32 s2, -11677; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0)1678; GFX11-TRUE16-NEXT:    v_lshlrev_b16 v0.h, 8, v31.l1679; GFX11-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)1680; GFX11-TRUE16-NEXT:    v_or_b16 v7.h, v10.l, v0.h1681; GFX11-TRUE16-NEXT:    v_or_b16 v0.h, v9.l, v8.h1682; GFX11-TRUE16-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 01683; GFX11-TRUE16-NEXT:    s_mov_b64 s[0:1], 01684; GFX11-TRUE16-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 01685; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]1686;1687; GFX11-FAKE16-LABEL: void_func_v32i8:1688; GFX11-FAKE16:       ; %bb.0:1689; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1690; GFX11-FAKE16-NEXT:    scratch_load_u8 v31, off, s321691; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v1, 8, v11692; GFX11-FAKE16-NEXT:    v_and_b32_e32 v0, 0xff, v01693; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v3, 8, v31694; GFX11-FAKE16-NEXT:    v_and_b32_e32 v2, 0xff, v21695; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v9, 8, v91696; GFX11-FAKE16-NEXT:    v_and_b32_e32 v8, 0xff, v81697; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v11, 8, v111698; GFX11-FAKE16-NEXT:    v_and_b32_e32 v10, 0xff, v101699; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v17, 8, v171700; GFX11-FAKE16-NEXT:    v_and_b32_e32 v16, 0xff, v161701; GFX11-FAKE16-NEXT:    v_or_b32_e32 v0, v0, v11702; GFX11-FAKE16-NEXT:    v_or_b32_e32 v1, v2, v31703; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v13, 8, v131704; GFX11-FAKE16-NEXT:    v_and_b32_e32 v12, 0xff, v121705; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v15, 8, v151706; GFX11-FAKE16-NEXT:    v_and_b32_e32 v14, 0xff, v141707; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v5, 8, v51708; GFX11-FAKE16-NEXT:    v_and_b32_e32 v4, 0xff, v41709; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v7, 8, v71710; GFX11-FAKE16-NEXT:    v_and_b32_e32 v6, 0xff, v61711; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v29, 8, v291712; GFX11-FAKE16-NEXT:    v_and_b32_e32 v28, 0xff, v281713; GFX11-FAKE16-NEXT:    v_and_b32_e32 v30, 0xff, v301714; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v25, 8, v251715; GFX11-FAKE16-NEXT:    v_and_b32_e32 v24, 0xff, v241716; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v27, 8, v271717; GFX11-FAKE16-NEXT:    v_and_b32_e32 v26, 0xff, v261718; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v21, 8, v211719; GFX11-FAKE16-NEXT:    v_and_b32_e32 v20, 0xff, v201720; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v23, 8, v231721; GFX11-FAKE16-NEXT:    v_and_b32_e32 v22, 0xff, v221722; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v19, 8, v191723; GFX11-FAKE16-NEXT:    v_and_b32_e32 v18, 0xff, v181724; GFX11-FAKE16-NEXT:    v_or_b32_e32 v8, v8, v91725; GFX11-FAKE16-NEXT:    v_or_b32_e32 v9, v10, v111726; GFX11-FAKE16-NEXT:    v_or_b32_e32 v11, v16, v171727; GFX11-FAKE16-NEXT:    v_lshlrev_b32_e32 v17, 16, v11728; GFX11-FAKE16-NEXT:    v_or_b32_e32 v12, v12, v131729; GFX11-FAKE16-NEXT:    v_or_b32_e32 v13, v14, v151730; GFX11-FAKE16-NEXT:    v_or_b32_e32 v4, v4, v51731; GFX11-FAKE16-NEXT:    v_or_b32_e32 v5, v6, v71732; GFX11-FAKE16-NEXT:    v_or_b32_e32 v2, v28, v291733; GFX11-FAKE16-NEXT:    v_or_b32_e32 v3, v24, v251734; GFX11-FAKE16-NEXT:    v_or_b32_e32 v6, v26, v271735; GFX11-FAKE16-NEXT:    v_or_b32_e32 v7, v20, v211736; GFX11-FAKE16-NEXT:    v_or_b32_e32 v10, v22, v231737; GFX11-FAKE16-NEXT:    v_or_b32_e32 v14, v18, v191738; GFX11-FAKE16-NEXT:    v_and_b32_e32 v15, 0xffff, v41739; GFX11-FAKE16-NEXT:    v_lshlrev_b32_e32 v16, 16, v51740; GFX11-FAKE16-NEXT:    v_and_b32_e32 v18, 0xffff, v21741; GFX11-FAKE16-NEXT:    v_and_b32_e32 v4, 0xffff, v31742; GFX11-FAKE16-NEXT:    v_lshlrev_b32_e32 v5, 16, v61743; GFX11-FAKE16-NEXT:    v_and_b32_e32 v7, 0xffff, v71744; GFX11-FAKE16-NEXT:    v_lshlrev_b32_e32 v10, 16, v101745; GFX11-FAKE16-NEXT:    v_and_b32_e32 v11, 0xffff, v111746; GFX11-FAKE16-NEXT:    v_lshlrev_b32_e32 v14, 16, v141747; GFX11-FAKE16-NEXT:    v_and_b32_e32 v12, 0xffff, v121748; GFX11-FAKE16-NEXT:    v_lshlrev_b32_e32 v13, 16, v131749; GFX11-FAKE16-NEXT:    v_and_b32_e32 v8, 0xffff, v81750; GFX11-FAKE16-NEXT:    v_lshlrev_b32_e32 v9, 16, v91751; GFX11-FAKE16-NEXT:    v_and_b32_e32 v0, 0xffff, v01752; GFX11-FAKE16-NEXT:    v_or_b32_e32 v6, v4, v51753; GFX11-FAKE16-NEXT:    v_or_b32_e32 v5, v7, v101754; GFX11-FAKE16-NEXT:    v_or_b32_e32 v4, v11, v141755; GFX11-FAKE16-NEXT:    v_or_b32_e32 v3, v12, v131756; GFX11-FAKE16-NEXT:    v_or_b32_e32 v2, v8, v91757; GFX11-FAKE16-NEXT:    v_or_b32_e32 v0, v0, v171758; GFX11-FAKE16-NEXT:    s_mov_b64 s[0:1], 161759; GFX11-FAKE16-NEXT:    s_mov_b32 s3, 0x310160001760; GFX11-FAKE16-NEXT:    s_mov_b32 s2, -11761; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0)1762; GFX11-FAKE16-NEXT:    v_lshlrev_b16 v1, 8, v311763; GFX11-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)1764; GFX11-FAKE16-NEXT:    v_or_b32_e32 v1, v30, v11765; GFX11-FAKE16-NEXT:    v_lshlrev_b32_e32 v1, 16, v11766; GFX11-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)1767; GFX11-FAKE16-NEXT:    v_or_b32_e32 v7, v18, v11768; GFX11-FAKE16-NEXT:    v_or_b32_e32 v1, v15, v161769; GFX11-FAKE16-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 01770; GFX11-FAKE16-NEXT:    s_mov_b64 s[0:1], 01771; GFX11-FAKE16-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 01772; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]1773  store <32 x i8> %arg0, ptr addrspace(1) null1774  ret void1775}1776 1777define void @void_func_v3i16(<3 x i16> %arg0) #0 {1778; CI-LABEL: void_func_v3i16:1779; CI:       ; %bb.0:1780; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1781; CI-NEXT:    v_lshlrev_b32_e32 v1, 16, v11782; CI-NEXT:    v_and_b32_e32 v0, 0xffff, v01783; CI-NEXT:    s_mov_b32 s7, 0xf0001784; CI-NEXT:    s_mov_b32 s6, -11785; CI-NEXT:    v_or_b32_e32 v0, v0, v11786; CI-NEXT:    buffer_store_short v2, off, s[4:7], 01787; CI-NEXT:    buffer_store_dword v0, off, s[4:7], 01788; CI-NEXT:    s_waitcnt vmcnt(0)1789; CI-NEXT:    s_setpc_b64 s[30:31]1790;1791; GFX89-LABEL: void_func_v3i16:1792; GFX89:       ; %bb.0:1793; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1794; GFX89-NEXT:    s_mov_b32 s7, 0xf0001795; GFX89-NEXT:    s_mov_b32 s6, -11796; GFX89-NEXT:    buffer_store_short v1, off, s[4:7], 01797; GFX89-NEXT:    buffer_store_dword v0, off, s[4:7], 01798; GFX89-NEXT:    s_waitcnt vmcnt(0)1799; GFX89-NEXT:    s_setpc_b64 s[30:31]1800;1801; GFX11-LABEL: void_func_v3i16:1802; GFX11:       ; %bb.0:1803; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1804; GFX11-NEXT:    s_mov_b32 s3, 0x310160001805; GFX11-NEXT:    s_mov_b32 s2, -11806; GFX11-NEXT:    s_clause 0x11807; GFX11-NEXT:    buffer_store_b16 v1, off, s[0:3], 01808; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 01809; GFX11-NEXT:    s_setpc_b64 s[30:31]1810  store <3 x i16> %arg0, ptr addrspace(1) poison1811  ret void1812}1813 1814define void @void_func_v4i16(<4 x i16> %arg0) #0 {1815; CI-LABEL: void_func_v4i16:1816; CI:       ; %bb.0:1817; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1818; CI-NEXT:    v_lshlrev_b32_e32 v3, 16, v31819; CI-NEXT:    v_and_b32_e32 v2, 0xffff, v21820; CI-NEXT:    v_lshlrev_b32_e32 v1, 16, v11821; CI-NEXT:    v_and_b32_e32 v0, 0xffff, v01822; CI-NEXT:    v_or_b32_e32 v2, v2, v31823; CI-NEXT:    v_or_b32_e32 v1, v0, v11824; CI-NEXT:    s_mov_b32 s7, 0xf0001825; CI-NEXT:    s_mov_b32 s6, -11826; CI-NEXT:    buffer_store_dwordx2 v[1:2], off, s[4:7], 01827; CI-NEXT:    s_waitcnt vmcnt(0)1828; CI-NEXT:    s_setpc_b64 s[30:31]1829;1830; GFX89-LABEL: void_func_v4i16:1831; GFX89:       ; %bb.0:1832; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1833; GFX89-NEXT:    s_mov_b32 s7, 0xf0001834; GFX89-NEXT:    s_mov_b32 s6, -11835; GFX89-NEXT:    buffer_store_dwordx2 v[0:1], off, s[4:7], 01836; GFX89-NEXT:    s_waitcnt vmcnt(0)1837; GFX89-NEXT:    s_setpc_b64 s[30:31]1838;1839; GFX11-LABEL: void_func_v4i16:1840; GFX11:       ; %bb.0:1841; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1842; GFX11-NEXT:    s_mov_b32 s3, 0x310160001843; GFX11-NEXT:    s_mov_b32 s2, -11844; GFX11-NEXT:    buffer_store_b64 v[0:1], off, s[0:3], 01845; GFX11-NEXT:    s_setpc_b64 s[30:31]1846  store <4 x i16> %arg0, ptr addrspace(1) poison1847  ret void1848}1849 1850define void @void_func_v5i16(<5 x i16> %arg0) #0 {1851; CI-LABEL: void_func_v5i16:1852; CI:       ; %bb.0:1853; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1854; CI-NEXT:    v_lshlrev_b32_e32 v3, 16, v31855; CI-NEXT:    v_and_b32_e32 v2, 0xffff, v21856; CI-NEXT:    v_lshlrev_b32_e32 v1, 16, v11857; CI-NEXT:    v_and_b32_e32 v0, 0xffff, v01858; CI-NEXT:    s_mov_b32 s7, 0xf0001859; CI-NEXT:    s_mov_b32 s6, -11860; CI-NEXT:    v_or_b32_e32 v2, v2, v31861; CI-NEXT:    v_or_b32_e32 v1, v0, v11862; CI-NEXT:    buffer_store_short v4, off, s[4:7], 01863; CI-NEXT:    buffer_store_dwordx2 v[1:2], off, s[4:7], 01864; CI-NEXT:    s_waitcnt vmcnt(0)1865; CI-NEXT:    s_setpc_b64 s[30:31]1866;1867; GFX89-LABEL: void_func_v5i16:1868; GFX89:       ; %bb.0:1869; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1870; GFX89-NEXT:    s_mov_b32 s7, 0xf0001871; GFX89-NEXT:    s_mov_b32 s6, -11872; GFX89-NEXT:    buffer_store_short v2, off, s[4:7], 01873; GFX89-NEXT:    buffer_store_dwordx2 v[0:1], off, s[4:7], 01874; GFX89-NEXT:    s_waitcnt vmcnt(0)1875; GFX89-NEXT:    s_setpc_b64 s[30:31]1876;1877; GFX11-LABEL: void_func_v5i16:1878; GFX11:       ; %bb.0:1879; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1880; GFX11-NEXT:    s_mov_b32 s3, 0x310160001881; GFX11-NEXT:    s_mov_b32 s2, -11882; GFX11-NEXT:    s_clause 0x11883; GFX11-NEXT:    buffer_store_b16 v2, off, s[0:3], 01884; GFX11-NEXT:    buffer_store_b64 v[0:1], off, s[0:3], 01885; GFX11-NEXT:    s_setpc_b64 s[30:31]1886  store <5 x i16> %arg0, ptr addrspace(1) poison1887  ret void1888}1889 1890define void @void_func_v8i16(<8 x i16> %arg0) #0 {1891; CI-LABEL: void_func_v8i16:1892; CI:       ; %bb.0:1893; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1894; CI-NEXT:    v_lshlrev_b32_e32 v7, 16, v71895; CI-NEXT:    v_and_b32_e32 v6, 0xffff, v61896; CI-NEXT:    v_lshlrev_b32_e32 v5, 16, v51897; CI-NEXT:    v_and_b32_e32 v4, 0xffff, v41898; CI-NEXT:    v_lshlrev_b32_e32 v3, 16, v31899; CI-NEXT:    v_and_b32_e32 v2, 0xffff, v21900; CI-NEXT:    v_lshlrev_b32_e32 v1, 16, v11901; CI-NEXT:    v_and_b32_e32 v0, 0xffff, v01902; CI-NEXT:    v_or_b32_e32 v6, v6, v71903; CI-NEXT:    v_or_b32_e32 v5, v4, v51904; CI-NEXT:    v_or_b32_e32 v4, v2, v31905; CI-NEXT:    v_or_b32_e32 v3, v0, v11906; CI-NEXT:    s_mov_b32 s7, 0xf0001907; CI-NEXT:    s_mov_b32 s6, -11908; CI-NEXT:    buffer_store_dwordx4 v[3:6], off, s[4:7], 01909; CI-NEXT:    s_waitcnt vmcnt(0)1910; CI-NEXT:    s_setpc_b64 s[30:31]1911;1912; GFX89-LABEL: void_func_v8i16:1913; GFX89:       ; %bb.0:1914; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1915; GFX89-NEXT:    s_mov_b32 s7, 0xf0001916; GFX89-NEXT:    s_mov_b32 s6, -11917; GFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 01918; GFX89-NEXT:    s_waitcnt vmcnt(0)1919; GFX89-NEXT:    s_setpc_b64 s[30:31]1920;1921; GFX11-LABEL: void_func_v8i16:1922; GFX11:       ; %bb.0:1923; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1924; GFX11-NEXT:    s_mov_b32 s3, 0x310160001925; GFX11-NEXT:    s_mov_b32 s2, -11926; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 01927; GFX11-NEXT:    s_setpc_b64 s[30:31]1928  store <8 x i16> %arg0, ptr addrspace(1) poison1929  ret void1930}1931 1932define void @void_func_v16i16(<16 x i16> %arg0) #0 {1933; CI-LABEL: void_func_v16i16:1934; CI:       ; %bb.0:1935; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1936; CI-NEXT:    v_lshlrev_b32_e32 v5, 16, v51937; CI-NEXT:    v_and_b32_e32 v4, 0xffff, v41938; CI-NEXT:    v_lshlrev_b32_e32 v3, 16, v31939; CI-NEXT:    v_and_b32_e32 v2, 0xffff, v21940; CI-NEXT:    v_lshlrev_b32_e32 v1, 16, v11941; CI-NEXT:    v_and_b32_e32 v0, 0xffff, v01942; CI-NEXT:    v_or_b32_e32 v5, v4, v51943; CI-NEXT:    v_or_b32_e32 v4, v2, v31944; CI-NEXT:    v_or_b32_e32 v3, v0, v11945; CI-NEXT:    v_lshlrev_b32_e32 v0, 16, v151946; CI-NEXT:    v_and_b32_e32 v1, 0xffff, v141947; CI-NEXT:    v_or_b32_e32 v14, v1, v01948; CI-NEXT:    v_lshlrev_b32_e32 v0, 16, v131949; CI-NEXT:    v_and_b32_e32 v1, 0xffff, v121950; CI-NEXT:    v_or_b32_e32 v13, v1, v01951; CI-NEXT:    v_lshlrev_b32_e32 v0, 16, v111952; CI-NEXT:    v_and_b32_e32 v1, 0xffff, v101953; CI-NEXT:    v_or_b32_e32 v12, v1, v01954; CI-NEXT:    v_lshlrev_b32_e32 v0, 16, v91955; CI-NEXT:    v_and_b32_e32 v1, 0xffff, v81956; CI-NEXT:    v_lshlrev_b32_e32 v7, 16, v71957; CI-NEXT:    v_and_b32_e32 v6, 0xffff, v61958; CI-NEXT:    v_or_b32_e32 v11, v1, v01959; CI-NEXT:    s_mov_b32 s7, 0xf0001960; CI-NEXT:    s_mov_b32 s6, -11961; CI-NEXT:    v_or_b32_e32 v6, v6, v71962; CI-NEXT:    buffer_store_dwordx4 v[11:14], off, s[4:7], 01963; CI-NEXT:    buffer_store_dwordx4 v[3:6], off, s[4:7], 01964; CI-NEXT:    s_waitcnt vmcnt(0)1965; CI-NEXT:    s_setpc_b64 s[30:31]1966;1967; GFX89-LABEL: void_func_v16i16:1968; GFX89:       ; %bb.0:1969; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1970; GFX89-NEXT:    s_mov_b32 s7, 0xf0001971; GFX89-NEXT:    s_mov_b32 s6, -11972; GFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 01973; GFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 01974; GFX89-NEXT:    s_waitcnt vmcnt(0)1975; GFX89-NEXT:    s_setpc_b64 s[30:31]1976;1977; GFX11-LABEL: void_func_v16i16:1978; GFX11:       ; %bb.0:1979; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1980; GFX11-NEXT:    s_mov_b32 s3, 0x310160001981; GFX11-NEXT:    s_mov_b32 s2, -11982; GFX11-NEXT:    s_clause 0x11983; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 01984; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 01985; GFX11-NEXT:    s_setpc_b64 s[30:31]1986  store <16 x i16> %arg0, ptr addrspace(1) poison1987  ret void1988}1989 1990define void @void_func_v2i24(<2 x i24> %arg0) #0 {1991; CI-LABEL: void_func_v2i24:1992; CI:       ; %bb.0:1993; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)1994; CI-NEXT:    v_add_i32_e32 v0, vcc, v0, v11995; CI-NEXT:    v_lshrrev_b32_e32 v1, 16, v01996; CI-NEXT:    s_mov_b32 s7, 0xf0001997; CI-NEXT:    s_mov_b32 s6, -11998; CI-NEXT:    buffer_store_byte v1, off, s[4:7], 01999; CI-NEXT:    buffer_store_short v0, off, s[4:7], 02000; CI-NEXT:    s_waitcnt vmcnt(0)2001; CI-NEXT:    s_setpc_b64 s[30:31]2002;2003; VI-LABEL: void_func_v2i24:2004; VI:       ; %bb.0:2005; VI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2006; VI-NEXT:    v_add_u32_e32 v0, vcc, v0, v12007; VI-NEXT:    v_lshrrev_b32_e32 v1, 16, v02008; VI-NEXT:    s_mov_b32 s7, 0xf0002009; VI-NEXT:    s_mov_b32 s6, -12010; VI-NEXT:    buffer_store_byte v1, off, s[4:7], 02011; VI-NEXT:    buffer_store_short v0, off, s[4:7], 02012; VI-NEXT:    s_waitcnt vmcnt(0)2013; VI-NEXT:    s_setpc_b64 s[30:31]2014;2015; GFX9-LABEL: void_func_v2i24:2016; GFX9:       ; %bb.0:2017; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2018; GFX9-NEXT:    v_add_u32_e32 v0, v0, v12019; GFX9-NEXT:    v_lshrrev_b32_e32 v1, 16, v02020; GFX9-NEXT:    s_mov_b32 s7, 0xf0002021; GFX9-NEXT:    s_mov_b32 s6, -12022; GFX9-NEXT:    buffer_store_byte v1, off, s[4:7], 02023; GFX9-NEXT:    buffer_store_short v0, off, s[4:7], 02024; GFX9-NEXT:    s_waitcnt vmcnt(0)2025; GFX9-NEXT:    s_setpc_b64 s[30:31]2026;2027; GFX11-TRUE16-LABEL: void_func_v2i24:2028; GFX11-TRUE16:       ; %bb.0:2029; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2030; GFX11-TRUE16-NEXT:    v_add_nc_u32_e32 v0, v0, v12031; GFX11-TRUE16-NEXT:    v_mov_b16_e32 v1.h, 02032; GFX11-TRUE16-NEXT:    s_mov_b32 s3, 0x310160002033; GFX11-TRUE16-NEXT:    s_mov_b32 s2, -12034; GFX11-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_2)2035; GFX11-TRUE16-NEXT:    v_mov_b16_e32 v1.l, v0.h2036; GFX11-TRUE16-NEXT:    s_clause 0x12037; GFX11-TRUE16-NEXT:    buffer_store_b16 v0, off, s[0:3], 02038; GFX11-TRUE16-NEXT:    buffer_store_b8 v1, off, s[0:3], 02039; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]2040;2041; GFX11-FAKE16-LABEL: void_func_v2i24:2042; GFX11-FAKE16:       ; %bb.0:2043; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2044; GFX11-FAKE16-NEXT:    v_add_nc_u32_e32 v0, v0, v12045; GFX11-FAKE16-NEXT:    s_mov_b32 s3, 0x310160002046; GFX11-FAKE16-NEXT:    s_mov_b32 s2, -12047; GFX11-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1)2048; GFX11-FAKE16-NEXT:    v_lshrrev_b32_e32 v1, 16, v02049; GFX11-FAKE16-NEXT:    s_clause 0x12050; GFX11-FAKE16-NEXT:    buffer_store_b8 v1, off, s[0:3], 02051; GFX11-FAKE16-NEXT:    buffer_store_b16 v0, off, s[0:3], 02052; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]2053  %elt0 = extractelement <2 x i24> %arg0, i32 02054  %elt1 = extractelement <2 x i24> %arg0, i32 12055  %add = add i24 %elt0, %elt12056  store i24 %add, ptr addrspace(1) poison2057  ret void2058}2059 2060define void @void_func_v2f32(<2 x float> %arg0) #0 {2061; CIGFX89-LABEL: void_func_v2f32:2062; CIGFX89:       ; %bb.0:2063; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2064; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0002065; CIGFX89-NEXT:    s_mov_b32 s6, -12066; CIGFX89-NEXT:    buffer_store_dwordx2 v[0:1], off, s[4:7], 02067; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2068; CIGFX89-NEXT:    s_setpc_b64 s[30:31]2069;2070; GFX11-LABEL: void_func_v2f32:2071; GFX11:       ; %bb.0:2072; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2073; GFX11-NEXT:    s_mov_b32 s3, 0x310160002074; GFX11-NEXT:    s_mov_b32 s2, -12075; GFX11-NEXT:    buffer_store_b64 v[0:1], off, s[0:3], 02076; GFX11-NEXT:    s_setpc_b64 s[30:31]2077  store <2 x float> %arg0, ptr addrspace(1) poison2078  ret void2079}2080 2081define void @void_func_v3f32(<3 x float> %arg0) #0 {2082; CIGFX89-LABEL: void_func_v3f32:2083; CIGFX89:       ; %bb.0:2084; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2085; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0002086; CIGFX89-NEXT:    s_mov_b32 s6, -12087; CIGFX89-NEXT:    buffer_store_dwordx3 v[0:2], off, s[4:7], 02088; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2089; CIGFX89-NEXT:    s_setpc_b64 s[30:31]2090;2091; GFX11-LABEL: void_func_v3f32:2092; GFX11:       ; %bb.0:2093; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2094; GFX11-NEXT:    s_mov_b32 s3, 0x310160002095; GFX11-NEXT:    s_mov_b32 s2, -12096; GFX11-NEXT:    buffer_store_b96 v[0:2], off, s[0:3], 02097; GFX11-NEXT:    s_setpc_b64 s[30:31]2098  store <3 x float> %arg0, ptr addrspace(1) poison2099  ret void2100}2101 2102define void @void_func_v4f32(<4 x float> %arg0) #0 {2103; CIGFX89-LABEL: void_func_v4f32:2104; CIGFX89:       ; %bb.0:2105; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2106; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0002107; CIGFX89-NEXT:    s_mov_b32 s6, -12108; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 02109; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2110; CIGFX89-NEXT:    s_setpc_b64 s[30:31]2111;2112; GFX11-LABEL: void_func_v4f32:2113; GFX11:       ; %bb.0:2114; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2115; GFX11-NEXT:    s_mov_b32 s3, 0x310160002116; GFX11-NEXT:    s_mov_b32 s2, -12117; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 02118; GFX11-NEXT:    s_setpc_b64 s[30:31]2119  store <4 x float> %arg0, ptr addrspace(1) poison2120  ret void2121}2122 2123define void @void_func_v8f32(<8 x float> %arg0) #0 {2124; CIGFX89-LABEL: void_func_v8f32:2125; CIGFX89:       ; %bb.0:2126; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2127; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0002128; CIGFX89-NEXT:    s_mov_b32 s6, -12129; CIGFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 02130; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 02131; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2132; CIGFX89-NEXT:    s_setpc_b64 s[30:31]2133;2134; GFX11-LABEL: void_func_v8f32:2135; GFX11:       ; %bb.0:2136; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2137; GFX11-NEXT:    s_mov_b32 s3, 0x310160002138; GFX11-NEXT:    s_mov_b32 s2, -12139; GFX11-NEXT:    s_clause 0x12140; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 02141; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 02142; GFX11-NEXT:    s_setpc_b64 s[30:31]2143  store <8 x float> %arg0, ptr addrspace(1) poison2144  ret void2145}2146 2147define void @void_func_v16f32(<16 x float> %arg0) #0 {2148; CIGFX89-LABEL: void_func_v16f32:2149; CIGFX89:       ; %bb.0:2150; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2151; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0002152; CIGFX89-NEXT:    s_mov_b32 s6, -12153; CIGFX89-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 02154; CIGFX89-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 02155; CIGFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 02156; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 02157; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2158; CIGFX89-NEXT:    s_setpc_b64 s[30:31]2159;2160; GFX11-LABEL: void_func_v16f32:2161; GFX11:       ; %bb.0:2162; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2163; GFX11-NEXT:    s_mov_b32 s3, 0x310160002164; GFX11-NEXT:    s_mov_b32 s2, -12165; GFX11-NEXT:    s_clause 0x32166; GFX11-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 02167; GFX11-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 02168; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 02169; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 02170; GFX11-NEXT:    s_setpc_b64 s[30:31]2171  store <16 x float> %arg0, ptr addrspace(1) poison2172  ret void2173}2174 2175define void @void_func_v2f64(<2 x double> %arg0) #0 {2176; CIGFX89-LABEL: void_func_v2f64:2177; CIGFX89:       ; %bb.0:2178; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2179; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0002180; CIGFX89-NEXT:    s_mov_b32 s6, -12181; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 02182; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2183; CIGFX89-NEXT:    s_setpc_b64 s[30:31]2184;2185; GFX11-LABEL: void_func_v2f64:2186; GFX11:       ; %bb.0:2187; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2188; GFX11-NEXT:    s_mov_b32 s3, 0x310160002189; GFX11-NEXT:    s_mov_b32 s2, -12190; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 02191; GFX11-NEXT:    s_setpc_b64 s[30:31]2192  store <2 x double> %arg0, ptr addrspace(1) poison2193  ret void2194}2195 2196define void @void_func_v3f64(<3 x double> %arg0) #0 {2197; CIGFX89-LABEL: void_func_v3f64:2198; CIGFX89:       ; %bb.0:2199; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2200; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0002201; CIGFX89-NEXT:    s_mov_b32 s6, -12202; CIGFX89-NEXT:    buffer_store_dwordx2 v[4:5], off, s[4:7], 02203; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 02204; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2205; CIGFX89-NEXT:    s_setpc_b64 s[30:31]2206;2207; GFX11-LABEL: void_func_v3f64:2208; GFX11:       ; %bb.0:2209; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2210; GFX11-NEXT:    s_mov_b32 s3, 0x310160002211; GFX11-NEXT:    s_mov_b32 s2, -12212; GFX11-NEXT:    s_clause 0x12213; GFX11-NEXT:    buffer_store_b64 v[4:5], off, s[0:3], 02214; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 02215; GFX11-NEXT:    s_setpc_b64 s[30:31]2216  store <3 x double> %arg0, ptr addrspace(1) poison2217  ret void2218}2219 2220define void @void_func_v4f64(<4 x double> %arg0) #0 {2221; CIGFX89-LABEL: void_func_v4f64:2222; CIGFX89:       ; %bb.0:2223; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2224; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0002225; CIGFX89-NEXT:    s_mov_b32 s6, -12226; CIGFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 02227; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 02228; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2229; CIGFX89-NEXT:    s_setpc_b64 s[30:31]2230;2231; GFX11-LABEL: void_func_v4f64:2232; GFX11:       ; %bb.0:2233; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2234; GFX11-NEXT:    s_mov_b32 s3, 0x310160002235; GFX11-NEXT:    s_mov_b32 s2, -12236; GFX11-NEXT:    s_clause 0x12237; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 02238; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 02239; GFX11-NEXT:    s_setpc_b64 s[30:31]2240  store <4 x double> %arg0, ptr addrspace(1) poison2241  ret void2242}2243 2244define void @void_func_v8f64(<8 x double> %arg0) #0 {2245; CIGFX89-LABEL: void_func_v8f64:2246; CIGFX89:       ; %bb.0:2247; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2248; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0002249; CIGFX89-NEXT:    s_mov_b32 s6, -12250; CIGFX89-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 02251; CIGFX89-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 02252; CIGFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 02253; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 02254; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2255; CIGFX89-NEXT:    s_setpc_b64 s[30:31]2256;2257; GFX11-LABEL: void_func_v8f64:2258; GFX11:       ; %bb.0:2259; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2260; GFX11-NEXT:    s_mov_b32 s3, 0x310160002261; GFX11-NEXT:    s_mov_b32 s2, -12262; GFX11-NEXT:    s_clause 0x32263; GFX11-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 02264; GFX11-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 02265; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 02266; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 02267; GFX11-NEXT:    s_setpc_b64 s[30:31]2268  store <8 x double> %arg0, ptr addrspace(1) poison2269  ret void2270}2271 2272define void @void_func_v16f64(<16 x double> %arg0) #0 {2273; CIGFX89-LABEL: void_func_v16f64:2274; CIGFX89:       ; %bb.0:2275; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2276; CIGFX89-NEXT:    buffer_load_dword v31, off, s[0:3], s322277; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0002278; CIGFX89-NEXT:    s_mov_b32 s6, -12279; CIGFX89-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 02280; CIGFX89-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 02281; CIGFX89-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 02282; CIGFX89-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 02283; CIGFX89-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 02284; CIGFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 02285; CIGFX89-NEXT:    s_waitcnt vmcnt(6)2286; CIGFX89-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 02287; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 02288; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2289; CIGFX89-NEXT:    s_setpc_b64 s[30:31]2290;2291; GFX11-LABEL: void_func_v16f64:2292; GFX11:       ; %bb.0:2293; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2294; GFX11-NEXT:    scratch_load_b32 v31, off, s322295; GFX11-NEXT:    s_mov_b32 s3, 0x310160002296; GFX11-NEXT:    s_mov_b32 s2, -12297; GFX11-NEXT:    s_clause 0x32298; GFX11-NEXT:    buffer_store_b128 v[20:23], off, s[0:3], 02299; GFX11-NEXT:    buffer_store_b128 v[16:19], off, s[0:3], 02300; GFX11-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 02301; GFX11-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 02302; GFX11-NEXT:    s_waitcnt vmcnt(0)2303; GFX11-NEXT:    s_clause 0x32304; GFX11-NEXT:    buffer_store_b128 v[28:31], off, s[0:3], 02305; GFX11-NEXT:    buffer_store_b128 v[24:27], off, s[0:3], 02306; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 02307; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 02308; GFX11-NEXT:    s_setpc_b64 s[30:31]2309  store <16 x double> %arg0, ptr addrspace(1) poison2310  ret void2311}2312 2313define void @void_func_v2f16(<2 x half> %arg0) #0 {2314; CI-LABEL: void_func_v2f16:2315; CI:       ; %bb.0:2316; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2317; CI-NEXT:    v_cvt_f16_f32_e32 v1, v12318; CI-NEXT:    v_cvt_f16_f32_e32 v0, v02319; CI-NEXT:    s_mov_b32 s7, 0xf0002320; CI-NEXT:    s_mov_b32 s6, -12321; CI-NEXT:    v_lshlrev_b32_e32 v1, 16, v12322; CI-NEXT:    v_or_b32_e32 v0, v0, v12323; CI-NEXT:    buffer_store_dword v0, off, s[4:7], 02324; CI-NEXT:    s_waitcnt vmcnt(0)2325; CI-NEXT:    s_setpc_b64 s[30:31]2326;2327; GFX89-LABEL: void_func_v2f16:2328; GFX89:       ; %bb.0:2329; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2330; GFX89-NEXT:    s_mov_b32 s7, 0xf0002331; GFX89-NEXT:    s_mov_b32 s6, -12332; GFX89-NEXT:    buffer_store_dword v0, off, s[4:7], 02333; GFX89-NEXT:    s_waitcnt vmcnt(0)2334; GFX89-NEXT:    s_setpc_b64 s[30:31]2335;2336; GFX11-LABEL: void_func_v2f16:2337; GFX11:       ; %bb.0:2338; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2339; GFX11-NEXT:    s_mov_b32 s3, 0x310160002340; GFX11-NEXT:    s_mov_b32 s2, -12341; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 02342; GFX11-NEXT:    s_setpc_b64 s[30:31]2343  store <2 x half> %arg0, ptr addrspace(1) poison2344  ret void2345}2346 2347; FIXME: Different abi if f16 legal2348define void @void_func_v3f16(<3 x half> %arg0) #0 {2349; CI-LABEL: void_func_v3f16:2350; CI:       ; %bb.0:2351; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2352; CI-NEXT:    v_cvt_f16_f32_e32 v1, v12353; CI-NEXT:    v_cvt_f16_f32_e32 v0, v02354; CI-NEXT:    v_cvt_f16_f32_e32 v2, v22355; CI-NEXT:    s_mov_b32 s7, 0xf0002356; CI-NEXT:    v_lshlrev_b32_e32 v1, 16, v12357; CI-NEXT:    s_mov_b32 s6, -12358; CI-NEXT:    v_or_b32_e32 v0, v0, v12359; CI-NEXT:    buffer_store_short v2, off, s[4:7], 02360; CI-NEXT:    buffer_store_dword v0, off, s[4:7], 02361; CI-NEXT:    s_waitcnt vmcnt(0)2362; CI-NEXT:    s_setpc_b64 s[30:31]2363;2364; GFX89-LABEL: void_func_v3f16:2365; GFX89:       ; %bb.0:2366; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2367; GFX89-NEXT:    s_mov_b32 s7, 0xf0002368; GFX89-NEXT:    s_mov_b32 s6, -12369; GFX89-NEXT:    buffer_store_short v1, off, s[4:7], 02370; GFX89-NEXT:    buffer_store_dword v0, off, s[4:7], 02371; GFX89-NEXT:    s_waitcnt vmcnt(0)2372; GFX89-NEXT:    s_setpc_b64 s[30:31]2373;2374; GFX11-LABEL: void_func_v3f16:2375; GFX11:       ; %bb.0:2376; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2377; GFX11-NEXT:    s_mov_b32 s3, 0x310160002378; GFX11-NEXT:    s_mov_b32 s2, -12379; GFX11-NEXT:    s_clause 0x12380; GFX11-NEXT:    buffer_store_b16 v1, off, s[0:3], 02381; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 02382; GFX11-NEXT:    s_setpc_b64 s[30:31]2383  store <3 x half> %arg0, ptr addrspace(1) poison2384  ret void2385}2386 2387define void @void_func_v4f16(<4 x half> %arg0) #0 {2388; CI-LABEL: void_func_v4f16:2389; CI:       ; %bb.0:2390; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2391; CI-NEXT:    v_cvt_f16_f32_e32 v3, v32392; CI-NEXT:    v_cvt_f16_f32_e32 v2, v22393; CI-NEXT:    v_cvt_f16_f32_e32 v4, v12394; CI-NEXT:    v_cvt_f16_f32_e32 v0, v02395; CI-NEXT:    v_lshlrev_b32_e32 v1, 16, v32396; CI-NEXT:    v_or_b32_e32 v1, v2, v12397; CI-NEXT:    v_lshlrev_b32_e32 v2, 16, v42398; CI-NEXT:    v_or_b32_e32 v0, v0, v22399; CI-NEXT:    s_mov_b32 s7, 0xf0002400; CI-NEXT:    s_mov_b32 s6, -12401; CI-NEXT:    buffer_store_dwordx2 v[0:1], off, s[4:7], 02402; CI-NEXT:    s_waitcnt vmcnt(0)2403; CI-NEXT:    s_setpc_b64 s[30:31]2404;2405; GFX89-LABEL: void_func_v4f16:2406; GFX89:       ; %bb.0:2407; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2408; GFX89-NEXT:    s_mov_b32 s7, 0xf0002409; GFX89-NEXT:    s_mov_b32 s6, -12410; GFX89-NEXT:    buffer_store_dwordx2 v[0:1], off, s[4:7], 02411; GFX89-NEXT:    s_waitcnt vmcnt(0)2412; GFX89-NEXT:    s_setpc_b64 s[30:31]2413;2414; GFX11-LABEL: void_func_v4f16:2415; GFX11:       ; %bb.0:2416; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2417; GFX11-NEXT:    s_mov_b32 s3, 0x310160002418; GFX11-NEXT:    s_mov_b32 s2, -12419; GFX11-NEXT:    buffer_store_b64 v[0:1], off, s[0:3], 02420; GFX11-NEXT:    s_setpc_b64 s[30:31]2421  store <4 x half> %arg0, ptr addrspace(1) poison2422  ret void2423}2424 2425define void @void_func_v8f16(<8 x half> %arg0) #0 {2426; CI-LABEL: void_func_v8f16:2427; CI:       ; %bb.0:2428; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2429; CI-NEXT:    v_cvt_f16_f32_e32 v7, v72430; CI-NEXT:    v_cvt_f16_f32_e32 v6, v62431; CI-NEXT:    v_cvt_f16_f32_e32 v8, v52432; CI-NEXT:    v_cvt_f16_f32_e32 v3, v32433; CI-NEXT:    v_cvt_f16_f32_e32 v1, v12434; CI-NEXT:    v_cvt_f16_f32_e32 v4, v42435; CI-NEXT:    v_cvt_f16_f32_e32 v2, v22436; CI-NEXT:    v_cvt_f16_f32_e32 v0, v02437; CI-NEXT:    v_lshlrev_b32_e32 v5, 16, v72438; CI-NEXT:    v_or_b32_e32 v5, v6, v52439; CI-NEXT:    v_lshlrev_b32_e32 v6, 16, v82440; CI-NEXT:    v_lshlrev_b32_e32 v3, 16, v32441; CI-NEXT:    v_lshlrev_b32_e32 v1, 16, v12442; CI-NEXT:    v_or_b32_e32 v4, v4, v62443; CI-NEXT:    v_or_b32_e32 v3, v2, v32444; CI-NEXT:    v_or_b32_e32 v2, v0, v12445; CI-NEXT:    s_mov_b32 s7, 0xf0002446; CI-NEXT:    s_mov_b32 s6, -12447; CI-NEXT:    buffer_store_dwordx4 v[2:5], off, s[4:7], 02448; CI-NEXT:    s_waitcnt vmcnt(0)2449; CI-NEXT:    s_setpc_b64 s[30:31]2450;2451; GFX89-LABEL: void_func_v8f16:2452; GFX89:       ; %bb.0:2453; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2454; GFX89-NEXT:    s_mov_b32 s7, 0xf0002455; GFX89-NEXT:    s_mov_b32 s6, -12456; GFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 02457; GFX89-NEXT:    s_waitcnt vmcnt(0)2458; GFX89-NEXT:    s_setpc_b64 s[30:31]2459;2460; GFX11-LABEL: void_func_v8f16:2461; GFX11:       ; %bb.0:2462; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2463; GFX11-NEXT:    s_mov_b32 s3, 0x310160002464; GFX11-NEXT:    s_mov_b32 s2, -12465; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 02466; GFX11-NEXT:    s_setpc_b64 s[30:31]2467  store <8 x half> %arg0, ptr addrspace(1) poison2468  ret void2469}2470 2471define void @void_func_v16f16(<16 x half> %arg0) #0 {2472; CI-LABEL: void_func_v16f16:2473; CI:       ; %bb.0:2474; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2475; CI-NEXT:    v_cvt_f16_f32_e32 v7, v72476; CI-NEXT:    v_cvt_f16_f32_e32 v3, v32477; CI-NEXT:    v_cvt_f16_f32_e32 v1, v12478; CI-NEXT:    v_cvt_f16_f32_e32 v6, v62479; CI-NEXT:    v_cvt_f16_f32_e32 v16, v52480; CI-NEXT:    v_cvt_f16_f32_e32 v2, v22481; CI-NEXT:    v_cvt_f16_f32_e32 v0, v02482; CI-NEXT:    v_cvt_f16_f32_e32 v4, v42483; CI-NEXT:    v_lshlrev_b32_e32 v5, 16, v72484; CI-NEXT:    v_lshlrev_b32_e32 v3, 16, v32485; CI-NEXT:    v_lshlrev_b32_e32 v1, 16, v12486; CI-NEXT:    v_or_b32_e32 v5, v6, v52487; CI-NEXT:    v_lshlrev_b32_e32 v6, 16, v162488; CI-NEXT:    v_or_b32_e32 v3, v2, v32489; CI-NEXT:    v_or_b32_e32 v2, v0, v12490; CI-NEXT:    v_cvt_f16_f32_e32 v0, v152491; CI-NEXT:    v_or_b32_e32 v4, v4, v62492; CI-NEXT:    v_cvt_f16_f32_e32 v1, v142493; CI-NEXT:    v_cvt_f16_f32_e32 v6, v132494; CI-NEXT:    v_cvt_f16_f32_e32 v7, v122495; CI-NEXT:    v_lshlrev_b32_e32 v0, 16, v02496; CI-NEXT:    v_or_b32_e32 v13, v1, v02497; CI-NEXT:    v_lshlrev_b32_e32 v0, 16, v62498; CI-NEXT:    v_or_b32_e32 v12, v7, v02499; CI-NEXT:    v_cvt_f16_f32_e32 v0, v112500; CI-NEXT:    v_cvt_f16_f32_e32 v1, v102501; CI-NEXT:    v_cvt_f16_f32_e32 v6, v92502; CI-NEXT:    v_cvt_f16_f32_e32 v7, v82503; CI-NEXT:    v_lshlrev_b32_e32 v0, 16, v02504; CI-NEXT:    v_or_b32_e32 v11, v1, v02505; CI-NEXT:    v_lshlrev_b32_e32 v0, 16, v62506; CI-NEXT:    v_or_b32_e32 v10, v7, v02507; CI-NEXT:    s_mov_b32 s7, 0xf0002508; CI-NEXT:    s_mov_b32 s6, -12509; CI-NEXT:    buffer_store_dwordx4 v[10:13], off, s[4:7], 02510; CI-NEXT:    buffer_store_dwordx4 v[2:5], off, s[4:7], 02511; CI-NEXT:    s_waitcnt vmcnt(0)2512; CI-NEXT:    s_setpc_b64 s[30:31]2513;2514; GFX89-LABEL: void_func_v16f16:2515; GFX89:       ; %bb.0:2516; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2517; GFX89-NEXT:    s_mov_b32 s7, 0xf0002518; GFX89-NEXT:    s_mov_b32 s6, -12519; GFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 02520; GFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 02521; GFX89-NEXT:    s_waitcnt vmcnt(0)2522; GFX89-NEXT:    s_setpc_b64 s[30:31]2523;2524; GFX11-LABEL: void_func_v16f16:2525; GFX11:       ; %bb.0:2526; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2527; GFX11-NEXT:    s_mov_b32 s3, 0x310160002528; GFX11-NEXT:    s_mov_b32 s2, -12529; GFX11-NEXT:    s_clause 0x12530; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 02531; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 02532; GFX11-NEXT:    s_setpc_b64 s[30:31]2533  store <16 x half> %arg0, ptr addrspace(1) poison2534  ret void2535}2536 2537; Make sure there is no alignment requirement for passed vgprs.2538define void @void_func_i32_i64_i32(i32 %arg0, i64 %arg1, i32 %arg2) #0 {2539; CIGFX89-LABEL: void_func_i32_i64_i32:2540; CIGFX89:       ; %bb.0:2541; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2542; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0002543; CIGFX89-NEXT:    s_mov_b32 s6, -12544; CIGFX89-NEXT:    buffer_store_dword v0, off, s[4:7], 02545; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2546; CIGFX89-NEXT:    buffer_store_dwordx2 v[1:2], off, s[4:7], 02547; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2548; CIGFX89-NEXT:    buffer_store_dword v3, off, s[4:7], 02549; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2550; CIGFX89-NEXT:    s_setpc_b64 s[30:31]2551;2552; GFX11-LABEL: void_func_i32_i64_i32:2553; GFX11:       ; %bb.0:2554; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2555; GFX11-NEXT:    s_mov_b32 s3, 0x310160002556; GFX11-NEXT:    s_mov_b32 s2, -12557; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 0 dlc2558; GFX11-NEXT:    s_waitcnt_vscnt null, 0x02559; GFX11-NEXT:    buffer_store_b64 v[1:2], off, s[0:3], 0 dlc2560; GFX11-NEXT:    s_waitcnt_vscnt null, 0x02561; GFX11-NEXT:    buffer_store_b32 v3, off, s[0:3], 0 dlc2562; GFX11-NEXT:    s_waitcnt_vscnt null, 0x02563; GFX11-NEXT:    s_setpc_b64 s[30:31]2564  store volatile i32 %arg0, ptr addrspace(1) poison2565  store volatile i64 %arg1, ptr addrspace(1) poison2566  store volatile i32 %arg2, ptr addrspace(1) poison2567  ret void2568}2569 2570define void @void_func_struct_i32({ i32 } %arg0) #0 {2571; CIGFX89-LABEL: void_func_struct_i32:2572; CIGFX89:       ; %bb.0:2573; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2574; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0002575; CIGFX89-NEXT:    s_mov_b32 s6, -12576; CIGFX89-NEXT:    buffer_store_dword v0, off, s[4:7], 02577; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2578; CIGFX89-NEXT:    s_setpc_b64 s[30:31]2579;2580; GFX11-LABEL: void_func_struct_i32:2581; GFX11:       ; %bb.0:2582; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2583; GFX11-NEXT:    s_mov_b32 s3, 0x310160002584; GFX11-NEXT:    s_mov_b32 s2, -12585; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 02586; GFX11-NEXT:    s_setpc_b64 s[30:31]2587  store { i32 } %arg0, ptr addrspace(1) poison2588  ret void2589}2590 2591define void @void_func_struct_i8_i32({ i8, i32 } %arg0) #0 {2592; CIGFX89-LABEL: void_func_struct_i8_i32:2593; CIGFX89:       ; %bb.0:2594; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2595; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0002596; CIGFX89-NEXT:    s_mov_b32 s6, -12597; CIGFX89-NEXT:    buffer_store_dword v1, off, s[4:7], 02598; CIGFX89-NEXT:    buffer_store_byte v0, off, s[4:7], 02599; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2600; CIGFX89-NEXT:    s_setpc_b64 s[30:31]2601;2602; GFX11-LABEL: void_func_struct_i8_i32:2603; GFX11:       ; %bb.0:2604; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2605; GFX11-NEXT:    s_mov_b32 s3, 0x310160002606; GFX11-NEXT:    s_mov_b32 s2, -12607; GFX11-NEXT:    s_clause 0x12608; GFX11-NEXT:    buffer_store_b32 v1, off, s[0:3], 02609; GFX11-NEXT:    buffer_store_b8 v0, off, s[0:3], 02610; GFX11-NEXT:    s_setpc_b64 s[30:31]2611  store { i8, i32 } %arg0, ptr addrspace(1) poison2612  ret void2613}2614 2615define void @void_func_byval_struct_i8_i32(ptr addrspace(5) byval({ i8, i32 }) %arg0) #0 {2616; CIGFX89-LABEL: void_func_byval_struct_i8_i32:2617; CIGFX89:       ; %bb.0:2618; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2619; CIGFX89-NEXT:    buffer_load_dword v0, off, s[0:3], s32 offset:42620; CIGFX89-NEXT:    buffer_load_ubyte v1, off, s[0:3], s322621; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0002622; CIGFX89-NEXT:    s_mov_b32 s6, -12623; CIGFX89-NEXT:    s_waitcnt vmcnt(1)2624; CIGFX89-NEXT:    buffer_store_dword v0, off, s[4:7], 02625; CIGFX89-NEXT:    s_waitcnt vmcnt(1)2626; CIGFX89-NEXT:    buffer_store_byte v1, off, s[4:7], 02627; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2628; CIGFX89-NEXT:    s_setpc_b64 s[30:31]2629;2630; GFX11-TRUE16-LABEL: void_func_byval_struct_i8_i32:2631; GFX11-TRUE16:       ; %bb.0:2632; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2633; GFX11-TRUE16-NEXT:    s_clause 0x12634; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v0, off, s322635; GFX11-TRUE16-NEXT:    scratch_load_b32 v1, off, s32 offset:42636; GFX11-TRUE16-NEXT:    s_mov_b32 s3, 0x310160002637; GFX11-TRUE16-NEXT:    s_mov_b32 s2, -12638; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0)2639; GFX11-TRUE16-NEXT:    s_clause 0x12640; GFX11-TRUE16-NEXT:    buffer_store_b32 v1, off, s[0:3], 02641; GFX11-TRUE16-NEXT:    buffer_store_b8 v0, off, s[0:3], 02642; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]2643;2644; GFX11-FAKE16-LABEL: void_func_byval_struct_i8_i32:2645; GFX11-FAKE16:       ; %bb.0:2646; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2647; GFX11-FAKE16-NEXT:    s_clause 0x12648; GFX11-FAKE16-NEXT:    scratch_load_b32 v0, off, s32 offset:42649; GFX11-FAKE16-NEXT:    scratch_load_u8 v1, off, s322650; GFX11-FAKE16-NEXT:    s_mov_b32 s3, 0x310160002651; GFX11-FAKE16-NEXT:    s_mov_b32 s2, -12652; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(1)2653; GFX11-FAKE16-NEXT:    buffer_store_b32 v0, off, s[0:3], 02654; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0)2655; GFX11-FAKE16-NEXT:    buffer_store_b8 v1, off, s[0:3], 02656; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]2657  %arg0.load = load { i8, i32 }, ptr addrspace(5) %arg02658  store { i8, i32 } %arg0.load, ptr addrspace(1) poison2659  ret void2660}2661 2662define void @void_func_byval_struct_i8_i32_x2(ptr addrspace(5) byval({ i8, i32 }) %arg0, ptr addrspace(5) byval({ i8, i32 }) %arg1, i32 %arg2) #0 {2663; CI-LABEL: void_func_byval_struct_i8_i32_x2:2664; CI:       ; %bb.0:2665; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2666; CI-NEXT:    buffer_load_ubyte v1, off, s[0:3], s32 glc2667; CI-NEXT:    s_waitcnt vmcnt(0)2668; CI-NEXT:    buffer_load_dword v2, off, s[0:3], s32 offset:4 glc2669; CI-NEXT:    s_waitcnt vmcnt(0)2670; CI-NEXT:    buffer_load_ubyte v3, off, s[0:3], s32 offset:8 glc2671; CI-NEXT:    s_waitcnt vmcnt(0)2672; CI-NEXT:    buffer_load_dword v4, off, s[0:3], s32 offset:12 glc2673; CI-NEXT:    s_waitcnt vmcnt(0)2674; CI-NEXT:    s_mov_b32 s7, 0xf0002675; CI-NEXT:    s_mov_b32 s6, -12676; CI-NEXT:    s_mov_b32 m0, -12677; CI-NEXT:    buffer_store_dword v2, off, s[4:7], 02678; CI-NEXT:    s_waitcnt vmcnt(0)2679; CI-NEXT:    buffer_store_byte v1, off, s[4:7], 02680; CI-NEXT:    s_waitcnt vmcnt(0)2681; CI-NEXT:    buffer_store_dword v4, off, s[4:7], 02682; CI-NEXT:    s_waitcnt vmcnt(0)2683; CI-NEXT:    buffer_store_byte v3, off, s[4:7], 02684; CI-NEXT:    s_waitcnt vmcnt(0)2685; CI-NEXT:    ds_write_b32 v0, v02686; CI-NEXT:    s_waitcnt lgkmcnt(0)2687; CI-NEXT:    s_setpc_b64 s[30:31]2688;2689; VI-LABEL: void_func_byval_struct_i8_i32_x2:2690; VI:       ; %bb.0:2691; VI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2692; VI-NEXT:    buffer_load_ubyte v1, off, s[0:3], s32 glc2693; VI-NEXT:    s_waitcnt vmcnt(0)2694; VI-NEXT:    buffer_load_dword v2, off, s[0:3], s32 offset:4 glc2695; VI-NEXT:    s_waitcnt vmcnt(0)2696; VI-NEXT:    buffer_load_ubyte v3, off, s[0:3], s32 offset:8 glc2697; VI-NEXT:    s_waitcnt vmcnt(0)2698; VI-NEXT:    buffer_load_dword v4, off, s[0:3], s32 offset:12 glc2699; VI-NEXT:    s_waitcnt vmcnt(0)2700; VI-NEXT:    s_mov_b32 s7, 0xf0002701; VI-NEXT:    s_mov_b32 s6, -12702; VI-NEXT:    s_mov_b32 m0, -12703; VI-NEXT:    buffer_store_dword v2, off, s[4:7], 02704; VI-NEXT:    s_waitcnt vmcnt(0)2705; VI-NEXT:    buffer_store_byte v1, off, s[4:7], 02706; VI-NEXT:    s_waitcnt vmcnt(0)2707; VI-NEXT:    buffer_store_dword v4, off, s[4:7], 02708; VI-NEXT:    s_waitcnt vmcnt(0)2709; VI-NEXT:    buffer_store_byte v3, off, s[4:7], 02710; VI-NEXT:    s_waitcnt vmcnt(0)2711; VI-NEXT:    ds_write_b32 v0, v02712; VI-NEXT:    s_waitcnt lgkmcnt(0)2713; VI-NEXT:    s_setpc_b64 s[30:31]2714;2715; GFX9-LABEL: void_func_byval_struct_i8_i32_x2:2716; GFX9:       ; %bb.0:2717; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2718; GFX9-NEXT:    buffer_load_ubyte v1, off, s[0:3], s32 glc2719; GFX9-NEXT:    s_waitcnt vmcnt(0)2720; GFX9-NEXT:    buffer_load_dword v2, off, s[0:3], s32 offset:4 glc2721; GFX9-NEXT:    s_waitcnt vmcnt(0)2722; GFX9-NEXT:    buffer_load_ubyte v3, off, s[0:3], s32 offset:8 glc2723; GFX9-NEXT:    s_waitcnt vmcnt(0)2724; GFX9-NEXT:    buffer_load_dword v4, off, s[0:3], s32 offset:12 glc2725; GFX9-NEXT:    s_waitcnt vmcnt(0)2726; GFX9-NEXT:    s_mov_b32 s7, 0xf0002727; GFX9-NEXT:    s_mov_b32 s6, -12728; GFX9-NEXT:    buffer_store_dword v2, off, s[4:7], 02729; GFX9-NEXT:    s_waitcnt vmcnt(0)2730; GFX9-NEXT:    buffer_store_byte v1, off, s[4:7], 02731; GFX9-NEXT:    s_waitcnt vmcnt(0)2732; GFX9-NEXT:    buffer_store_dword v4, off, s[4:7], 02733; GFX9-NEXT:    s_waitcnt vmcnt(0)2734; GFX9-NEXT:    buffer_store_byte v3, off, s[4:7], 02735; GFX9-NEXT:    s_waitcnt vmcnt(0)2736; GFX9-NEXT:    ds_write_b32 v0, v02737; GFX9-NEXT:    s_waitcnt lgkmcnt(0)2738; GFX9-NEXT:    s_setpc_b64 s[30:31]2739;2740; GFX11-TRUE16-LABEL: void_func_byval_struct_i8_i32_x2:2741; GFX11-TRUE16:       ; %bb.0:2742; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2743; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v1, off, s32 glc dlc2744; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0)2745; GFX11-TRUE16-NEXT:    scratch_load_b32 v3, off, s32 offset:4 glc dlc2746; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0)2747; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v2, off, s32 offset:8 glc dlc2748; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0)2749; GFX11-TRUE16-NEXT:    scratch_load_b32 v4, off, s32 offset:12 glc dlc2750; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0)2751; GFX11-TRUE16-NEXT:    s_mov_b32 s3, 0x310160002752; GFX11-TRUE16-NEXT:    s_mov_b32 s2, -12753; GFX11-TRUE16-NEXT:    buffer_store_b32 v3, off, s[0:3], 0 dlc2754; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x02755; GFX11-TRUE16-NEXT:    buffer_store_b8 v1, off, s[0:3], 0 dlc2756; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x02757; GFX11-TRUE16-NEXT:    buffer_store_b32 v4, off, s[0:3], 0 dlc2758; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x02759; GFX11-TRUE16-NEXT:    buffer_store_b8 v2, off, s[0:3], 0 dlc2760; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x02761; GFX11-TRUE16-NEXT:    ds_store_b32 v0, v02762; GFX11-TRUE16-NEXT:    s_waitcnt lgkmcnt(0)2763; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]2764;2765; GFX11-FAKE16-LABEL: void_func_byval_struct_i8_i32_x2:2766; GFX11-FAKE16:       ; %bb.0:2767; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2768; GFX11-FAKE16-NEXT:    scratch_load_u8 v1, off, s32 glc dlc2769; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0)2770; GFX11-FAKE16-NEXT:    scratch_load_b32 v2, off, s32 offset:4 glc dlc2771; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0)2772; GFX11-FAKE16-NEXT:    scratch_load_u8 v3, off, s32 offset:8 glc dlc2773; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0)2774; GFX11-FAKE16-NEXT:    scratch_load_b32 v4, off, s32 offset:12 glc dlc2775; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0)2776; GFX11-FAKE16-NEXT:    s_mov_b32 s3, 0x310160002777; GFX11-FAKE16-NEXT:    s_mov_b32 s2, -12778; GFX11-FAKE16-NEXT:    buffer_store_b32 v2, off, s[0:3], 0 dlc2779; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x02780; GFX11-FAKE16-NEXT:    buffer_store_b8 v1, off, s[0:3], 0 dlc2781; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x02782; GFX11-FAKE16-NEXT:    buffer_store_b32 v4, off, s[0:3], 0 dlc2783; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x02784; GFX11-FAKE16-NEXT:    buffer_store_b8 v3, off, s[0:3], 0 dlc2785; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x02786; GFX11-FAKE16-NEXT:    ds_store_b32 v0, v02787; GFX11-FAKE16-NEXT:    s_waitcnt lgkmcnt(0)2788; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]2789  %arg0.load = load volatile { i8, i32 }, ptr addrspace(5) %arg02790  %arg1.load = load volatile { i8, i32 }, ptr addrspace(5) %arg12791  store volatile { i8, i32 } %arg0.load, ptr addrspace(1) poison2792  store volatile { i8, i32 } %arg1.load, ptr addrspace(1) poison2793  store volatile i32 %arg2, ptr addrspace(3) poison2794  ret void2795}2796 2797define void @void_func_byval_i32_byval_i64(ptr addrspace(5) byval(i32) %arg0, ptr addrspace(5) byval(i64) %arg1) #0 {2798; CIGFX89-LABEL: void_func_byval_i32_byval_i64:2799; CIGFX89:       ; %bb.0:2800; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2801; CIGFX89-NEXT:    buffer_load_dword v2, off, s[0:3], s322802; CIGFX89-NEXT:    buffer_load_dword v0, off, s[0:3], s32 offset:82803; CIGFX89-NEXT:    buffer_load_dword v1, off, s[0:3], s32 offset:122804; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0002805; CIGFX89-NEXT:    s_mov_b32 s6, -12806; CIGFX89-NEXT:    s_waitcnt vmcnt(2)2807; CIGFX89-NEXT:    buffer_store_dword v2, off, s[4:7], 02808; CIGFX89-NEXT:    s_waitcnt vmcnt(1)2809; CIGFX89-NEXT:    buffer_store_dwordx2 v[0:1], off, s[4:7], 02810; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2811; CIGFX89-NEXT:    s_setpc_b64 s[30:31]2812;2813; GFX11-LABEL: void_func_byval_i32_byval_i64:2814; GFX11:       ; %bb.0:2815; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2816; GFX11-NEXT:    s_clause 0x12817; GFX11-NEXT:    scratch_load_b32 v2, off, s322818; GFX11-NEXT:    scratch_load_b64 v[0:1], off, s32 offset:82819; GFX11-NEXT:    s_mov_b32 s3, 0x310160002820; GFX11-NEXT:    s_mov_b32 s2, -12821; GFX11-NEXT:    s_waitcnt vmcnt(1)2822; GFX11-NEXT:    buffer_store_b32 v2, off, s[0:3], 02823; GFX11-NEXT:    s_waitcnt vmcnt(0)2824; GFX11-NEXT:    buffer_store_b64 v[0:1], off, s[0:3], 02825; GFX11-NEXT:    s_setpc_b64 s[30:31]2826  %arg0.load = load i32, ptr addrspace(5) %arg02827  %arg1.load = load i64, ptr addrspace(5) %arg12828  store i32 %arg0.load, ptr addrspace(1) poison2829  store i64 %arg1.load, ptr addrspace(1) poison2830  ret void2831}2832 2833define void @void_func_v32i32_i32_i64(<32 x i32> %arg0, i32 %arg1, i64 %arg2) #0 {2834; CIGFX89-LABEL: void_func_v32i32_i32_i64:2835; CIGFX89:       ; %bb.0:2836; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2837; CIGFX89-NEXT:    buffer_load_dword v31, off, s[0:3], s322838; CIGFX89-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:122839; CIGFX89-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:82840; CIGFX89-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:42841; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0002842; CIGFX89-NEXT:    s_mov_b32 s6, -12843; CIGFX89-NEXT:    s_waitcnt vmcnt(3)2844; CIGFX89-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 02845; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2846; CIGFX89-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 02847; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2848; CIGFX89-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 02849; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2850; CIGFX89-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 02851; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2852; CIGFX89-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 02853; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2854; CIGFX89-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 02855; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2856; CIGFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 02857; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2858; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 02859; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2860; CIGFX89-NEXT:    buffer_store_dword v34, off, s[4:7], 02861; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2862; CIGFX89-NEXT:    buffer_store_dwordx2 v[32:33], off, s[4:7], 02863; CIGFX89-NEXT:    s_waitcnt vmcnt(0)2864; CIGFX89-NEXT:    s_setpc_b64 s[30:31]2865;2866; GFX11-LABEL: void_func_v32i32_i32_i64:2867; GFX11:       ; %bb.0:2868; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2869; GFX11-NEXT:    s_clause 0x32870; GFX11-NEXT:    scratch_load_b32 v31, off, s322871; GFX11-NEXT:    scratch_load_b32 v33, off, s32 offset:122872; GFX11-NEXT:    scratch_load_b32 v34, off, s32 offset:42873; GFX11-NEXT:    scratch_load_b32 v32, off, s32 offset:82874; GFX11-NEXT:    s_mov_b32 s3, 0x310160002875; GFX11-NEXT:    s_mov_b32 s2, -12876; GFX11-NEXT:    s_waitcnt vmcnt(3)2877; GFX11-NEXT:    buffer_store_b128 v[28:31], off, s[0:3], 0 dlc2878; GFX11-NEXT:    s_waitcnt_vscnt null, 0x02879; GFX11-NEXT:    buffer_store_b128 v[24:27], off, s[0:3], 0 dlc2880; GFX11-NEXT:    s_waitcnt_vscnt null, 0x02881; GFX11-NEXT:    buffer_store_b128 v[20:23], off, s[0:3], 0 dlc2882; GFX11-NEXT:    s_waitcnt_vscnt null, 0x02883; GFX11-NEXT:    buffer_store_b128 v[16:19], off, s[0:3], 0 dlc2884; GFX11-NEXT:    s_waitcnt_vscnt null, 0x02885; GFX11-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 0 dlc2886; GFX11-NEXT:    s_waitcnt_vscnt null, 0x02887; GFX11-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 0 dlc2888; GFX11-NEXT:    s_waitcnt_vscnt null, 0x02889; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0 dlc2890; GFX11-NEXT:    s_waitcnt_vscnt null, 0x02891; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0 dlc2892; GFX11-NEXT:    s_waitcnt_vscnt null, 0x02893; GFX11-NEXT:    s_waitcnt vmcnt(1)2894; GFX11-NEXT:    buffer_store_b32 v34, off, s[0:3], 0 dlc2895; GFX11-NEXT:    s_waitcnt_vscnt null, 0x02896; GFX11-NEXT:    s_waitcnt vmcnt(0)2897; GFX11-NEXT:    buffer_store_b64 v[32:33], off, s[0:3], 0 dlc2898; GFX11-NEXT:    s_waitcnt_vscnt null, 0x02899; GFX11-NEXT:    s_setpc_b64 s[30:31]2900  store volatile <32 x i32> %arg0, ptr addrspace(1) poison2901  store volatile i32 %arg1, ptr addrspace(1) poison2902  store volatile i64 %arg2, ptr addrspace(1) poison2903  ret void2904}2905 2906; FIXME: Different ext load types on CI vs. VI2907define void @void_func_v32i32_i1_i8_i16_bf16(<32 x i32> %arg0, i1 %arg1, i8 %arg2, i16 %arg3, half %arg4, bfloat %arg5) #0 {2908; CI-LABEL: void_func_v32i32_i1_i8_i16_bf16:2909; CI:       ; %bb.0:2910; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2911; CI-NEXT:    buffer_load_dword v31, off, s[0:3], s322912; CI-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:202913; CI-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:162914; CI-NEXT:    buffer_load_ubyte v34, off, s[0:3], s32 offset:42915; CI-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:82916; CI-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:122917; CI-NEXT:    s_mov_b32 s7, 0xf0002918; CI-NEXT:    s_mov_b32 s6, -12919; CI-NEXT:    s_waitcnt vmcnt(5)2920; CI-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 02921; CI-NEXT:    s_waitcnt vmcnt(0)2922; CI-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 02923; CI-NEXT:    s_waitcnt vmcnt(0)2924; CI-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 02925; CI-NEXT:    s_waitcnt vmcnt(0)2926; CI-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 02927; CI-NEXT:    s_waitcnt vmcnt(0)2928; CI-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 02929; CI-NEXT:    s_waitcnt vmcnt(0)2930; CI-NEXT:    v_mul_f32_e32 v12, 1.0, v322931; CI-NEXT:    v_cvt_f16_f32_e32 v13, v332932; CI-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 02933; CI-NEXT:    s_waitcnt vmcnt(0)2934; CI-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 02935; CI-NEXT:    s_waitcnt vmcnt(0)2936; CI-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 02937; CI-NEXT:    s_waitcnt vmcnt(0)2938; CI-NEXT:    v_and_b32_e32 v0, 1, v342939; CI-NEXT:    v_lshrrev_b32_e32 v1, 16, v122940; CI-NEXT:    buffer_store_byte v0, off, s[4:7], 02941; CI-NEXT:    s_waitcnt vmcnt(0)2942; CI-NEXT:    buffer_store_byte v35, off, s[4:7], 02943; CI-NEXT:    s_waitcnt vmcnt(0)2944; CI-NEXT:    buffer_store_short v36, off, s[4:7], 02945; CI-NEXT:    s_waitcnt vmcnt(0)2946; CI-NEXT:    buffer_store_short v13, off, s[4:7], 02947; CI-NEXT:    s_waitcnt vmcnt(0)2948; CI-NEXT:    buffer_store_short v1, off, s[4:7], 02949; CI-NEXT:    s_waitcnt vmcnt(0)2950; CI-NEXT:    s_setpc_b64 s[30:31]2951;2952; GFX89-LABEL: void_func_v32i32_i1_i8_i16_bf16:2953; GFX89:       ; %bb.0:2954; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2955; GFX89-NEXT:    buffer_load_dword v31, off, s[0:3], s322956; GFX89-NEXT:    buffer_load_ubyte v32, off, s[0:3], s32 offset:42957; GFX89-NEXT:    buffer_load_ushort v33, off, s[0:3], s32 offset:82958; GFX89-NEXT:    buffer_load_ushort v34, off, s[0:3], s32 offset:122959; GFX89-NEXT:    buffer_load_ushort v35, off, s[0:3], s32 offset:162960; GFX89-NEXT:    buffer_load_ushort v36, off, s[0:3], s32 offset:202961; GFX89-NEXT:    s_mov_b32 s7, 0xf0002962; GFX89-NEXT:    s_mov_b32 s6, -12963; GFX89-NEXT:    s_waitcnt vmcnt(5)2964; GFX89-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 02965; GFX89-NEXT:    s_waitcnt vmcnt(0)2966; GFX89-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 02967; GFX89-NEXT:    s_waitcnt vmcnt(0)2968; GFX89-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 02969; GFX89-NEXT:    s_waitcnt vmcnt(0)2970; GFX89-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 02971; GFX89-NEXT:    s_waitcnt vmcnt(0)2972; GFX89-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 02973; GFX89-NEXT:    s_waitcnt vmcnt(0)2974; GFX89-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 02975; GFX89-NEXT:    s_waitcnt vmcnt(0)2976; GFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 02977; GFX89-NEXT:    s_waitcnt vmcnt(0)2978; GFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 02979; GFX89-NEXT:    s_waitcnt vmcnt(0)2980; GFX89-NEXT:    v_and_b32_e32 v0, 1, v322981; GFX89-NEXT:    buffer_store_byte v0, off, s[4:7], 02982; GFX89-NEXT:    s_waitcnt vmcnt(0)2983; GFX89-NEXT:    buffer_store_byte v33, off, s[4:7], 02984; GFX89-NEXT:    s_waitcnt vmcnt(0)2985; GFX89-NEXT:    buffer_store_short v34, off, s[4:7], 02986; GFX89-NEXT:    s_waitcnt vmcnt(0)2987; GFX89-NEXT:    buffer_store_short v35, off, s[4:7], 02988; GFX89-NEXT:    s_waitcnt vmcnt(0)2989; GFX89-NEXT:    buffer_store_short v36, off, s[4:7], 02990; GFX89-NEXT:    s_waitcnt vmcnt(0)2991; GFX89-NEXT:    s_setpc_b64 s[30:31]2992;2993; GFX11-TRUE16-LABEL: void_func_v32i32_i1_i8_i16_bf16:2994; GFX11-TRUE16:       ; %bb.0:2995; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)2996; GFX11-TRUE16-NEXT:    s_clause 0x52997; GFX11-TRUE16-NEXT:    scratch_load_b32 v31, off, s322998; GFX11-TRUE16-NEXT:    scratch_load_u8 v36, off, s32 offset:42999; GFX11-TRUE16-NEXT:    scratch_load_d16_b16 v32, off, s32 offset:83000; GFX11-TRUE16-NEXT:    scratch_load_d16_b16 v33, off, s32 offset:123001; GFX11-TRUE16-NEXT:    scratch_load_d16_b16 v34, off, s32 offset:163002; GFX11-TRUE16-NEXT:    scratch_load_d16_b16 v35, off, s32 offset:203003; GFX11-TRUE16-NEXT:    s_mov_b32 s3, 0x310160003004; GFX11-TRUE16-NEXT:    s_mov_b32 s2, -13005; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(5)3006; GFX11-TRUE16-NEXT:    buffer_store_b128 v[28:31], off, s[0:3], 0 dlc3007; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x03008; GFX11-TRUE16-NEXT:    buffer_store_b128 v[24:27], off, s[0:3], 0 dlc3009; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x03010; GFX11-TRUE16-NEXT:    buffer_store_b128 v[20:23], off, s[0:3], 0 dlc3011; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x03012; GFX11-TRUE16-NEXT:    buffer_store_b128 v[16:19], off, s[0:3], 0 dlc3013; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x03014; GFX11-TRUE16-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 0 dlc3015; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x03016; GFX11-TRUE16-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 0 dlc3017; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x03018; GFX11-TRUE16-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0 dlc3019; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x03020; GFX11-TRUE16-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0 dlc3021; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x03022; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(4)3023; GFX11-TRUE16-NEXT:    v_and_b32_e32 v0, 1, v363024; GFX11-TRUE16-NEXT:    buffer_store_b8 v0, off, s[0:3], 0 dlc3025; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x03026; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(3)3027; GFX11-TRUE16-NEXT:    buffer_store_b8 v32, off, s[0:3], 0 dlc3028; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x03029; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(2)3030; GFX11-TRUE16-NEXT:    buffer_store_b16 v33, off, s[0:3], 0 dlc3031; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x03032; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(1)3033; GFX11-TRUE16-NEXT:    buffer_store_b16 v34, off, s[0:3], 0 dlc3034; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x03035; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0)3036; GFX11-TRUE16-NEXT:    buffer_store_b16 v35, off, s[0:3], 0 dlc3037; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x03038; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]3039;3040; GFX11-FAKE16-LABEL: void_func_v32i32_i1_i8_i16_bf16:3041; GFX11-FAKE16:       ; %bb.0:3042; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3043; GFX11-FAKE16-NEXT:    s_clause 0x53044; GFX11-FAKE16-NEXT:    scratch_load_b32 v31, off, s323045; GFX11-FAKE16-NEXT:    scratch_load_u8 v32, off, s32 offset:43046; GFX11-FAKE16-NEXT:    scratch_load_u16 v33, off, s32 offset:83047; GFX11-FAKE16-NEXT:    scratch_load_u16 v34, off, s32 offset:123048; GFX11-FAKE16-NEXT:    scratch_load_u16 v35, off, s32 offset:163049; GFX11-FAKE16-NEXT:    scratch_load_u16 v36, off, s32 offset:203050; GFX11-FAKE16-NEXT:    s_mov_b32 s3, 0x310160003051; GFX11-FAKE16-NEXT:    s_mov_b32 s2, -13052; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(5)3053; GFX11-FAKE16-NEXT:    buffer_store_b128 v[28:31], off, s[0:3], 0 dlc3054; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x03055; GFX11-FAKE16-NEXT:    buffer_store_b128 v[24:27], off, s[0:3], 0 dlc3056; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x03057; GFX11-FAKE16-NEXT:    buffer_store_b128 v[20:23], off, s[0:3], 0 dlc3058; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x03059; GFX11-FAKE16-NEXT:    buffer_store_b128 v[16:19], off, s[0:3], 0 dlc3060; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x03061; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(4)3062; GFX11-FAKE16-NEXT:    v_and_b32_e32 v16, 1, v323063; GFX11-FAKE16-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 0 dlc3064; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x03065; GFX11-FAKE16-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 0 dlc3066; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x03067; GFX11-FAKE16-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0 dlc3068; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x03069; GFX11-FAKE16-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0 dlc3070; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x03071; GFX11-FAKE16-NEXT:    buffer_store_b8 v16, off, s[0:3], 0 dlc3072; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x03073; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(3)3074; GFX11-FAKE16-NEXT:    buffer_store_b8 v33, off, s[0:3], 0 dlc3075; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x03076; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(2)3077; GFX11-FAKE16-NEXT:    buffer_store_b16 v34, off, s[0:3], 0 dlc3078; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x03079; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(1)3080; GFX11-FAKE16-NEXT:    buffer_store_b16 v35, off, s[0:3], 0 dlc3081; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x03082; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0)3083; GFX11-FAKE16-NEXT:    buffer_store_b16 v36, off, s[0:3], 0 dlc3084; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x03085; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]3086  store volatile <32 x i32> %arg0, ptr addrspace(1) poison3087  store volatile i1 %arg1, ptr addrspace(1) poison3088  store volatile i8 %arg2, ptr addrspace(1) poison3089  store volatile i16 %arg3, ptr addrspace(1) poison3090  store volatile half %arg4, ptr addrspace(1) poison3091  store volatile bfloat %arg5, ptr addrspace(1) poison3092  ret void3093}3094 3095define void @void_func_v32i32_v2i32_v2f32(<32 x i32> %arg0, <2 x i32> %arg1, <2 x float> %arg2) #0 {3096; CIGFX89-LABEL: void_func_v32i32_v2i32_v2f32:3097; CIGFX89:       ; %bb.0:3098; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3099; CIGFX89-NEXT:    buffer_load_dword v31, off, s[0:3], s323100; CIGFX89-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:83101; CIGFX89-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:43102; CIGFX89-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:163103; CIGFX89-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:123104; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0003105; CIGFX89-NEXT:    s_mov_b32 s6, -13106; CIGFX89-NEXT:    s_waitcnt vmcnt(4)3107; CIGFX89-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 03108; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3109; CIGFX89-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 03110; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3111; CIGFX89-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 03112; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3113; CIGFX89-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03114; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3115; CIGFX89-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03116; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3117; CIGFX89-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 03118; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3119; CIGFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 03120; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3121; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 03122; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3123; CIGFX89-NEXT:    buffer_store_dwordx2 v[32:33], off, s[4:7], 03124; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3125; CIGFX89-NEXT:    buffer_store_dwordx2 v[34:35], off, s[4:7], 03126; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3127; CIGFX89-NEXT:    s_setpc_b64 s[30:31]3128;3129; GFX11-LABEL: void_func_v32i32_v2i32_v2f32:3130; GFX11:       ; %bb.0:3131; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3132; GFX11-NEXT:    s_clause 0x43133; GFX11-NEXT:    scratch_load_b32 v31, off, s323134; GFX11-NEXT:    scratch_load_b32 v33, off, s32 offset:83135; GFX11-NEXT:    scratch_load_b32 v32, off, s32 offset:43136; GFX11-NEXT:    scratch_load_b32 v35, off, s32 offset:163137; GFX11-NEXT:    scratch_load_b32 v34, off, s32 offset:123138; GFX11-NEXT:    s_mov_b32 s3, 0x310160003139; GFX11-NEXT:    s_mov_b32 s2, -13140; GFX11-NEXT:    s_waitcnt vmcnt(4)3141; GFX11-NEXT:    buffer_store_b128 v[28:31], off, s[0:3], 0 dlc3142; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03143; GFX11-NEXT:    buffer_store_b128 v[24:27], off, s[0:3], 0 dlc3144; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03145; GFX11-NEXT:    buffer_store_b128 v[20:23], off, s[0:3], 0 dlc3146; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03147; GFX11-NEXT:    buffer_store_b128 v[16:19], off, s[0:3], 0 dlc3148; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03149; GFX11-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 0 dlc3150; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03151; GFX11-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 0 dlc3152; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03153; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0 dlc3154; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03155; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0 dlc3156; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03157; GFX11-NEXT:    s_waitcnt vmcnt(2)3158; GFX11-NEXT:    buffer_store_b64 v[32:33], off, s[0:3], 0 dlc3159; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03160; GFX11-NEXT:    s_waitcnt vmcnt(0)3161; GFX11-NEXT:    buffer_store_b64 v[34:35], off, s[0:3], 0 dlc3162; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03163; GFX11-NEXT:    s_setpc_b64 s[30:31]3164  store volatile <32 x i32> %arg0, ptr addrspace(1) poison3165  store volatile <2 x i32> %arg1, ptr addrspace(1) poison3166  store volatile <2 x float> %arg2, ptr addrspace(1) poison3167  ret void3168}3169 3170define void @void_func_v32i32_v2i16_v2f16_v2bf16_v4bf16(<32 x i32> %arg0, <2 x i16> %arg1, <2 x half> %arg2, <2 x bfloat> %arg3, <4 x bfloat> %arg4) #0 {3171; CI-LABEL: void_func_v32i32_v2i16_v2f16_v2bf16_v4bf16:3172; CI:       ; %bb.0:3173; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3174; CI-NEXT:    buffer_load_dword v31, off, s[0:3], s323175; CI-NEXT:    s_mov_b32 s7, 0xf0003176; CI-NEXT:    s_mov_b32 s6, -13177; CI-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:283178; CI-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:323179; CI-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:363180; CI-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:403181; CI-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:203182; CI-NEXT:    buffer_load_dword v37, off, s[0:3], s32 offset:243183; CI-NEXT:    buffer_load_dword v38, off, s[0:3], s32 offset:123184; CI-NEXT:    s_waitcnt vmcnt(7)3185; CI-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 03186; CI-NEXT:    s_waitcnt vmcnt(0)3187; CI-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 03188; CI-NEXT:    s_waitcnt vmcnt(0)3189; CI-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 03190; CI-NEXT:    s_waitcnt vmcnt(0)3191; CI-NEXT:    buffer_load_dword v20, off, s[0:3], s32 offset:163192; CI-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03193; CI-NEXT:    s_waitcnt vmcnt(0)3194; CI-NEXT:    buffer_load_dword v16, off, s[0:3], s32 offset:83195; CI-NEXT:    buffer_load_dword v17, off, s[0:3], s32 offset:43196; CI-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03197; CI-NEXT:    s_waitcnt vmcnt(0)3198; CI-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 03199; CI-NEXT:    s_waitcnt vmcnt(0)3200; CI-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 03201; CI-NEXT:    s_waitcnt vmcnt(0)3202; CI-NEXT:    v_cvt_f16_f32_e32 v10, v383203; CI-NEXT:    v_mul_f32_e32 v4, 1.0, v323204; CI-NEXT:    v_mul_f32_e32 v5, 1.0, v333205; CI-NEXT:    v_mul_f32_e32 v6, 1.0, v343206; CI-NEXT:    v_mul_f32_e32 v7, 1.0, v353207; CI-NEXT:    v_mul_f32_e32 v8, 1.0, v363208; CI-NEXT:    v_mul_f32_e32 v9, 1.0, v373209; CI-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 03210; CI-NEXT:    s_waitcnt vmcnt(0)3211; CI-NEXT:    buffer_store_short v16, off, s[4:7], 03212; CI-NEXT:    s_waitcnt vmcnt(0)3213; CI-NEXT:    buffer_store_short v17, off, s[4:7], 03214; CI-NEXT:    s_waitcnt vmcnt(0)3215; CI-NEXT:    v_cvt_f16_f32_e32 v11, v203216; CI-NEXT:    v_lshrrev_b32_e32 v0, 16, v43217; CI-NEXT:    v_lshrrev_b32_e32 v1, 16, v53218; CI-NEXT:    v_lshrrev_b32_e32 v2, 16, v63219; CI-NEXT:    v_lshrrev_b32_e32 v3, 16, v73220; CI-NEXT:    v_lshrrev_b32_e32 v4, 16, v83221; CI-NEXT:    v_lshrrev_b32_e32 v5, 16, v93222; CI-NEXT:    buffer_store_short v11, off, s[4:7], 03223; CI-NEXT:    s_waitcnt vmcnt(0)3224; CI-NEXT:    buffer_store_short v10, off, s[4:7], 03225; CI-NEXT:    s_waitcnt vmcnt(0)3226; CI-NEXT:    buffer_store_short v5, off, s[4:7], 03227; CI-NEXT:    s_waitcnt vmcnt(0)3228; CI-NEXT:    buffer_store_short v4, off, s[4:7], 03229; CI-NEXT:    s_waitcnt vmcnt(0)3230; CI-NEXT:    buffer_store_short v3, off, s[4:7], 03231; CI-NEXT:    s_waitcnt vmcnt(0)3232; CI-NEXT:    buffer_store_short v2, off, s[4:7], 03233; CI-NEXT:    s_waitcnt vmcnt(0)3234; CI-NEXT:    buffer_store_short v1, off, s[4:7], 03235; CI-NEXT:    s_waitcnt vmcnt(0)3236; CI-NEXT:    buffer_store_short v0, off, s[4:7], 03237; CI-NEXT:    s_waitcnt vmcnt(0)3238; CI-NEXT:    s_setpc_b64 s[30:31]3239;3240; GFX89-LABEL: void_func_v32i32_v2i16_v2f16_v2bf16_v4bf16:3241; GFX89:       ; %bb.0:3242; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3243; GFX89-NEXT:    buffer_load_dword v31, off, s[0:3], s323244; GFX89-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:203245; GFX89-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:163246; GFX89-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:43247; GFX89-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:83248; GFX89-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:123249; GFX89-NEXT:    s_mov_b32 s7, 0xf0003250; GFX89-NEXT:    s_mov_b32 s6, -13251; GFX89-NEXT:    s_waitcnt vmcnt(5)3252; GFX89-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 03253; GFX89-NEXT:    s_waitcnt vmcnt(0)3254; GFX89-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 03255; GFX89-NEXT:    s_waitcnt vmcnt(0)3256; GFX89-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 03257; GFX89-NEXT:    s_waitcnt vmcnt(0)3258; GFX89-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03259; GFX89-NEXT:    s_waitcnt vmcnt(0)3260; GFX89-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03261; GFX89-NEXT:    s_waitcnt vmcnt(0)3262; GFX89-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 03263; GFX89-NEXT:    s_waitcnt vmcnt(0)3264; GFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 03265; GFX89-NEXT:    s_waitcnt vmcnt(0)3266; GFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 03267; GFX89-NEXT:    s_waitcnt vmcnt(0)3268; GFX89-NEXT:    buffer_store_dword v34, off, s[4:7], 03269; GFX89-NEXT:    s_waitcnt vmcnt(0)3270; GFX89-NEXT:    buffer_store_dword v35, off, s[4:7], 03271; GFX89-NEXT:    s_waitcnt vmcnt(0)3272; GFX89-NEXT:    buffer_store_dword v36, off, s[4:7], 03273; GFX89-NEXT:    s_waitcnt vmcnt(0)3274; GFX89-NEXT:    buffer_store_dwordx2 v[32:33], off, s[4:7], 03275; GFX89-NEXT:    s_waitcnt vmcnt(0)3276; GFX89-NEXT:    s_setpc_b64 s[30:31]3277;3278; GFX11-LABEL: void_func_v32i32_v2i16_v2f16_v2bf16_v4bf16:3279; GFX11:       ; %bb.0:3280; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3281; GFX11-NEXT:    s_clause 0x53282; GFX11-NEXT:    scratch_load_b32 v31, off, s323283; GFX11-NEXT:    scratch_load_b32 v33, off, s32 offset:203284; GFX11-NEXT:    scratch_load_b32 v34, off, s32 offset:43285; GFX11-NEXT:    scratch_load_b32 v35, off, s32 offset:83286; GFX11-NEXT:    scratch_load_b32 v36, off, s32 offset:123287; GFX11-NEXT:    scratch_load_b32 v32, off, s32 offset:163288; GFX11-NEXT:    s_mov_b32 s3, 0x310160003289; GFX11-NEXT:    s_mov_b32 s2, -13290; GFX11-NEXT:    s_waitcnt vmcnt(5)3291; GFX11-NEXT:    buffer_store_b128 v[28:31], off, s[0:3], 0 dlc3292; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03293; GFX11-NEXT:    buffer_store_b128 v[24:27], off, s[0:3], 0 dlc3294; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03295; GFX11-NEXT:    buffer_store_b128 v[20:23], off, s[0:3], 0 dlc3296; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03297; GFX11-NEXT:    buffer_store_b128 v[16:19], off, s[0:3], 0 dlc3298; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03299; GFX11-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 0 dlc3300; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03301; GFX11-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 0 dlc3302; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03303; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0 dlc3304; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03305; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0 dlc3306; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03307; GFX11-NEXT:    s_waitcnt vmcnt(3)3308; GFX11-NEXT:    buffer_store_b32 v34, off, s[0:3], 0 dlc3309; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03310; GFX11-NEXT:    s_waitcnt vmcnt(2)3311; GFX11-NEXT:    buffer_store_b32 v35, off, s[0:3], 0 dlc3312; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03313; GFX11-NEXT:    s_waitcnt vmcnt(1)3314; GFX11-NEXT:    buffer_store_b32 v36, off, s[0:3], 0 dlc3315; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03316; GFX11-NEXT:    s_waitcnt vmcnt(0)3317; GFX11-NEXT:    buffer_store_b64 v[32:33], off, s[0:3], 0 dlc3318; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03319; GFX11-NEXT:    s_setpc_b64 s[30:31]3320  store volatile <32 x i32> %arg0, ptr addrspace(1) poison3321  store volatile <2 x i16> %arg1, ptr addrspace(1) poison3322  store volatile <2 x half> %arg2, ptr addrspace(1) poison3323  store volatile <2 x bfloat> %arg3, ptr addrspace(1) poison3324  store volatile <4 x bfloat> %arg4, ptr addrspace(1) poison3325  ret void3326}3327 3328define void @void_func_v32i32_v2i64_v2f64(<32 x i32> %arg0, <2 x i64> %arg1, <2 x double> %arg2) #0 {3329; CI-LABEL: void_func_v32i32_v2i64_v2f64:3330; CI:       ; %bb.0:3331; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3332; CI-NEXT:    buffer_load_dword v31, off, s[0:3], s323333; CI-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:323334; CI-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:283335; CI-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:243336; CI-NEXT:    buffer_load_dword v38, off, s[0:3], s32 offset:163337; CI-NEXT:    buffer_load_dword v37, off, s[0:3], s32 offset:123338; CI-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:83339; CI-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:43340; CI-NEXT:    s_mov_b32 s7, 0xf0003341; CI-NEXT:    s_mov_b32 s6, -13342; CI-NEXT:    s_waitcnt vmcnt(7)3343; CI-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 03344; CI-NEXT:    s_waitcnt vmcnt(0)3345; CI-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 03346; CI-NEXT:    s_waitcnt vmcnt(0)3347; CI-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 03348; CI-NEXT:    s_waitcnt vmcnt(0)3349; CI-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:203350; CI-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03351; CI-NEXT:    s_waitcnt vmcnt(0)3352; CI-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03353; CI-NEXT:    s_waitcnt vmcnt(0)3354; CI-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 03355; CI-NEXT:    s_waitcnt vmcnt(0)3356; CI-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 03357; CI-NEXT:    s_waitcnt vmcnt(0)3358; CI-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 03359; CI-NEXT:    s_waitcnt vmcnt(0)3360; CI-NEXT:    buffer_store_dwordx4 v[35:38], off, s[4:7], 03361; CI-NEXT:    s_waitcnt vmcnt(0)3362; CI-NEXT:    buffer_store_dwordx4 v[31:34], off, s[4:7], 03363; CI-NEXT:    s_waitcnt vmcnt(0)3364; CI-NEXT:    s_setpc_b64 s[30:31]3365;3366; VI-LABEL: void_func_v32i32_v2i64_v2f64:3367; VI:       ; %bb.0:3368; VI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3369; VI-NEXT:    buffer_load_dword v31, off, s[0:3], s323370; VI-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:323371; VI-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:283372; VI-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:243373; VI-NEXT:    buffer_load_dword v38, off, s[0:3], s32 offset:163374; VI-NEXT:    buffer_load_dword v37, off, s[0:3], s32 offset:123375; VI-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:83376; VI-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:43377; VI-NEXT:    s_mov_b32 s7, 0xf0003378; VI-NEXT:    s_mov_b32 s6, -13379; VI-NEXT:    s_waitcnt vmcnt(7)3380; VI-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 03381; VI-NEXT:    s_waitcnt vmcnt(0)3382; VI-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 03383; VI-NEXT:    s_waitcnt vmcnt(0)3384; VI-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 03385; VI-NEXT:    s_waitcnt vmcnt(0)3386; VI-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:203387; VI-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03388; VI-NEXT:    s_waitcnt vmcnt(0)3389; VI-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03390; VI-NEXT:    s_waitcnt vmcnt(0)3391; VI-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 03392; VI-NEXT:    s_waitcnt vmcnt(0)3393; VI-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 03394; VI-NEXT:    s_waitcnt vmcnt(0)3395; VI-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 03396; VI-NEXT:    s_waitcnt vmcnt(0)3397; VI-NEXT:    buffer_store_dwordx4 v[35:38], off, s[4:7], 03398; VI-NEXT:    s_waitcnt vmcnt(0)3399; VI-NEXT:    buffer_store_dwordx4 v[31:34], off, s[4:7], 03400; VI-NEXT:    s_waitcnt vmcnt(0)3401; VI-NEXT:    s_setpc_b64 s[30:31]3402;3403; GFX9-LABEL: void_func_v32i32_v2i64_v2f64:3404; GFX9:       ; %bb.0:3405; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3406; GFX9-NEXT:    buffer_load_dword v31, off, s[0:3], s323407; GFX9-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:323408; GFX9-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:283409; GFX9-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:243410; GFX9-NEXT:    buffer_load_dword v38, off, s[0:3], s32 offset:163411; GFX9-NEXT:    buffer_load_dword v37, off, s[0:3], s32 offset:123412; GFX9-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:83413; GFX9-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:43414; GFX9-NEXT:    s_mov_b32 s7, 0xf0003415; GFX9-NEXT:    s_mov_b32 s6, -13416; GFX9-NEXT:    s_waitcnt vmcnt(7)3417; GFX9-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 03418; GFX9-NEXT:    s_waitcnt vmcnt(0)3419; GFX9-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 03420; GFX9-NEXT:    s_waitcnt vmcnt(0)3421; GFX9-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 03422; GFX9-NEXT:    s_waitcnt vmcnt(0)3423; GFX9-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:203424; GFX9-NEXT:    s_nop 03425; GFX9-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03426; GFX9-NEXT:    s_waitcnt vmcnt(0)3427; GFX9-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03428; GFX9-NEXT:    s_waitcnt vmcnt(0)3429; GFX9-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 03430; GFX9-NEXT:    s_waitcnt vmcnt(0)3431; GFX9-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 03432; GFX9-NEXT:    s_waitcnt vmcnt(0)3433; GFX9-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 03434; GFX9-NEXT:    s_waitcnt vmcnt(0)3435; GFX9-NEXT:    buffer_store_dwordx4 v[35:38], off, s[4:7], 03436; GFX9-NEXT:    s_waitcnt vmcnt(0)3437; GFX9-NEXT:    buffer_store_dwordx4 v[31:34], off, s[4:7], 03438; GFX9-NEXT:    s_waitcnt vmcnt(0)3439; GFX9-NEXT:    s_setpc_b64 s[30:31]3440;3441; GFX11-LABEL: void_func_v32i32_v2i64_v2f64:3442; GFX11:       ; %bb.0:3443; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3444; GFX11-NEXT:    s_clause 0x83445; GFX11-NEXT:    scratch_load_b32 v31, off, s323446; GFX11-NEXT:    scratch_load_b32 v35, off, s32 offset:323447; GFX11-NEXT:    scratch_load_b32 v34, off, s32 offset:283448; GFX11-NEXT:    scratch_load_b32 v33, off, s32 offset:243449; GFX11-NEXT:    scratch_load_b32 v39, off, s32 offset:163450; GFX11-NEXT:    scratch_load_b32 v38, off, s32 offset:123451; GFX11-NEXT:    scratch_load_b32 v37, off, s32 offset:83452; GFX11-NEXT:    scratch_load_b32 v36, off, s32 offset:43453; GFX11-NEXT:    scratch_load_b32 v32, off, s32 offset:203454; GFX11-NEXT:    s_mov_b32 s3, 0x310160003455; GFX11-NEXT:    s_mov_b32 s2, -13456; GFX11-NEXT:    s_waitcnt vmcnt(8)3457; GFX11-NEXT:    buffer_store_b128 v[28:31], off, s[0:3], 0 dlc3458; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03459; GFX11-NEXT:    buffer_store_b128 v[24:27], off, s[0:3], 0 dlc3460; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03461; GFX11-NEXT:    buffer_store_b128 v[20:23], off, s[0:3], 0 dlc3462; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03463; GFX11-NEXT:    buffer_store_b128 v[16:19], off, s[0:3], 0 dlc3464; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03465; GFX11-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 0 dlc3466; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03467; GFX11-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 0 dlc3468; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03469; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0 dlc3470; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03471; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0 dlc3472; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03473; GFX11-NEXT:    s_waitcnt vmcnt(1)3474; GFX11-NEXT:    buffer_store_b128 v[36:39], off, s[0:3], 0 dlc3475; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03476; GFX11-NEXT:    s_waitcnt vmcnt(0)3477; GFX11-NEXT:    buffer_store_b128 v[32:35], off, s[0:3], 0 dlc3478; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03479; GFX11-NEXT:    s_setpc_b64 s[30:31]3480  store volatile <32 x i32> %arg0, ptr addrspace(1) poison3481  store volatile <2 x i64> %arg1, ptr addrspace(1) poison3482  store volatile <2 x double> %arg2, ptr addrspace(1) poison3483  ret void3484}3485 3486define void @void_func_v32i32_v4i32_v4f32(<32 x i32> %arg0, <4 x i32> %arg1, <4 x float> %arg2) #0 {3487; CIGFX89-LABEL: void_func_v32i32_v4i32_v4f32:3488; CIGFX89:       ; %bb.0:3489; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3490; CIGFX89-NEXT:    buffer_load_dword v31, off, s[0:3], s323491; CIGFX89-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:203492; CIGFX89-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:163493; CIGFX89-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:123494; CIGFX89-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:83495; CIGFX89-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:43496; CIGFX89-NEXT:    buffer_load_dword v39, off, s[0:3], s32 offset:323497; CIGFX89-NEXT:    buffer_load_dword v38, off, s[0:3], s32 offset:283498; CIGFX89-NEXT:    buffer_load_dword v37, off, s[0:3], s32 offset:243499; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0003500; CIGFX89-NEXT:    s_mov_b32 s6, -13501; CIGFX89-NEXT:    s_waitcnt vmcnt(8)3502; CIGFX89-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 03503; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3504; CIGFX89-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 03505; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3506; CIGFX89-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 03507; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3508; CIGFX89-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03509; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3510; CIGFX89-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03511; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3512; CIGFX89-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 03513; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3514; CIGFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 03515; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3516; CIGFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 03517; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3518; CIGFX89-NEXT:    buffer_store_dwordx4 v[32:35], off, s[4:7], 03519; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3520; CIGFX89-NEXT:    buffer_store_dwordx4 v[36:39], off, s[4:7], 03521; CIGFX89-NEXT:    s_waitcnt vmcnt(0)3522; CIGFX89-NEXT:    s_setpc_b64 s[30:31]3523;3524; GFX11-LABEL: void_func_v32i32_v4i32_v4f32:3525; GFX11:       ; %bb.0:3526; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3527; GFX11-NEXT:    s_clause 0x83528; GFX11-NEXT:    scratch_load_b32 v31, off, s323529; GFX11-NEXT:    scratch_load_b32 v35, off, s32 offset:163530; GFX11-NEXT:    scratch_load_b32 v34, off, s32 offset:123531; GFX11-NEXT:    scratch_load_b32 v33, off, s32 offset:83532; GFX11-NEXT:    scratch_load_b32 v32, off, s32 offset:43533; GFX11-NEXT:    scratch_load_b32 v39, off, s32 offset:323534; GFX11-NEXT:    scratch_load_b32 v38, off, s32 offset:283535; GFX11-NEXT:    scratch_load_b32 v37, off, s32 offset:243536; GFX11-NEXT:    scratch_load_b32 v36, off, s32 offset:203537; GFX11-NEXT:    s_mov_b32 s3, 0x310160003538; GFX11-NEXT:    s_mov_b32 s2, -13539; GFX11-NEXT:    s_waitcnt vmcnt(8)3540; GFX11-NEXT:    buffer_store_b128 v[28:31], off, s[0:3], 0 dlc3541; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03542; GFX11-NEXT:    buffer_store_b128 v[24:27], off, s[0:3], 0 dlc3543; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03544; GFX11-NEXT:    buffer_store_b128 v[20:23], off, s[0:3], 0 dlc3545; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03546; GFX11-NEXT:    buffer_store_b128 v[16:19], off, s[0:3], 0 dlc3547; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03548; GFX11-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 0 dlc3549; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03550; GFX11-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 0 dlc3551; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03552; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0 dlc3553; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03554; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0 dlc3555; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03556; GFX11-NEXT:    s_waitcnt vmcnt(4)3557; GFX11-NEXT:    buffer_store_b128 v[32:35], off, s[0:3], 0 dlc3558; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03559; GFX11-NEXT:    s_waitcnt vmcnt(0)3560; GFX11-NEXT:    buffer_store_b128 v[36:39], off, s[0:3], 0 dlc3561; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03562; GFX11-NEXT:    s_setpc_b64 s[30:31]3563  store volatile <32 x i32> %arg0, ptr addrspace(1) poison3564  store volatile <4 x i32> %arg1, ptr addrspace(1) poison3565  store volatile <4 x float> %arg2, ptr addrspace(1) poison3566  ret void3567}3568 3569define void @void_func_v32i32_v8i32_v8f32(<32 x i32> %arg0, <8 x i32> %arg1, <8 x float> %arg2) #0 {3570; CI-LABEL: void_func_v32i32_v8i32_v8f32:3571; CI:       ; %bb.0:3572; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3573; CI-NEXT:    buffer_load_dword v31, off, s[0:3], s323574; CI-NEXT:    s_mov_b32 s7, 0xf0003575; CI-NEXT:    s_mov_b32 s6, -13576; CI-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:163577; CI-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:123578; CI-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:83579; CI-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:43580; CI-NEXT:    buffer_load_dword v39, off, s[0:3], s32 offset:323581; CI-NEXT:    buffer_load_dword v38, off, s[0:3], s32 offset:283582; CI-NEXT:    buffer_load_dword v37, off, s[0:3], s32 offset:243583; CI-NEXT:    s_waitcnt vmcnt(7)3584; CI-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 03585; CI-NEXT:    s_waitcnt vmcnt(0)3586; CI-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 03587; CI-NEXT:    s_waitcnt vmcnt(0)3588; CI-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 03589; CI-NEXT:    s_waitcnt vmcnt(0)3590; CI-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03591; CI-NEXT:    s_waitcnt vmcnt(0)3592; CI-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03593; CI-NEXT:    s_waitcnt vmcnt(0)3594; CI-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:203595; CI-NEXT:    buffer_load_dword v15, off, s[0:3], s32 offset:483596; CI-NEXT:    buffer_load_dword v14, off, s[0:3], s32 offset:443597; CI-NEXT:    buffer_load_dword v13, off, s[0:3], s32 offset:403598; CI-NEXT:    buffer_load_dword v19, off, s[0:3], s32 offset:643599; CI-NEXT:    buffer_load_dword v18, off, s[0:3], s32 offset:603600; CI-NEXT:    buffer_load_dword v17, off, s[0:3], s32 offset:563601; CI-NEXT:    buffer_load_dword v16, off, s[0:3], s32 offset:523602; CI-NEXT:    buffer_load_dword v12, off, s[0:3], s32 offset:363603; CI-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 03604; CI-NEXT:    s_waitcnt vmcnt(0)3605; CI-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 03606; CI-NEXT:    s_waitcnt vmcnt(0)3607; CI-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 03608; CI-NEXT:    s_waitcnt vmcnt(0)3609; CI-NEXT:    buffer_store_dwordx4 v[36:39], off, s[4:7], 03610; CI-NEXT:    s_waitcnt vmcnt(0)3611; CI-NEXT:    buffer_store_dwordx4 v[32:35], off, s[4:7], 03612; CI-NEXT:    s_waitcnt vmcnt(0)3613; CI-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03614; CI-NEXT:    s_waitcnt vmcnt(0)3615; CI-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03616; CI-NEXT:    s_waitcnt vmcnt(0)3617; CI-NEXT:    s_setpc_b64 s[30:31]3618;3619; VI-LABEL: void_func_v32i32_v8i32_v8f32:3620; VI:       ; %bb.0:3621; VI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3622; VI-NEXT:    buffer_load_dword v31, off, s[0:3], s323623; VI-NEXT:    s_mov_b32 s7, 0xf0003624; VI-NEXT:    s_mov_b32 s6, -13625; VI-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:163626; VI-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:123627; VI-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:83628; VI-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:43629; VI-NEXT:    buffer_load_dword v39, off, s[0:3], s32 offset:323630; VI-NEXT:    buffer_load_dword v38, off, s[0:3], s32 offset:283631; VI-NEXT:    buffer_load_dword v37, off, s[0:3], s32 offset:243632; VI-NEXT:    s_waitcnt vmcnt(7)3633; VI-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 03634; VI-NEXT:    s_waitcnt vmcnt(0)3635; VI-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 03636; VI-NEXT:    s_waitcnt vmcnt(0)3637; VI-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 03638; VI-NEXT:    s_waitcnt vmcnt(0)3639; VI-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03640; VI-NEXT:    s_waitcnt vmcnt(0)3641; VI-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03642; VI-NEXT:    s_waitcnt vmcnt(0)3643; VI-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:203644; VI-NEXT:    buffer_load_dword v15, off, s[0:3], s32 offset:483645; VI-NEXT:    buffer_load_dword v14, off, s[0:3], s32 offset:443646; VI-NEXT:    buffer_load_dword v13, off, s[0:3], s32 offset:403647; VI-NEXT:    buffer_load_dword v19, off, s[0:3], s32 offset:643648; VI-NEXT:    buffer_load_dword v18, off, s[0:3], s32 offset:603649; VI-NEXT:    buffer_load_dword v17, off, s[0:3], s32 offset:563650; VI-NEXT:    buffer_load_dword v16, off, s[0:3], s32 offset:523651; VI-NEXT:    buffer_load_dword v12, off, s[0:3], s32 offset:363652; VI-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 03653; VI-NEXT:    s_waitcnt vmcnt(0)3654; VI-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 03655; VI-NEXT:    s_waitcnt vmcnt(0)3656; VI-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 03657; VI-NEXT:    s_waitcnt vmcnt(0)3658; VI-NEXT:    buffer_store_dwordx4 v[36:39], off, s[4:7], 03659; VI-NEXT:    s_waitcnt vmcnt(0)3660; VI-NEXT:    buffer_store_dwordx4 v[32:35], off, s[4:7], 03661; VI-NEXT:    s_waitcnt vmcnt(0)3662; VI-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03663; VI-NEXT:    s_waitcnt vmcnt(0)3664; VI-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03665; VI-NEXT:    s_waitcnt vmcnt(0)3666; VI-NEXT:    s_setpc_b64 s[30:31]3667;3668; GFX9-LABEL: void_func_v32i32_v8i32_v8f32:3669; GFX9:       ; %bb.0:3670; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3671; GFX9-NEXT:    buffer_load_dword v31, off, s[0:3], s323672; GFX9-NEXT:    s_mov_b32 s7, 0xf0003673; GFX9-NEXT:    s_mov_b32 s6, -13674; GFX9-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:163675; GFX9-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:123676; GFX9-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:83677; GFX9-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:43678; GFX9-NEXT:    buffer_load_dword v39, off, s[0:3], s32 offset:323679; GFX9-NEXT:    buffer_load_dword v38, off, s[0:3], s32 offset:283680; GFX9-NEXT:    buffer_load_dword v37, off, s[0:3], s32 offset:243681; GFX9-NEXT:    s_waitcnt vmcnt(7)3682; GFX9-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 03683; GFX9-NEXT:    s_waitcnt vmcnt(0)3684; GFX9-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 03685; GFX9-NEXT:    s_waitcnt vmcnt(0)3686; GFX9-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 03687; GFX9-NEXT:    s_waitcnt vmcnt(0)3688; GFX9-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03689; GFX9-NEXT:    s_waitcnt vmcnt(0)3690; GFX9-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03691; GFX9-NEXT:    s_waitcnt vmcnt(0)3692; GFX9-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:203693; GFX9-NEXT:    buffer_load_dword v15, off, s[0:3], s32 offset:483694; GFX9-NEXT:    buffer_load_dword v14, off, s[0:3], s32 offset:443695; GFX9-NEXT:    buffer_load_dword v13, off, s[0:3], s32 offset:403696; GFX9-NEXT:    buffer_load_dword v19, off, s[0:3], s32 offset:643697; GFX9-NEXT:    buffer_load_dword v18, off, s[0:3], s32 offset:603698; GFX9-NEXT:    buffer_load_dword v17, off, s[0:3], s32 offset:563699; GFX9-NEXT:    buffer_load_dword v16, off, s[0:3], s32 offset:523700; GFX9-NEXT:    buffer_load_dword v12, off, s[0:3], s32 offset:363701; GFX9-NEXT:    s_nop 03702; GFX9-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 03703; GFX9-NEXT:    s_waitcnt vmcnt(0)3704; GFX9-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 03705; GFX9-NEXT:    s_waitcnt vmcnt(0)3706; GFX9-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 03707; GFX9-NEXT:    s_waitcnt vmcnt(0)3708; GFX9-NEXT:    buffer_store_dwordx4 v[36:39], off, s[4:7], 03709; GFX9-NEXT:    s_waitcnt vmcnt(0)3710; GFX9-NEXT:    buffer_store_dwordx4 v[32:35], off, s[4:7], 03711; GFX9-NEXT:    s_waitcnt vmcnt(0)3712; GFX9-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03713; GFX9-NEXT:    s_waitcnt vmcnt(0)3714; GFX9-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03715; GFX9-NEXT:    s_waitcnt vmcnt(0)3716; GFX9-NEXT:    s_setpc_b64 s[30:31]3717;3718; GFX11-LABEL: void_func_v32i32_v8i32_v8f32:3719; GFX11:       ; %bb.0:3720; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3721; GFX11-NEXT:    s_clause 0x103722; GFX11-NEXT:    scratch_load_b32 v35, off, s32 offset:483723; GFX11-NEXT:    scratch_load_b32 v34, off, s32 offset:443724; GFX11-NEXT:    scratch_load_b32 v33, off, s32 offset:403725; GFX11-NEXT:    scratch_load_b32 v39, off, s32 offset:643726; GFX11-NEXT:    scratch_load_b32 v38, off, s32 offset:603727; GFX11-NEXT:    scratch_load_b32 v31, off, s323728; GFX11-NEXT:    scratch_load_b32 v37, off, s32 offset:563729; GFX11-NEXT:    scratch_load_b32 v51, off, s32 offset:163730; GFX11-NEXT:    scratch_load_b32 v50, off, s32 offset:123731; GFX11-NEXT:    scratch_load_b32 v49, off, s32 offset:83732; GFX11-NEXT:    scratch_load_b32 v55, off, s32 offset:323733; GFX11-NEXT:    scratch_load_b32 v54, off, s32 offset:283734; GFX11-NEXT:    scratch_load_b32 v53, off, s32 offset:243735; GFX11-NEXT:    scratch_load_b32 v52, off, s32 offset:203736; GFX11-NEXT:    scratch_load_b32 v48, off, s32 offset:43737; GFX11-NEXT:    scratch_load_b32 v36, off, s32 offset:523738; GFX11-NEXT:    scratch_load_b32 v32, off, s32 offset:363739; GFX11-NEXT:    s_mov_b32 s3, 0x310160003740; GFX11-NEXT:    s_mov_b32 s2, -13741; GFX11-NEXT:    s_waitcnt vmcnt(11)3742; GFX11-NEXT:    buffer_store_b128 v[28:31], off, s[0:3], 0 dlc3743; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03744; GFX11-NEXT:    buffer_store_b128 v[24:27], off, s[0:3], 0 dlc3745; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03746; GFX11-NEXT:    buffer_store_b128 v[20:23], off, s[0:3], 0 dlc3747; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03748; GFX11-NEXT:    buffer_store_b128 v[16:19], off, s[0:3], 0 dlc3749; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03750; GFX11-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 0 dlc3751; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03752; GFX11-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 0 dlc3753; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03754; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0 dlc3755; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03756; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0 dlc3757; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03758; GFX11-NEXT:    s_waitcnt vmcnt(3)3759; GFX11-NEXT:    buffer_store_b128 v[52:55], off, s[0:3], 0 dlc3760; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03761; GFX11-NEXT:    s_waitcnt vmcnt(2)3762; GFX11-NEXT:    buffer_store_b128 v[48:51], off, s[0:3], 0 dlc3763; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03764; GFX11-NEXT:    s_waitcnt vmcnt(1)3765; GFX11-NEXT:    buffer_store_b128 v[36:39], off, s[0:3], 0 dlc3766; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03767; GFX11-NEXT:    s_waitcnt vmcnt(0)3768; GFX11-NEXT:    buffer_store_b128 v[32:35], off, s[0:3], 0 dlc3769; GFX11-NEXT:    s_waitcnt_vscnt null, 0x03770; GFX11-NEXT:    s_setpc_b64 s[30:31]3771  store volatile <32 x i32> %arg0, ptr addrspace(1) poison3772  store volatile <8 x i32> %arg1, ptr addrspace(1) poison3773  store volatile <8 x float> %arg2, ptr addrspace(1) poison3774  ret void3775}3776 3777define void @void_func_v32i32_v16i32_v16f32(<32 x i32> %arg0, <16 x i32> %arg1, <16 x float> %arg2) #0 {3778; CI-LABEL: void_func_v32i32_v16i32_v16f32:3779; CI:       ; %bb.0:3780; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3781; CI-NEXT:    buffer_load_dword v31, off, s[0:3], s323782; CI-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:643783; CI-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:603784; CI-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:563785; CI-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:523786; CI-NEXT:    s_mov_b32 s7, 0xf0003787; CI-NEXT:    s_mov_b32 s6, -13788; CI-NEXT:    buffer_load_dword v39, off, s[0:3], s32 offset:483789; CI-NEXT:    buffer_load_dword v38, off, s[0:3], s32 offset:443790; CI-NEXT:    buffer_load_dword v37, off, s[0:3], s32 offset:403791; CI-NEXT:    s_waitcnt vmcnt(7)3792; CI-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 03793; CI-NEXT:    s_waitcnt vmcnt(0)3794; CI-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 03795; CI-NEXT:    s_waitcnt vmcnt(0)3796; CI-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 03797; CI-NEXT:    s_waitcnt vmcnt(0)3798; CI-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03799; CI-NEXT:    s_waitcnt vmcnt(0)3800; CI-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03801; CI-NEXT:    s_waitcnt vmcnt(0)3802; CI-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:363803; CI-NEXT:    buffer_load_dword v15, off, s[0:3], s32 offset:323804; CI-NEXT:    buffer_load_dword v14, off, s[0:3], s32 offset:283805; CI-NEXT:    buffer_load_dword v13, off, s[0:3], s32 offset:243806; CI-NEXT:    buffer_load_dword v12, off, s[0:3], s32 offset:203807; CI-NEXT:    buffer_load_dword v19, off, s[0:3], s32 offset:163808; CI-NEXT:    buffer_load_dword v18, off, s[0:3], s32 offset:123809; CI-NEXT:    buffer_load_dword v17, off, s[0:3], s32 offset:83810; CI-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 03811; CI-NEXT:    s_waitcnt vmcnt(0)3812; CI-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 03813; CI-NEXT:    s_waitcnt vmcnt(0)3814; CI-NEXT:    buffer_load_dword v16, off, s[0:3], s32 offset:43815; CI-NEXT:    buffer_load_dword v7, off, s[0:3], s32 offset:1123816; CI-NEXT:    buffer_load_dword v6, off, s[0:3], s32 offset:1083817; CI-NEXT:    buffer_load_dword v5, off, s[0:3], s32 offset:1043818; CI-NEXT:    buffer_load_dword v4, off, s[0:3], s32 offset:1003819; CI-NEXT:    buffer_load_dword v11, off, s[0:3], s32 offset:1283820; CI-NEXT:    buffer_load_dword v10, off, s[0:3], s32 offset:1243821; CI-NEXT:    buffer_load_dword v9, off, s[0:3], s32 offset:1203822; CI-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 03823; CI-NEXT:    s_waitcnt vmcnt(0)3824; CI-NEXT:    buffer_store_dwordx4 v[32:35], off, s[4:7], 03825; CI-NEXT:    s_waitcnt vmcnt(0)3826; CI-NEXT:    buffer_load_dword v8, off, s[0:3], s32 offset:1163827; CI-NEXT:    buffer_load_dword v3, off, s[0:3], s32 offset:803828; CI-NEXT:    buffer_load_dword v2, off, s[0:3], s32 offset:763829; CI-NEXT:    buffer_load_dword v1, off, s[0:3], s32 offset:723830; CI-NEXT:    buffer_load_dword v23, off, s[0:3], s32 offset:963831; CI-NEXT:    buffer_load_dword v22, off, s[0:3], s32 offset:923832; CI-NEXT:    buffer_load_dword v21, off, s[0:3], s32 offset:883833; CI-NEXT:    buffer_load_dword v20, off, s[0:3], s32 offset:843834; CI-NEXT:    buffer_load_dword v0, off, s[0:3], s32 offset:683835; CI-NEXT:    buffer_store_dwordx4 v[36:39], off, s[4:7], 03836; CI-NEXT:    s_waitcnt vmcnt(0)3837; CI-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03838; CI-NEXT:    s_waitcnt vmcnt(0)3839; CI-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03840; CI-NEXT:    s_waitcnt vmcnt(0)3841; CI-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 03842; CI-NEXT:    s_waitcnt vmcnt(0)3843; CI-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 03844; CI-NEXT:    s_waitcnt vmcnt(0)3845; CI-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 03846; CI-NEXT:    s_waitcnt vmcnt(0)3847; CI-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 03848; CI-NEXT:    s_waitcnt vmcnt(0)3849; CI-NEXT:    s_setpc_b64 s[30:31]3850;3851; VI-LABEL: void_func_v32i32_v16i32_v16f32:3852; VI:       ; %bb.0:3853; VI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3854; VI-NEXT:    buffer_load_dword v31, off, s[0:3], s323855; VI-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:643856; VI-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:603857; VI-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:563858; VI-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:523859; VI-NEXT:    s_mov_b32 s7, 0xf0003860; VI-NEXT:    s_mov_b32 s6, -13861; VI-NEXT:    buffer_load_dword v39, off, s[0:3], s32 offset:483862; VI-NEXT:    buffer_load_dword v38, off, s[0:3], s32 offset:443863; VI-NEXT:    buffer_load_dword v37, off, s[0:3], s32 offset:403864; VI-NEXT:    s_waitcnt vmcnt(7)3865; VI-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 03866; VI-NEXT:    s_waitcnt vmcnt(0)3867; VI-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 03868; VI-NEXT:    s_waitcnt vmcnt(0)3869; VI-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 03870; VI-NEXT:    s_waitcnt vmcnt(0)3871; VI-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03872; VI-NEXT:    s_waitcnt vmcnt(0)3873; VI-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03874; VI-NEXT:    s_waitcnt vmcnt(0)3875; VI-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:363876; VI-NEXT:    buffer_load_dword v15, off, s[0:3], s32 offset:323877; VI-NEXT:    buffer_load_dword v14, off, s[0:3], s32 offset:283878; VI-NEXT:    buffer_load_dword v13, off, s[0:3], s32 offset:243879; VI-NEXT:    buffer_load_dword v12, off, s[0:3], s32 offset:203880; VI-NEXT:    buffer_load_dword v19, off, s[0:3], s32 offset:163881; VI-NEXT:    buffer_load_dword v18, off, s[0:3], s32 offset:123882; VI-NEXT:    buffer_load_dword v17, off, s[0:3], s32 offset:83883; VI-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 03884; VI-NEXT:    s_waitcnt vmcnt(0)3885; VI-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 03886; VI-NEXT:    s_waitcnt vmcnt(0)3887; VI-NEXT:    buffer_load_dword v16, off, s[0:3], s32 offset:43888; VI-NEXT:    buffer_load_dword v7, off, s[0:3], s32 offset:1123889; VI-NEXT:    buffer_load_dword v6, off, s[0:3], s32 offset:1083890; VI-NEXT:    buffer_load_dword v5, off, s[0:3], s32 offset:1043891; VI-NEXT:    buffer_load_dword v4, off, s[0:3], s32 offset:1003892; VI-NEXT:    buffer_load_dword v11, off, s[0:3], s32 offset:1283893; VI-NEXT:    buffer_load_dword v10, off, s[0:3], s32 offset:1243894; VI-NEXT:    buffer_load_dword v9, off, s[0:3], s32 offset:1203895; VI-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 03896; VI-NEXT:    s_waitcnt vmcnt(0)3897; VI-NEXT:    buffer_store_dwordx4 v[32:35], off, s[4:7], 03898; VI-NEXT:    s_waitcnt vmcnt(0)3899; VI-NEXT:    buffer_load_dword v8, off, s[0:3], s32 offset:1163900; VI-NEXT:    buffer_load_dword v3, off, s[0:3], s32 offset:803901; VI-NEXT:    buffer_load_dword v2, off, s[0:3], s32 offset:763902; VI-NEXT:    buffer_load_dword v1, off, s[0:3], s32 offset:723903; VI-NEXT:    buffer_load_dword v23, off, s[0:3], s32 offset:963904; VI-NEXT:    buffer_load_dword v22, off, s[0:3], s32 offset:923905; VI-NEXT:    buffer_load_dword v21, off, s[0:3], s32 offset:883906; VI-NEXT:    buffer_load_dword v20, off, s[0:3], s32 offset:843907; VI-NEXT:    buffer_load_dword v0, off, s[0:3], s32 offset:683908; VI-NEXT:    buffer_store_dwordx4 v[36:39], off, s[4:7], 03909; VI-NEXT:    s_waitcnt vmcnt(0)3910; VI-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03911; VI-NEXT:    s_waitcnt vmcnt(0)3912; VI-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03913; VI-NEXT:    s_waitcnt vmcnt(0)3914; VI-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 03915; VI-NEXT:    s_waitcnt vmcnt(0)3916; VI-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 03917; VI-NEXT:    s_waitcnt vmcnt(0)3918; VI-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 03919; VI-NEXT:    s_waitcnt vmcnt(0)3920; VI-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 03921; VI-NEXT:    s_waitcnt vmcnt(0)3922; VI-NEXT:    s_setpc_b64 s[30:31]3923;3924; GFX9-LABEL: void_func_v32i32_v16i32_v16f32:3925; GFX9:       ; %bb.0:3926; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)3927; GFX9-NEXT:    buffer_load_dword v31, off, s[0:3], s323928; GFX9-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:643929; GFX9-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:603930; GFX9-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:563931; GFX9-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:523932; GFX9-NEXT:    s_mov_b32 s7, 0xf0003933; GFX9-NEXT:    s_mov_b32 s6, -13934; GFX9-NEXT:    buffer_load_dword v39, off, s[0:3], s32 offset:483935; GFX9-NEXT:    buffer_load_dword v38, off, s[0:3], s32 offset:443936; GFX9-NEXT:    buffer_load_dword v37, off, s[0:3], s32 offset:403937; GFX9-NEXT:    s_waitcnt vmcnt(7)3938; GFX9-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 03939; GFX9-NEXT:    s_waitcnt vmcnt(0)3940; GFX9-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 03941; GFX9-NEXT:    s_waitcnt vmcnt(0)3942; GFX9-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 03943; GFX9-NEXT:    s_waitcnt vmcnt(0)3944; GFX9-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03945; GFX9-NEXT:    s_waitcnt vmcnt(0)3946; GFX9-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03947; GFX9-NEXT:    s_waitcnt vmcnt(0)3948; GFX9-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:363949; GFX9-NEXT:    buffer_load_dword v15, off, s[0:3], s32 offset:323950; GFX9-NEXT:    buffer_load_dword v14, off, s[0:3], s32 offset:283951; GFX9-NEXT:    buffer_load_dword v13, off, s[0:3], s32 offset:243952; GFX9-NEXT:    buffer_load_dword v12, off, s[0:3], s32 offset:203953; GFX9-NEXT:    buffer_load_dword v19, off, s[0:3], s32 offset:163954; GFX9-NEXT:    buffer_load_dword v18, off, s[0:3], s32 offset:123955; GFX9-NEXT:    buffer_load_dword v17, off, s[0:3], s32 offset:83956; GFX9-NEXT:    s_nop 03957; GFX9-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 03958; GFX9-NEXT:    s_waitcnt vmcnt(0)3959; GFX9-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 03960; GFX9-NEXT:    s_waitcnt vmcnt(0)3961; GFX9-NEXT:    buffer_load_dword v16, off, s[0:3], s32 offset:43962; GFX9-NEXT:    buffer_load_dword v7, off, s[0:3], s32 offset:1123963; GFX9-NEXT:    buffer_load_dword v6, off, s[0:3], s32 offset:1083964; GFX9-NEXT:    buffer_load_dword v5, off, s[0:3], s32 offset:1043965; GFX9-NEXT:    buffer_load_dword v4, off, s[0:3], s32 offset:1003966; GFX9-NEXT:    buffer_load_dword v11, off, s[0:3], s32 offset:1283967; GFX9-NEXT:    buffer_load_dword v10, off, s[0:3], s32 offset:1243968; GFX9-NEXT:    buffer_load_dword v9, off, s[0:3], s32 offset:1203969; GFX9-NEXT:    s_nop 03970; GFX9-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 03971; GFX9-NEXT:    s_waitcnt vmcnt(0)3972; GFX9-NEXT:    buffer_store_dwordx4 v[32:35], off, s[4:7], 03973; GFX9-NEXT:    s_waitcnt vmcnt(0)3974; GFX9-NEXT:    buffer_load_dword v8, off, s[0:3], s32 offset:1163975; GFX9-NEXT:    buffer_load_dword v3, off, s[0:3], s32 offset:803976; GFX9-NEXT:    buffer_load_dword v2, off, s[0:3], s32 offset:763977; GFX9-NEXT:    buffer_load_dword v1, off, s[0:3], s32 offset:723978; GFX9-NEXT:    buffer_load_dword v23, off, s[0:3], s32 offset:963979; GFX9-NEXT:    buffer_load_dword v22, off, s[0:3], s32 offset:923980; GFX9-NEXT:    buffer_load_dword v21, off, s[0:3], s32 offset:883981; GFX9-NEXT:    buffer_load_dword v20, off, s[0:3], s32 offset:843982; GFX9-NEXT:    buffer_load_dword v0, off, s[0:3], s32 offset:683983; GFX9-NEXT:    s_nop 03984; GFX9-NEXT:    buffer_store_dwordx4 v[36:39], off, s[4:7], 03985; GFX9-NEXT:    s_waitcnt vmcnt(0)3986; GFX9-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 03987; GFX9-NEXT:    s_waitcnt vmcnt(0)3988; GFX9-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 03989; GFX9-NEXT:    s_waitcnt vmcnt(0)3990; GFX9-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 03991; GFX9-NEXT:    s_waitcnt vmcnt(0)3992; GFX9-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 03993; GFX9-NEXT:    s_waitcnt vmcnt(0)3994; GFX9-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 03995; GFX9-NEXT:    s_waitcnt vmcnt(0)3996; GFX9-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 03997; GFX9-NEXT:    s_waitcnt vmcnt(0)3998; GFX9-NEXT:    s_setpc_b64 s[30:31]3999;4000; GFX11-LABEL: void_func_v32i32_v16i32_v16f32:4001; GFX11:       ; %bb.0:4002; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4003; GFX11-NEXT:    s_clause 0x1f4004; GFX11-NEXT:    scratch_load_b32 v35, off, s32 offset:804005; GFX11-NEXT:    scratch_load_b32 v34, off, s32 offset:764006; GFX11-NEXT:    scratch_load_b32 v33, off, s32 offset:724007; GFX11-NEXT:    scratch_load_b32 v39, off, s32 offset:964008; GFX11-NEXT:    scratch_load_b32 v38, off, s32 offset:924009; GFX11-NEXT:    scratch_load_b32 v37, off, s32 offset:884010; GFX11-NEXT:    scratch_load_b32 v51, off, s32 offset:1124011; GFX11-NEXT:    scratch_load_b32 v50, off, s32 offset:1084012; GFX11-NEXT:    scratch_load_b32 v49, off, s32 offset:1044013; GFX11-NEXT:    scratch_load_b32 v55, off, s32 offset:1284014; GFX11-NEXT:    scratch_load_b32 v54, off, s32 offset:1244015; GFX11-NEXT:    scratch_load_b32 v53, off, s32 offset:1204016; GFX11-NEXT:    scratch_load_b32 v67, off, s32 offset:164017; GFX11-NEXT:    scratch_load_b32 v66, off, s32 offset:124018; GFX11-NEXT:    scratch_load_b32 v65, off, s32 offset:84019; GFX11-NEXT:    scratch_load_b32 v71, off, s32 offset:324020; GFX11-NEXT:    scratch_load_b32 v70, off, s32 offset:284021; GFX11-NEXT:    scratch_load_b32 v31, off, s324022; GFX11-NEXT:    scratch_load_b32 v69, off, s32 offset:244023; GFX11-NEXT:    scratch_load_b32 v83, off, s32 offset:484024; GFX11-NEXT:    scratch_load_b32 v82, off, s32 offset:444025; GFX11-NEXT:    scratch_load_b32 v81, off, s32 offset:404026; GFX11-NEXT:    scratch_load_b32 v87, off, s32 offset:644027; GFX11-NEXT:    scratch_load_b32 v86, off, s32 offset:604028; GFX11-NEXT:    scratch_load_b32 v85, off, s32 offset:564029; GFX11-NEXT:    scratch_load_b32 v84, off, s32 offset:524030; GFX11-NEXT:    scratch_load_b32 v80, off, s32 offset:364031; GFX11-NEXT:    scratch_load_b32 v68, off, s32 offset:204032; GFX11-NEXT:    scratch_load_b32 v64, off, s32 offset:44033; GFX11-NEXT:    scratch_load_b32 v52, off, s32 offset:1164034; GFX11-NEXT:    scratch_load_b32 v48, off, s32 offset:1004035; GFX11-NEXT:    scratch_load_b32 v36, off, s32 offset:844036; GFX11-NEXT:    scratch_load_b32 v32, off, s32 offset:684037; GFX11-NEXT:    s_mov_b32 s3, 0x310160004038; GFX11-NEXT:    s_mov_b32 s2, -14039; GFX11-NEXT:    s_waitcnt vmcnt(15)4040; GFX11-NEXT:    buffer_store_b128 v[28:31], off, s[0:3], 0 dlc4041; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04042; GFX11-NEXT:    buffer_store_b128 v[24:27], off, s[0:3], 0 dlc4043; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04044; GFX11-NEXT:    buffer_store_b128 v[20:23], off, s[0:3], 0 dlc4045; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04046; GFX11-NEXT:    buffer_store_b128 v[16:19], off, s[0:3], 0 dlc4047; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04048; GFX11-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 0 dlc4049; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04050; GFX11-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 0 dlc4051; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04052; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0 dlc4053; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04054; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0 dlc4055; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04056; GFX11-NEXT:    s_waitcnt vmcnt(7)4057; GFX11-NEXT:    buffer_store_b128 v[84:87], off, s[0:3], 0 dlc4058; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04059; GFX11-NEXT:    s_waitcnt vmcnt(6)4060; GFX11-NEXT:    buffer_store_b128 v[80:83], off, s[0:3], 0 dlc4061; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04062; GFX11-NEXT:    s_waitcnt vmcnt(5)4063; GFX11-NEXT:    buffer_store_b128 v[68:71], off, s[0:3], 0 dlc4064; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04065; GFX11-NEXT:    s_waitcnt vmcnt(4)4066; GFX11-NEXT:    buffer_store_b128 v[64:67], off, s[0:3], 0 dlc4067; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04068; GFX11-NEXT:    s_waitcnt vmcnt(3)4069; GFX11-NEXT:    buffer_store_b128 v[52:55], off, s[0:3], 0 dlc4070; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04071; GFX11-NEXT:    s_waitcnt vmcnt(2)4072; GFX11-NEXT:    buffer_store_b128 v[48:51], off, s[0:3], 0 dlc4073; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04074; GFX11-NEXT:    s_waitcnt vmcnt(1)4075; GFX11-NEXT:    buffer_store_b128 v[36:39], off, s[0:3], 0 dlc4076; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04077; GFX11-NEXT:    s_waitcnt vmcnt(0)4078; GFX11-NEXT:    buffer_store_b128 v[32:35], off, s[0:3], 0 dlc4079; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04080; GFX11-NEXT:    s_setpc_b64 s[30:31]4081  store volatile <32 x i32> %arg0, ptr addrspace(1) poison4082  store volatile <16 x i32> %arg1, ptr addrspace(1) poison4083  store volatile <16 x float> %arg2, ptr addrspace(1) poison4084  ret void4085}4086 4087; Make sure v3 isn't a wasted register because of v3 types being promoted to v44088define void @void_func_v3f32_wasted_reg(<3 x float> %arg0, i32 %arg1) #0 {4089; CI-LABEL: void_func_v3f32_wasted_reg:4090; CI:       ; %bb.0:4091; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4092; CI-NEXT:    s_mov_b32 m0, -14093; CI-NEXT:    ds_write_b32 v0, v04094; CI-NEXT:    ds_write_b32 v0, v14095; CI-NEXT:    ds_write_b32 v0, v24096; CI-NEXT:    ds_write_b32 v0, v34097; CI-NEXT:    s_waitcnt lgkmcnt(0)4098; CI-NEXT:    s_setpc_b64 s[30:31]4099;4100; VI-LABEL: void_func_v3f32_wasted_reg:4101; VI:       ; %bb.0:4102; VI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4103; VI-NEXT:    s_mov_b32 m0, -14104; VI-NEXT:    ds_write_b32 v0, v04105; VI-NEXT:    ds_write_b32 v0, v14106; VI-NEXT:    ds_write_b32 v0, v24107; VI-NEXT:    ds_write_b32 v0, v34108; VI-NEXT:    s_waitcnt lgkmcnt(0)4109; VI-NEXT:    s_setpc_b64 s[30:31]4110;4111; GFX9-LABEL: void_func_v3f32_wasted_reg:4112; GFX9:       ; %bb.0:4113; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4114; GFX9-NEXT:    ds_write_b32 v0, v04115; GFX9-NEXT:    ds_write_b32 v0, v14116; GFX9-NEXT:    ds_write_b32 v0, v24117; GFX9-NEXT:    ds_write_b32 v0, v34118; GFX9-NEXT:    s_waitcnt lgkmcnt(0)4119; GFX9-NEXT:    s_setpc_b64 s[30:31]4120;4121; GFX11-LABEL: void_func_v3f32_wasted_reg:4122; GFX11:       ; %bb.0:4123; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4124; GFX11-NEXT:    ds_store_b32 v0, v04125; GFX11-NEXT:    ds_store_b32 v0, v14126; GFX11-NEXT:    ds_store_b32 v0, v24127; GFX11-NEXT:    ds_store_b32 v0, v34128; GFX11-NEXT:    s_waitcnt lgkmcnt(0)4129; GFX11-NEXT:    s_setpc_b64 s[30:31]4130  %arg0.0 = extractelement <3 x float> %arg0, i32 04131  %arg0.1 = extractelement <3 x float> %arg0, i32 14132  %arg0.2 = extractelement <3 x float> %arg0, i32 24133  store volatile float %arg0.0, ptr addrspace(3) poison4134  store volatile float %arg0.1, ptr addrspace(3) poison4135  store volatile float %arg0.2, ptr addrspace(3) poison4136  store volatile i32 %arg1, ptr addrspace(3) poison4137  ret void4138}4139 4140define void @void_func_v3i32_wasted_reg(<3 x i32> %arg0, i32 %arg1) #0 {4141; CI-LABEL: void_func_v3i32_wasted_reg:4142; CI:       ; %bb.0:4143; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4144; CI-NEXT:    s_mov_b32 m0, -14145; CI-NEXT:    ds_write_b32 v0, v04146; CI-NEXT:    ds_write_b32 v0, v14147; CI-NEXT:    ds_write_b32 v0, v24148; CI-NEXT:    ds_write_b32 v0, v34149; CI-NEXT:    s_waitcnt lgkmcnt(0)4150; CI-NEXT:    s_setpc_b64 s[30:31]4151;4152; VI-LABEL: void_func_v3i32_wasted_reg:4153; VI:       ; %bb.0:4154; VI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4155; VI-NEXT:    s_mov_b32 m0, -14156; VI-NEXT:    ds_write_b32 v0, v04157; VI-NEXT:    ds_write_b32 v0, v14158; VI-NEXT:    ds_write_b32 v0, v24159; VI-NEXT:    ds_write_b32 v0, v34160; VI-NEXT:    s_waitcnt lgkmcnt(0)4161; VI-NEXT:    s_setpc_b64 s[30:31]4162;4163; GFX9-LABEL: void_func_v3i32_wasted_reg:4164; GFX9:       ; %bb.0:4165; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4166; GFX9-NEXT:    ds_write_b32 v0, v04167; GFX9-NEXT:    ds_write_b32 v0, v14168; GFX9-NEXT:    ds_write_b32 v0, v24169; GFX9-NEXT:    ds_write_b32 v0, v34170; GFX9-NEXT:    s_waitcnt lgkmcnt(0)4171; GFX9-NEXT:    s_setpc_b64 s[30:31]4172;4173; GFX11-LABEL: void_func_v3i32_wasted_reg:4174; GFX11:       ; %bb.0:4175; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4176; GFX11-NEXT:    ds_store_b32 v0, v04177; GFX11-NEXT:    ds_store_b32 v0, v14178; GFX11-NEXT:    ds_store_b32 v0, v24179; GFX11-NEXT:    ds_store_b32 v0, v34180; GFX11-NEXT:    s_waitcnt lgkmcnt(0)4181; GFX11-NEXT:    s_setpc_b64 s[30:31]4182  %arg0.0 = extractelement <3 x i32> %arg0, i32 04183  %arg0.1 = extractelement <3 x i32> %arg0, i32 14184  %arg0.2 = extractelement <3 x i32> %arg0, i32 24185  store volatile i32 %arg0.0, ptr addrspace(3) poison4186  store volatile i32 %arg0.1, ptr addrspace(3) poison4187  store volatile i32 %arg0.2, ptr addrspace(3) poison4188  store volatile i32 %arg1, ptr addrspace(3) poison4189  ret void4190}4191 4192; Check there is no crash.4193define void @void_func_volatile_v16i8(<16 x i8> %arg0) #0 {4194; CIGFX89-LABEL: void_func_volatile_v16i8:4195; CIGFX89:       ; %bb.0:4196; CIGFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4197; CIGFX89-NEXT:    s_mov_b32 s7, 0xf0004198; CIGFX89-NEXT:    s_mov_b32 s6, -14199; CIGFX89-NEXT:    buffer_store_byte v15, off, s[4:7], 04200; CIGFX89-NEXT:    s_waitcnt vmcnt(0)4201; CIGFX89-NEXT:    buffer_store_byte v14, off, s[4:7], 04202; CIGFX89-NEXT:    s_waitcnt vmcnt(0)4203; CIGFX89-NEXT:    buffer_store_byte v13, off, s[4:7], 04204; CIGFX89-NEXT:    s_waitcnt vmcnt(0)4205; CIGFX89-NEXT:    buffer_store_byte v12, off, s[4:7], 04206; CIGFX89-NEXT:    s_waitcnt vmcnt(0)4207; CIGFX89-NEXT:    buffer_store_byte v11, off, s[4:7], 04208; CIGFX89-NEXT:    s_waitcnt vmcnt(0)4209; CIGFX89-NEXT:    buffer_store_byte v10, off, s[4:7], 04210; CIGFX89-NEXT:    s_waitcnt vmcnt(0)4211; CIGFX89-NEXT:    buffer_store_byte v9, off, s[4:7], 04212; CIGFX89-NEXT:    s_waitcnt vmcnt(0)4213; CIGFX89-NEXT:    buffer_store_byte v8, off, s[4:7], 04214; CIGFX89-NEXT:    s_waitcnt vmcnt(0)4215; CIGFX89-NEXT:    buffer_store_byte v7, off, s[4:7], 04216; CIGFX89-NEXT:    s_waitcnt vmcnt(0)4217; CIGFX89-NEXT:    buffer_store_byte v6, off, s[4:7], 04218; CIGFX89-NEXT:    s_waitcnt vmcnt(0)4219; CIGFX89-NEXT:    buffer_store_byte v5, off, s[4:7], 04220; CIGFX89-NEXT:    s_waitcnt vmcnt(0)4221; CIGFX89-NEXT:    buffer_store_byte v4, off, s[4:7], 04222; CIGFX89-NEXT:    s_waitcnt vmcnt(0)4223; CIGFX89-NEXT:    buffer_store_byte v3, off, s[4:7], 04224; CIGFX89-NEXT:    s_waitcnt vmcnt(0)4225; CIGFX89-NEXT:    buffer_store_byte v2, off, s[4:7], 04226; CIGFX89-NEXT:    s_waitcnt vmcnt(0)4227; CIGFX89-NEXT:    buffer_store_byte v1, off, s[4:7], 04228; CIGFX89-NEXT:    s_waitcnt vmcnt(0)4229; CIGFX89-NEXT:    buffer_store_byte v0, off, s[4:7], 04230; CIGFX89-NEXT:    s_waitcnt vmcnt(0)4231; CIGFX89-NEXT:    s_setpc_b64 s[30:31]4232;4233; GFX11-LABEL: void_func_volatile_v16i8:4234; GFX11:       ; %bb.0:4235; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4236; GFX11-NEXT:    s_mov_b32 s3, 0x310160004237; GFX11-NEXT:    s_mov_b32 s2, -14238; GFX11-NEXT:    buffer_store_b8 v15, off, s[0:3], 0 dlc4239; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04240; GFX11-NEXT:    buffer_store_b8 v14, off, s[0:3], 0 dlc4241; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04242; GFX11-NEXT:    buffer_store_b8 v13, off, s[0:3], 0 dlc4243; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04244; GFX11-NEXT:    buffer_store_b8 v12, off, s[0:3], 0 dlc4245; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04246; GFX11-NEXT:    buffer_store_b8 v11, off, s[0:3], 0 dlc4247; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04248; GFX11-NEXT:    buffer_store_b8 v10, off, s[0:3], 0 dlc4249; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04250; GFX11-NEXT:    buffer_store_b8 v9, off, s[0:3], 0 dlc4251; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04252; GFX11-NEXT:    buffer_store_b8 v8, off, s[0:3], 0 dlc4253; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04254; GFX11-NEXT:    buffer_store_b8 v7, off, s[0:3], 0 dlc4255; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04256; GFX11-NEXT:    buffer_store_b8 v6, off, s[0:3], 0 dlc4257; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04258; GFX11-NEXT:    buffer_store_b8 v5, off, s[0:3], 0 dlc4259; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04260; GFX11-NEXT:    buffer_store_b8 v4, off, s[0:3], 0 dlc4261; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04262; GFX11-NEXT:    buffer_store_b8 v3, off, s[0:3], 0 dlc4263; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04264; GFX11-NEXT:    buffer_store_b8 v2, off, s[0:3], 0 dlc4265; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04266; GFX11-NEXT:    buffer_store_b8 v1, off, s[0:3], 0 dlc4267; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04268; GFX11-NEXT:    buffer_store_b8 v0, off, s[0:3], 0 dlc4269; GFX11-NEXT:    s_waitcnt_vscnt null, 0x04270; GFX11-NEXT:    s_setpc_b64 s[30:31]4271  store volatile <16 x i8> %arg0, ptr addrspace(1) poison4272  ret void4273}4274 4275; Check there is no crash.4276define void @void_func_v32i32_v16i8(<32 x i32> %arg0, <16 x i8> %arg1) #0 {4277; CI-LABEL: void_func_v32i32_v16i8:4278; CI:       ; %bb.0:4279; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4280; CI-NEXT:    buffer_load_dword v31, off, s[0:3], s324281; CI-NEXT:    s_mov_b32 s7, 0xf0004282; CI-NEXT:    s_mov_b32 s6, -14283; CI-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:484284; CI-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:604285; CI-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:644286; CI-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:524287; CI-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:564288; CI-NEXT:    buffer_load_dword v37, off, s[0:3], s32 offset:364289; CI-NEXT:    buffer_load_dword v38, off, s[0:3], s32 offset:404290; CI-NEXT:    s_waitcnt vmcnt(7)4291; CI-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 04292; CI-NEXT:    s_waitcnt vmcnt(0)4293; CI-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 04294; CI-NEXT:    s_waitcnt vmcnt(0)4295; CI-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 04296; CI-NEXT:    s_waitcnt vmcnt(0)4297; CI-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 04298; CI-NEXT:    s_waitcnt vmcnt(0)4299; CI-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 04300; CI-NEXT:    s_waitcnt vmcnt(0)4301; CI-NEXT:    buffer_load_dword v12, off, s[0:3], s32 offset:324302; CI-NEXT:    buffer_load_dword v13, off, s[0:3], s32 offset:284303; CI-NEXT:    buffer_load_dword v14, off, s[0:3], s32 offset:244304; CI-NEXT:    buffer_load_dword v15, off, s[0:3], s32 offset:204305; CI-NEXT:    buffer_load_dword v16, off, s[0:3], s32 offset:164306; CI-NEXT:    buffer_load_dword v17, off, s[0:3], s32 offset:124307; CI-NEXT:    buffer_load_dword v18, off, s[0:3], s32 offset:84308; CI-NEXT:    buffer_load_dword v19, off, s[0:3], s32 offset:44309; CI-NEXT:    buffer_load_dword v20, off, s[0:3], s32 offset:444310; CI-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 04311; CI-NEXT:    s_waitcnt vmcnt(0)4312; CI-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 04313; CI-NEXT:    s_waitcnt vmcnt(0)4314; CI-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 04315; CI-NEXT:    s_waitcnt vmcnt(0)4316; CI-NEXT:    buffer_store_byte v34, off, s[4:7], 04317; CI-NEXT:    s_waitcnt vmcnt(0)4318; CI-NEXT:    buffer_store_byte v33, off, s[4:7], 04319; CI-NEXT:    s_waitcnt vmcnt(0)4320; CI-NEXT:    buffer_store_byte v36, off, s[4:7], 04321; CI-NEXT:    s_waitcnt vmcnt(0)4322; CI-NEXT:    buffer_store_byte v35, off, s[4:7], 04323; CI-NEXT:    s_waitcnt vmcnt(0)4324; CI-NEXT:    buffer_store_byte v32, off, s[4:7], 04325; CI-NEXT:    s_waitcnt vmcnt(0)4326; CI-NEXT:    buffer_store_byte v20, off, s[4:7], 04327; CI-NEXT:    s_waitcnt vmcnt(0)4328; CI-NEXT:    buffer_store_byte v38, off, s[4:7], 04329; CI-NEXT:    s_waitcnt vmcnt(0)4330; CI-NEXT:    buffer_store_byte v37, off, s[4:7], 04331; CI-NEXT:    s_waitcnt vmcnt(0)4332; CI-NEXT:    buffer_store_byte v12, off, s[4:7], 04333; CI-NEXT:    s_waitcnt vmcnt(0)4334; CI-NEXT:    buffer_store_byte v13, off, s[4:7], 04335; CI-NEXT:    s_waitcnt vmcnt(0)4336; CI-NEXT:    buffer_store_byte v14, off, s[4:7], 04337; CI-NEXT:    s_waitcnt vmcnt(0)4338; CI-NEXT:    buffer_store_byte v15, off, s[4:7], 04339; CI-NEXT:    s_waitcnt vmcnt(0)4340; CI-NEXT:    buffer_store_byte v16, off, s[4:7], 04341; CI-NEXT:    s_waitcnt vmcnt(0)4342; CI-NEXT:    buffer_store_byte v17, off, s[4:7], 04343; CI-NEXT:    s_waitcnt vmcnt(0)4344; CI-NEXT:    buffer_store_byte v18, off, s[4:7], 04345; CI-NEXT:    s_waitcnt vmcnt(0)4346; CI-NEXT:    buffer_store_byte v19, off, s[4:7], 04347; CI-NEXT:    s_waitcnt vmcnt(0)4348; CI-NEXT:    s_setpc_b64 s[30:31]4349;4350; VI-LABEL: void_func_v32i32_v16i8:4351; VI:       ; %bb.0:4352; VI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4353; VI-NEXT:    buffer_load_dword v31, off, s[0:3], s324354; VI-NEXT:    s_mov_b32 s7, 0xf0004355; VI-NEXT:    s_mov_b32 s6, -14356; VI-NEXT:    buffer_load_ubyte v32, off, s[0:3], s32 offset:484357; VI-NEXT:    buffer_load_ubyte v33, off, s[0:3], s32 offset:604358; VI-NEXT:    buffer_load_ubyte v34, off, s[0:3], s32 offset:644359; VI-NEXT:    buffer_load_ubyte v35, off, s[0:3], s32 offset:524360; VI-NEXT:    buffer_load_ubyte v36, off, s[0:3], s32 offset:564361; VI-NEXT:    buffer_load_ubyte v37, off, s[0:3], s32 offset:364362; VI-NEXT:    buffer_load_ubyte v38, off, s[0:3], s32 offset:404363; VI-NEXT:    s_waitcnt vmcnt(7)4364; VI-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 04365; VI-NEXT:    s_waitcnt vmcnt(0)4366; VI-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 04367; VI-NEXT:    s_waitcnt vmcnt(0)4368; VI-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 04369; VI-NEXT:    s_waitcnt vmcnt(0)4370; VI-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 04371; VI-NEXT:    s_waitcnt vmcnt(0)4372; VI-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 04373; VI-NEXT:    s_waitcnt vmcnt(0)4374; VI-NEXT:    buffer_load_ubyte v12, off, s[0:3], s32 offset:324375; VI-NEXT:    buffer_load_ubyte v13, off, s[0:3], s32 offset:284376; VI-NEXT:    buffer_load_ubyte v14, off, s[0:3], s32 offset:244377; VI-NEXT:    buffer_load_ubyte v15, off, s[0:3], s32 offset:204378; VI-NEXT:    buffer_load_ubyte v16, off, s[0:3], s32 offset:164379; VI-NEXT:    buffer_load_ubyte v17, off, s[0:3], s32 offset:124380; VI-NEXT:    buffer_load_ubyte v18, off, s[0:3], s32 offset:84381; VI-NEXT:    buffer_load_ubyte v19, off, s[0:3], s32 offset:44382; VI-NEXT:    buffer_load_ubyte v20, off, s[0:3], s32 offset:444383; VI-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 04384; VI-NEXT:    s_waitcnt vmcnt(0)4385; VI-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 04386; VI-NEXT:    s_waitcnt vmcnt(0)4387; VI-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 04388; VI-NEXT:    s_waitcnt vmcnt(0)4389; VI-NEXT:    buffer_store_byte v34, off, s[4:7], 04390; VI-NEXT:    s_waitcnt vmcnt(0)4391; VI-NEXT:    buffer_store_byte v33, off, s[4:7], 04392; VI-NEXT:    s_waitcnt vmcnt(0)4393; VI-NEXT:    buffer_store_byte v36, off, s[4:7], 04394; VI-NEXT:    s_waitcnt vmcnt(0)4395; VI-NEXT:    buffer_store_byte v35, off, s[4:7], 04396; VI-NEXT:    s_waitcnt vmcnt(0)4397; VI-NEXT:    buffer_store_byte v32, off, s[4:7], 04398; VI-NEXT:    s_waitcnt vmcnt(0)4399; VI-NEXT:    buffer_store_byte v20, off, s[4:7], 04400; VI-NEXT:    s_waitcnt vmcnt(0)4401; VI-NEXT:    buffer_store_byte v38, off, s[4:7], 04402; VI-NEXT:    s_waitcnt vmcnt(0)4403; VI-NEXT:    buffer_store_byte v37, off, s[4:7], 04404; VI-NEXT:    s_waitcnt vmcnt(0)4405; VI-NEXT:    buffer_store_byte v12, off, s[4:7], 04406; VI-NEXT:    s_waitcnt vmcnt(0)4407; VI-NEXT:    buffer_store_byte v13, off, s[4:7], 04408; VI-NEXT:    s_waitcnt vmcnt(0)4409; VI-NEXT:    buffer_store_byte v14, off, s[4:7], 04410; VI-NEXT:    s_waitcnt vmcnt(0)4411; VI-NEXT:    buffer_store_byte v15, off, s[4:7], 04412; VI-NEXT:    s_waitcnt vmcnt(0)4413; VI-NEXT:    buffer_store_byte v16, off, s[4:7], 04414; VI-NEXT:    s_waitcnt vmcnt(0)4415; VI-NEXT:    buffer_store_byte v17, off, s[4:7], 04416; VI-NEXT:    s_waitcnt vmcnt(0)4417; VI-NEXT:    buffer_store_byte v18, off, s[4:7], 04418; VI-NEXT:    s_waitcnt vmcnt(0)4419; VI-NEXT:    buffer_store_byte v19, off, s[4:7], 04420; VI-NEXT:    s_waitcnt vmcnt(0)4421; VI-NEXT:    s_setpc_b64 s[30:31]4422;4423; GFX9-LABEL: void_func_v32i32_v16i8:4424; GFX9:       ; %bb.0:4425; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4426; GFX9-NEXT:    buffer_load_dword v31, off, s[0:3], s324427; GFX9-NEXT:    s_mov_b32 s7, 0xf0004428; GFX9-NEXT:    s_mov_b32 s6, -14429; GFX9-NEXT:    buffer_load_ubyte v32, off, s[0:3], s32 offset:484430; GFX9-NEXT:    buffer_load_ubyte v33, off, s[0:3], s32 offset:604431; GFX9-NEXT:    buffer_load_ubyte v34, off, s[0:3], s32 offset:644432; GFX9-NEXT:    buffer_load_ubyte v35, off, s[0:3], s32 offset:524433; GFX9-NEXT:    buffer_load_ubyte v36, off, s[0:3], s32 offset:564434; GFX9-NEXT:    buffer_load_ubyte v37, off, s[0:3], s32 offset:364435; GFX9-NEXT:    buffer_load_ubyte v38, off, s[0:3], s32 offset:404436; GFX9-NEXT:    s_waitcnt vmcnt(7)4437; GFX9-NEXT:    buffer_store_dwordx4 v[28:31], off, s[4:7], 04438; GFX9-NEXT:    s_waitcnt vmcnt(0)4439; GFX9-NEXT:    buffer_store_dwordx4 v[24:27], off, s[4:7], 04440; GFX9-NEXT:    s_waitcnt vmcnt(0)4441; GFX9-NEXT:    buffer_store_dwordx4 v[20:23], off, s[4:7], 04442; GFX9-NEXT:    s_waitcnt vmcnt(0)4443; GFX9-NEXT:    buffer_store_dwordx4 v[16:19], off, s[4:7], 04444; GFX9-NEXT:    s_waitcnt vmcnt(0)4445; GFX9-NEXT:    buffer_store_dwordx4 v[12:15], off, s[4:7], 04446; GFX9-NEXT:    s_waitcnt vmcnt(0)4447; GFX9-NEXT:    buffer_load_ubyte v12, off, s[0:3], s32 offset:324448; GFX9-NEXT:    buffer_load_ubyte v13, off, s[0:3], s32 offset:284449; GFX9-NEXT:    buffer_load_ubyte v14, off, s[0:3], s32 offset:244450; GFX9-NEXT:    buffer_load_ubyte v15, off, s[0:3], s32 offset:204451; GFX9-NEXT:    buffer_load_ubyte v16, off, s[0:3], s32 offset:164452; GFX9-NEXT:    buffer_load_ubyte v17, off, s[0:3], s32 offset:124453; GFX9-NEXT:    buffer_load_ubyte v18, off, s[0:3], s32 offset:84454; GFX9-NEXT:    buffer_load_ubyte v19, off, s[0:3], s32 offset:44455; GFX9-NEXT:    buffer_load_ubyte v20, off, s[0:3], s32 offset:444456; GFX9-NEXT:    s_nop 04457; GFX9-NEXT:    buffer_store_dwordx4 v[8:11], off, s[4:7], 04458; GFX9-NEXT:    s_waitcnt vmcnt(0)4459; GFX9-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 04460; GFX9-NEXT:    s_waitcnt vmcnt(0)4461; GFX9-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 04462; GFX9-NEXT:    s_waitcnt vmcnt(0)4463; GFX9-NEXT:    buffer_store_byte v34, off, s[4:7], 04464; GFX9-NEXT:    s_waitcnt vmcnt(0)4465; GFX9-NEXT:    buffer_store_byte v33, off, s[4:7], 04466; GFX9-NEXT:    s_waitcnt vmcnt(0)4467; GFX9-NEXT:    buffer_store_byte v36, off, s[4:7], 04468; GFX9-NEXT:    s_waitcnt vmcnt(0)4469; GFX9-NEXT:    buffer_store_byte v35, off, s[4:7], 04470; GFX9-NEXT:    s_waitcnt vmcnt(0)4471; GFX9-NEXT:    buffer_store_byte v32, off, s[4:7], 04472; GFX9-NEXT:    s_waitcnt vmcnt(0)4473; GFX9-NEXT:    buffer_store_byte v20, off, s[4:7], 04474; GFX9-NEXT:    s_waitcnt vmcnt(0)4475; GFX9-NEXT:    buffer_store_byte v38, off, s[4:7], 04476; GFX9-NEXT:    s_waitcnt vmcnt(0)4477; GFX9-NEXT:    buffer_store_byte v37, off, s[4:7], 04478; GFX9-NEXT:    s_waitcnt vmcnt(0)4479; GFX9-NEXT:    buffer_store_byte v12, off, s[4:7], 04480; GFX9-NEXT:    s_waitcnt vmcnt(0)4481; GFX9-NEXT:    buffer_store_byte v13, off, s[4:7], 04482; GFX9-NEXT:    s_waitcnt vmcnt(0)4483; GFX9-NEXT:    buffer_store_byte v14, off, s[4:7], 04484; GFX9-NEXT:    s_waitcnt vmcnt(0)4485; GFX9-NEXT:    buffer_store_byte v15, off, s[4:7], 04486; GFX9-NEXT:    s_waitcnt vmcnt(0)4487; GFX9-NEXT:    buffer_store_byte v16, off, s[4:7], 04488; GFX9-NEXT:    s_waitcnt vmcnt(0)4489; GFX9-NEXT:    buffer_store_byte v17, off, s[4:7], 04490; GFX9-NEXT:    s_waitcnt vmcnt(0)4491; GFX9-NEXT:    buffer_store_byte v18, off, s[4:7], 04492; GFX9-NEXT:    s_waitcnt vmcnt(0)4493; GFX9-NEXT:    buffer_store_byte v19, off, s[4:7], 04494; GFX9-NEXT:    s_waitcnt vmcnt(0)4495; GFX9-NEXT:    s_setpc_b64 s[30:31]4496;4497; GFX11-TRUE16-LABEL: void_func_v32i32_v16i8:4498; GFX11-TRUE16:       ; %bb.0:4499; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4500; GFX11-TRUE16-NEXT:    s_clause 0x104501; GFX11-TRUE16-NEXT:    scratch_load_b32 v31, off, s324502; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v32, off, s32 offset:644503; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v33, off, s32 offset:604504; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v34, off, s32 offset:564505; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v35, off, s32 offset:524506; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v36, off, s32 offset:484507; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v37, off, s32 offset:444508; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v38, off, s32 offset:404509; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v39, off, s32 offset:364510; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v48, off, s32 offset:324511; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v49, off, s32 offset:284512; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v50, off, s32 offset:244513; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v51, off, s32 offset:204514; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v52, off, s32 offset:164515; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v53, off, s32 offset:124516; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v54, off, s32 offset:84517; GFX11-TRUE16-NEXT:    scratch_load_d16_u8 v55, off, s32 offset:44518; GFX11-TRUE16-NEXT:    s_mov_b32 s3, 0x310160004519; GFX11-TRUE16-NEXT:    s_mov_b32 s2, -14520; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(16)4521; GFX11-TRUE16-NEXT:    buffer_store_b128 v[28:31], off, s[0:3], 0 dlc4522; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04523; GFX11-TRUE16-NEXT:    buffer_store_b128 v[24:27], off, s[0:3], 0 dlc4524; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04525; GFX11-TRUE16-NEXT:    buffer_store_b128 v[20:23], off, s[0:3], 0 dlc4526; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04527; GFX11-TRUE16-NEXT:    buffer_store_b128 v[16:19], off, s[0:3], 0 dlc4528; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04529; GFX11-TRUE16-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 0 dlc4530; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04531; GFX11-TRUE16-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 0 dlc4532; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04533; GFX11-TRUE16-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0 dlc4534; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04535; GFX11-TRUE16-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0 dlc4536; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04537; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(15)4538; GFX11-TRUE16-NEXT:    buffer_store_b8 v32, off, s[0:3], 0 dlc4539; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04540; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(14)4541; GFX11-TRUE16-NEXT:    buffer_store_b8 v33, off, s[0:3], 0 dlc4542; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04543; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(13)4544; GFX11-TRUE16-NEXT:    buffer_store_b8 v34, off, s[0:3], 0 dlc4545; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04546; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(12)4547; GFX11-TRUE16-NEXT:    buffer_store_b8 v35, off, s[0:3], 0 dlc4548; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04549; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(11)4550; GFX11-TRUE16-NEXT:    buffer_store_b8 v36, off, s[0:3], 0 dlc4551; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04552; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(10)4553; GFX11-TRUE16-NEXT:    buffer_store_b8 v37, off, s[0:3], 0 dlc4554; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04555; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(9)4556; GFX11-TRUE16-NEXT:    buffer_store_b8 v38, off, s[0:3], 0 dlc4557; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04558; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(8)4559; GFX11-TRUE16-NEXT:    buffer_store_b8 v39, off, s[0:3], 0 dlc4560; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04561; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(7)4562; GFX11-TRUE16-NEXT:    buffer_store_b8 v48, off, s[0:3], 0 dlc4563; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04564; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(6)4565; GFX11-TRUE16-NEXT:    buffer_store_b8 v49, off, s[0:3], 0 dlc4566; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04567; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(5)4568; GFX11-TRUE16-NEXT:    buffer_store_b8 v50, off, s[0:3], 0 dlc4569; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04570; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(4)4571; GFX11-TRUE16-NEXT:    buffer_store_b8 v51, off, s[0:3], 0 dlc4572; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04573; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(3)4574; GFX11-TRUE16-NEXT:    buffer_store_b8 v52, off, s[0:3], 0 dlc4575; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04576; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(2)4577; GFX11-TRUE16-NEXT:    buffer_store_b8 v53, off, s[0:3], 0 dlc4578; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04579; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(1)4580; GFX11-TRUE16-NEXT:    buffer_store_b8 v54, off, s[0:3], 0 dlc4581; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04582; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0)4583; GFX11-TRUE16-NEXT:    buffer_store_b8 v55, off, s[0:3], 0 dlc4584; GFX11-TRUE16-NEXT:    s_waitcnt_vscnt null, 0x04585; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]4586;4587; GFX11-FAKE16-LABEL: void_func_v32i32_v16i8:4588; GFX11-FAKE16:       ; %bb.0:4589; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4590; GFX11-FAKE16-NEXT:    s_clause 0x104591; GFX11-FAKE16-NEXT:    scratch_load_b32 v31, off, s324592; GFX11-FAKE16-NEXT:    scratch_load_u8 v32, off, s32 offset:644593; GFX11-FAKE16-NEXT:    scratch_load_u8 v33, off, s32 offset:604594; GFX11-FAKE16-NEXT:    scratch_load_u8 v34, off, s32 offset:564595; GFX11-FAKE16-NEXT:    scratch_load_u8 v35, off, s32 offset:524596; GFX11-FAKE16-NEXT:    scratch_load_u8 v36, off, s32 offset:484597; GFX11-FAKE16-NEXT:    scratch_load_u8 v37, off, s32 offset:444598; GFX11-FAKE16-NEXT:    scratch_load_u8 v38, off, s32 offset:404599; GFX11-FAKE16-NEXT:    scratch_load_u8 v39, off, s32 offset:364600; GFX11-FAKE16-NEXT:    scratch_load_u8 v48, off, s32 offset:324601; GFX11-FAKE16-NEXT:    scratch_load_u8 v49, off, s32 offset:284602; GFX11-FAKE16-NEXT:    scratch_load_u8 v50, off, s32 offset:244603; GFX11-FAKE16-NEXT:    scratch_load_u8 v51, off, s32 offset:204604; GFX11-FAKE16-NEXT:    scratch_load_u8 v52, off, s32 offset:164605; GFX11-FAKE16-NEXT:    scratch_load_u8 v53, off, s32 offset:124606; GFX11-FAKE16-NEXT:    scratch_load_u8 v54, off, s32 offset:84607; GFX11-FAKE16-NEXT:    scratch_load_u8 v55, off, s32 offset:44608; GFX11-FAKE16-NEXT:    s_mov_b32 s3, 0x310160004609; GFX11-FAKE16-NEXT:    s_mov_b32 s2, -14610; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(16)4611; GFX11-FAKE16-NEXT:    buffer_store_b128 v[28:31], off, s[0:3], 0 dlc4612; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04613; GFX11-FAKE16-NEXT:    buffer_store_b128 v[24:27], off, s[0:3], 0 dlc4614; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04615; GFX11-FAKE16-NEXT:    buffer_store_b128 v[20:23], off, s[0:3], 0 dlc4616; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04617; GFX11-FAKE16-NEXT:    buffer_store_b128 v[16:19], off, s[0:3], 0 dlc4618; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04619; GFX11-FAKE16-NEXT:    buffer_store_b128 v[12:15], off, s[0:3], 0 dlc4620; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04621; GFX11-FAKE16-NEXT:    buffer_store_b128 v[8:11], off, s[0:3], 0 dlc4622; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04623; GFX11-FAKE16-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 0 dlc4624; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04625; GFX11-FAKE16-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 0 dlc4626; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04627; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(15)4628; GFX11-FAKE16-NEXT:    buffer_store_b8 v32, off, s[0:3], 0 dlc4629; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04630; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(14)4631; GFX11-FAKE16-NEXT:    buffer_store_b8 v33, off, s[0:3], 0 dlc4632; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04633; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(13)4634; GFX11-FAKE16-NEXT:    buffer_store_b8 v34, off, s[0:3], 0 dlc4635; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04636; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(12)4637; GFX11-FAKE16-NEXT:    buffer_store_b8 v35, off, s[0:3], 0 dlc4638; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04639; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(11)4640; GFX11-FAKE16-NEXT:    buffer_store_b8 v36, off, s[0:3], 0 dlc4641; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04642; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(10)4643; GFX11-FAKE16-NEXT:    buffer_store_b8 v37, off, s[0:3], 0 dlc4644; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04645; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(9)4646; GFX11-FAKE16-NEXT:    buffer_store_b8 v38, off, s[0:3], 0 dlc4647; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04648; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(8)4649; GFX11-FAKE16-NEXT:    buffer_store_b8 v39, off, s[0:3], 0 dlc4650; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04651; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(7)4652; GFX11-FAKE16-NEXT:    buffer_store_b8 v48, off, s[0:3], 0 dlc4653; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04654; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(6)4655; GFX11-FAKE16-NEXT:    buffer_store_b8 v49, off, s[0:3], 0 dlc4656; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04657; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(5)4658; GFX11-FAKE16-NEXT:    buffer_store_b8 v50, off, s[0:3], 0 dlc4659; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04660; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(4)4661; GFX11-FAKE16-NEXT:    buffer_store_b8 v51, off, s[0:3], 0 dlc4662; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04663; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(3)4664; GFX11-FAKE16-NEXT:    buffer_store_b8 v52, off, s[0:3], 0 dlc4665; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04666; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(2)4667; GFX11-FAKE16-NEXT:    buffer_store_b8 v53, off, s[0:3], 0 dlc4668; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04669; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(1)4670; GFX11-FAKE16-NEXT:    buffer_store_b8 v54, off, s[0:3], 0 dlc4671; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04672; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0)4673; GFX11-FAKE16-NEXT:    buffer_store_b8 v55, off, s[0:3], 0 dlc4674; GFX11-FAKE16-NEXT:    s_waitcnt_vscnt null, 0x04675; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]4676  store volatile <32 x i32> %arg0, ptr addrspace(1) poison4677  store volatile <16 x i8> %arg1, ptr addrspace(1) poison4678  ret void4679}4680 4681 4682define void @void_func_bf16(bfloat %arg0) #0 {4683; CI-LABEL: void_func_bf16:4684; CI:       ; %bb.0:4685; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4686; CI-NEXT:    v_mul_f32_e32 v0, 1.0, v04687; CI-NEXT:    v_lshrrev_b32_e32 v0, 16, v04688; CI-NEXT:    s_mov_b32 s7, 0xf0004689; CI-NEXT:    s_mov_b32 s6, -14690; CI-NEXT:    buffer_store_short v0, off, s[4:7], 04691; CI-NEXT:    s_waitcnt vmcnt(0)4692; CI-NEXT:    s_setpc_b64 s[30:31]4693;4694; GFX89-LABEL: void_func_bf16:4695; GFX89:       ; %bb.0:4696; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4697; GFX89-NEXT:    s_mov_b32 s7, 0xf0004698; GFX89-NEXT:    s_mov_b32 s6, -14699; GFX89-NEXT:    buffer_store_short v0, off, s[4:7], 04700; GFX89-NEXT:    s_waitcnt vmcnt(0)4701; GFX89-NEXT:    s_setpc_b64 s[30:31]4702;4703; GFX11-LABEL: void_func_bf16:4704; GFX11:       ; %bb.0:4705; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4706; GFX11-NEXT:    s_mov_b32 s3, 0x310160004707; GFX11-NEXT:    s_mov_b32 s2, -14708; GFX11-NEXT:    buffer_store_b16 v0, off, s[0:3], 04709; GFX11-NEXT:    s_setpc_b64 s[30:31]4710  store bfloat %arg0, ptr addrspace(1) poison4711  ret void4712}4713 4714define void @void_func_v2bf16(<2 x bfloat> %arg0) #0 {4715; CI-LABEL: void_func_v2bf16:4716; CI:       ; %bb.0:4717; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4718; CI-NEXT:    v_mul_f32_e32 v1, 1.0, v14719; CI-NEXT:    v_lshrrev_b32_e32 v1, 16, v14720; CI-NEXT:    v_mul_f32_e32 v0, 1.0, v04721; CI-NEXT:    v_alignbit_b32 v0, v1, v0, 164722; CI-NEXT:    s_mov_b32 s7, 0xf0004723; CI-NEXT:    s_mov_b32 s6, -14724; CI-NEXT:    buffer_store_dword v0, off, s[4:7], 04725; CI-NEXT:    s_waitcnt vmcnt(0)4726; CI-NEXT:    s_setpc_b64 s[30:31]4727;4728; GFX89-LABEL: void_func_v2bf16:4729; GFX89:       ; %bb.0:4730; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4731; GFX89-NEXT:    s_mov_b32 s7, 0xf0004732; GFX89-NEXT:    s_mov_b32 s6, -14733; GFX89-NEXT:    buffer_store_dword v0, off, s[4:7], 04734; GFX89-NEXT:    s_waitcnt vmcnt(0)4735; GFX89-NEXT:    s_setpc_b64 s[30:31]4736;4737; GFX11-LABEL: void_func_v2bf16:4738; GFX11:       ; %bb.0:4739; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4740; GFX11-NEXT:    s_mov_b32 s3, 0x310160004741; GFX11-NEXT:    s_mov_b32 s2, -14742; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 04743; GFX11-NEXT:    s_setpc_b64 s[30:31]4744  store <2 x bfloat> %arg0, ptr addrspace(1) poison4745  ret void4746}4747 4748define void @void_func_v3bf16(<3 x bfloat> %arg0) #0 {4749; CI-LABEL: void_func_v3bf16:4750; CI:       ; %bb.0:4751; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4752; CI-NEXT:    v_mul_f32_e32 v1, 1.0, v14753; CI-NEXT:    v_lshrrev_b32_e32 v1, 16, v14754; CI-NEXT:    v_mul_f32_e32 v0, 1.0, v04755; CI-NEXT:    v_alignbit_b32 v0, v1, v0, 164756; CI-NEXT:    v_mul_f32_e32 v1, 1.0, v24757; CI-NEXT:    v_lshrrev_b32_e32 v1, 16, v14758; CI-NEXT:    s_mov_b32 s7, 0xf0004759; CI-NEXT:    s_mov_b32 s6, -14760; CI-NEXT:    buffer_store_short v1, off, s[4:7], 04761; CI-NEXT:    buffer_store_dword v0, off, s[4:7], 04762; CI-NEXT:    s_waitcnt vmcnt(0)4763; CI-NEXT:    s_setpc_b64 s[30:31]4764;4765; GFX89-LABEL: void_func_v3bf16:4766; GFX89:       ; %bb.0:4767; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4768; GFX89-NEXT:    s_mov_b32 s7, 0xf0004769; GFX89-NEXT:    s_mov_b32 s6, -14770; GFX89-NEXT:    buffer_store_short v1, off, s[4:7], 04771; GFX89-NEXT:    buffer_store_dword v0, off, s[4:7], 04772; GFX89-NEXT:    s_waitcnt vmcnt(0)4773; GFX89-NEXT:    s_setpc_b64 s[30:31]4774;4775; GFX11-LABEL: void_func_v3bf16:4776; GFX11:       ; %bb.0:4777; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4778; GFX11-NEXT:    s_mov_b32 s3, 0x310160004779; GFX11-NEXT:    s_mov_b32 s2, -14780; GFX11-NEXT:    s_clause 0x14781; GFX11-NEXT:    buffer_store_b16 v1, off, s[0:3], 04782; GFX11-NEXT:    buffer_store_b32 v0, off, s[0:3], 04783; GFX11-NEXT:    s_setpc_b64 s[30:31]4784  store <3 x bfloat> %arg0, ptr addrspace(1) poison4785  ret void4786}4787 4788define void @void_func_v4bf16(<4 x bfloat> %arg0) #0 {4789; CI-LABEL: void_func_v4bf16:4790; CI:       ; %bb.0:4791; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4792; CI-NEXT:    v_mul_f32_e32 v3, 1.0, v34793; CI-NEXT:    v_mul_f32_e32 v1, 1.0, v14794; CI-NEXT:    v_lshrrev_b32_e32 v3, 16, v34795; CI-NEXT:    v_mul_f32_e32 v2, 1.0, v24796; CI-NEXT:    v_lshrrev_b32_e32 v1, 16, v14797; CI-NEXT:    v_mul_f32_e32 v0, 1.0, v04798; CI-NEXT:    v_alignbit_b32 v2, v3, v2, 164799; CI-NEXT:    v_alignbit_b32 v1, v1, v0, 164800; CI-NEXT:    s_mov_b32 s7, 0xf0004801; CI-NEXT:    s_mov_b32 s6, -14802; CI-NEXT:    buffer_store_dwordx2 v[1:2], off, s[4:7], 04803; CI-NEXT:    s_waitcnt vmcnt(0)4804; CI-NEXT:    s_setpc_b64 s[30:31]4805;4806; GFX89-LABEL: void_func_v4bf16:4807; GFX89:       ; %bb.0:4808; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4809; GFX89-NEXT:    s_mov_b32 s7, 0xf0004810; GFX89-NEXT:    s_mov_b32 s6, -14811; GFX89-NEXT:    buffer_store_dwordx2 v[0:1], off, s[4:7], 04812; GFX89-NEXT:    s_waitcnt vmcnt(0)4813; GFX89-NEXT:    s_setpc_b64 s[30:31]4814;4815; GFX11-LABEL: void_func_v4bf16:4816; GFX11:       ; %bb.0:4817; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4818; GFX11-NEXT:    s_mov_b32 s3, 0x310160004819; GFX11-NEXT:    s_mov_b32 s2, -14820; GFX11-NEXT:    buffer_store_b64 v[0:1], off, s[0:3], 04821; GFX11-NEXT:    s_setpc_b64 s[30:31]4822  store <4 x bfloat> %arg0, ptr addrspace(1) poison4823  ret void4824}4825 4826define void @void_func_v8bf16(<8 x bfloat> %arg0) #0 {4827; CI-LABEL: void_func_v8bf16:4828; CI:       ; %bb.0:4829; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4830; CI-NEXT:    v_mul_f32_e32 v7, 1.0, v74831; CI-NEXT:    v_mul_f32_e32 v5, 1.0, v54832; CI-NEXT:    v_mul_f32_e32 v3, 1.0, v34833; CI-NEXT:    v_mul_f32_e32 v1, 1.0, v14834; CI-NEXT:    v_lshrrev_b32_e32 v7, 16, v74835; CI-NEXT:    v_mul_f32_e32 v6, 1.0, v64836; CI-NEXT:    v_lshrrev_b32_e32 v5, 16, v54837; CI-NEXT:    v_mul_f32_e32 v4, 1.0, v44838; CI-NEXT:    v_lshrrev_b32_e32 v3, 16, v34839; CI-NEXT:    v_mul_f32_e32 v2, 1.0, v24840; CI-NEXT:    v_lshrrev_b32_e32 v1, 16, v14841; CI-NEXT:    v_mul_f32_e32 v0, 1.0, v04842; CI-NEXT:    v_alignbit_b32 v6, v7, v6, 164843; CI-NEXT:    v_alignbit_b32 v5, v5, v4, 164844; CI-NEXT:    v_alignbit_b32 v4, v3, v2, 164845; CI-NEXT:    v_alignbit_b32 v3, v1, v0, 164846; CI-NEXT:    s_mov_b32 s7, 0xf0004847; CI-NEXT:    s_mov_b32 s6, -14848; CI-NEXT:    buffer_store_dwordx4 v[3:6], off, s[4:7], 04849; CI-NEXT:    s_waitcnt vmcnt(0)4850; CI-NEXT:    s_setpc_b64 s[30:31]4851;4852; GFX89-LABEL: void_func_v8bf16:4853; GFX89:       ; %bb.0:4854; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4855; GFX89-NEXT:    s_mov_b32 s7, 0xf0004856; GFX89-NEXT:    s_mov_b32 s6, -14857; GFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 04858; GFX89-NEXT:    s_waitcnt vmcnt(0)4859; GFX89-NEXT:    s_setpc_b64 s[30:31]4860;4861; GFX11-LABEL: void_func_v8bf16:4862; GFX11:       ; %bb.0:4863; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4864; GFX11-NEXT:    s_mov_b32 s3, 0x310160004865; GFX11-NEXT:    s_mov_b32 s2, -14866; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 04867; GFX11-NEXT:    s_setpc_b64 s[30:31]4868  store <8 x bfloat> %arg0, ptr addrspace(1) poison4869  ret void4870}4871 4872define void @void_func_v16bf16(<16 x bfloat> %arg0) #0 {4873; CI-LABEL: void_func_v16bf16:4874; CI:       ; %bb.0:4875; CI-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4876; CI-NEXT:    v_mul_f32_e32 v5, 1.0, v54877; CI-NEXT:    v_mul_f32_e32 v3, 1.0, v34878; CI-NEXT:    v_mul_f32_e32 v1, 1.0, v14879; CI-NEXT:    v_lshrrev_b32_e32 v5, 16, v54880; CI-NEXT:    v_mul_f32_e32 v4, 1.0, v44881; CI-NEXT:    v_lshrrev_b32_e32 v3, 16, v34882; CI-NEXT:    v_mul_f32_e32 v2, 1.0, v24883; CI-NEXT:    v_lshrrev_b32_e32 v1, 16, v14884; CI-NEXT:    v_mul_f32_e32 v0, 1.0, v04885; CI-NEXT:    v_alignbit_b32 v5, v5, v4, 164886; CI-NEXT:    v_alignbit_b32 v4, v3, v2, 164887; CI-NEXT:    v_alignbit_b32 v3, v1, v0, 164888; CI-NEXT:    v_mul_f32_e32 v0, 1.0, v154889; CI-NEXT:    v_lshrrev_b32_e32 v0, 16, v04890; CI-NEXT:    v_mul_f32_e32 v1, 1.0, v144891; CI-NEXT:    v_alignbit_b32 v14, v0, v1, 164892; CI-NEXT:    v_mul_f32_e32 v0, 1.0, v134893; CI-NEXT:    v_lshrrev_b32_e32 v0, 16, v04894; CI-NEXT:    v_mul_f32_e32 v1, 1.0, v124895; CI-NEXT:    v_alignbit_b32 v13, v0, v1, 164896; CI-NEXT:    v_mul_f32_e32 v0, 1.0, v114897; CI-NEXT:    v_lshrrev_b32_e32 v0, 16, v04898; CI-NEXT:    v_mul_f32_e32 v1, 1.0, v104899; CI-NEXT:    v_alignbit_b32 v12, v0, v1, 164900; CI-NEXT:    v_mul_f32_e32 v0, 1.0, v94901; CI-NEXT:    v_mul_f32_e32 v7, 1.0, v74902; CI-NEXT:    v_lshrrev_b32_e32 v0, 16, v04903; CI-NEXT:    v_mul_f32_e32 v1, 1.0, v84904; CI-NEXT:    v_lshrrev_b32_e32 v7, 16, v74905; CI-NEXT:    v_mul_f32_e32 v6, 1.0, v64906; CI-NEXT:    v_alignbit_b32 v11, v0, v1, 164907; CI-NEXT:    s_mov_b32 s7, 0xf0004908; CI-NEXT:    s_mov_b32 s6, -14909; CI-NEXT:    v_alignbit_b32 v6, v7, v6, 164910; CI-NEXT:    buffer_store_dwordx4 v[11:14], off, s[4:7], 04911; CI-NEXT:    buffer_store_dwordx4 v[3:6], off, s[4:7], 04912; CI-NEXT:    s_waitcnt vmcnt(0)4913; CI-NEXT:    s_setpc_b64 s[30:31]4914;4915; GFX89-LABEL: void_func_v16bf16:4916; GFX89:       ; %bb.0:4917; GFX89-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4918; GFX89-NEXT:    s_mov_b32 s7, 0xf0004919; GFX89-NEXT:    s_mov_b32 s6, -14920; GFX89-NEXT:    buffer_store_dwordx4 v[4:7], off, s[4:7], 04921; GFX89-NEXT:    buffer_store_dwordx4 v[0:3], off, s[4:7], 04922; GFX89-NEXT:    s_waitcnt vmcnt(0)4923; GFX89-NEXT:    s_setpc_b64 s[30:31]4924;4925; GFX11-LABEL: void_func_v16bf16:4926; GFX11:       ; %bb.0:4927; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)4928; GFX11-NEXT:    s_mov_b32 s3, 0x310160004929; GFX11-NEXT:    s_mov_b32 s2, -14930; GFX11-NEXT:    s_clause 0x14931; GFX11-NEXT:    buffer_store_b128 v[4:7], off, s[0:3], 04932; GFX11-NEXT:    buffer_store_b128 v[0:3], off, s[0:3], 04933; GFX11-NEXT:    s_setpc_b64 s[30:31]4934  store <16 x bfloat> %arg0, ptr addrspace(1) poison4935  ret void4936}4937 4938attributes #0 = { nounwind }4939