1; RUN: llc -march=amdgcn -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GCN-NOHSA -check-prefix=FUNC %s 2; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=kaveri -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GCN-HSA -check-prefix=FUNC %s 3; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GCN-NOHSA -check-prefix=FUNC %s 4; RUN: llc -march=r600 -mcpu=redwood < %s | FileCheck -check-prefix=EG -check-prefix=FUNC %s 5 6 7; FUNC-LABEL: {{^}}global_load_i32: 8; GCN-NOHSA: buffer_load_dword v{{[0-9]+}} 9; GCN-HSA: flat_load_dword 10 11; EG: VTX_READ_32 T{{[0-9]+}}.X, T{{[0-9]+}}.X, 0 12define void @global_load_i32(i32 addrspace(1)* %out, i32 addrspace(1)* %in) #0 { 13entry: 14 %ld = load i32, i32 addrspace(1)* %in 15 store i32 %ld, i32 addrspace(1)* %out 16 ret void 17} 18 19; FUNC-LABEL: {{^}}global_load_v2i32: 20; GCN-NOHSA: buffer_load_dwordx2 21; GCN-HSA: flat_load_dwordx2 22 23; EG: VTX_READ_64 24define void @global_load_v2i32(<2 x i32> addrspace(1)* %out, <2 x i32> addrspace(1)* %in) #0 { 25entry: 26 %ld = load <2 x i32>, <2 x i32> addrspace(1)* %in 27 store <2 x i32> %ld, <2 x i32> addrspace(1)* %out 28 ret void 29} 30 31; FUNC-LABEL: {{^}}global_load_v3i32: 32; GCN-NOHSA: buffer_load_dwordx4 33; GCN-HSA: flat_load_dwordx4 34 35; EG: VTX_READ_128 36define void @global_load_v3i32(<3 x i32> addrspace(1)* %out, <3 x i32> addrspace(1)* %in) #0 { 37entry: 38 %ld = load <3 x i32>, <3 x i32> addrspace(1)* %in 39 store <3 x i32> %ld, <3 x i32> addrspace(1)* %out 40 ret void 41} 42 43; FUNC-LABEL: {{^}}global_load_v4i32: 44; GCN-NOHSA: buffer_load_dwordx4 45; GCN-HSA: flat_load_dwordx4 46 47; EG: VTX_READ_128 48define void @global_load_v4i32(<4 x i32> addrspace(1)* %out, <4 x i32> addrspace(1)* %in) #0 { 49entry: 50 %ld = load <4 x i32>, <4 x i32> addrspace(1)* %in 51 store <4 x i32> %ld, <4 x i32> addrspace(1)* %out 52 ret void 53} 54 55; FUNC-LABEL: {{^}}global_load_v8i32: 56; GCN-NOHSA: buffer_load_dwordx4 57; GCN-NOHSA: buffer_load_dwordx4 58; GCN-HSA: flat_load_dwordx4 59; GCN-HSA: flat_load_dwordx4 60 61; EG: VTX_READ_128 62; EG: VTX_READ_128 63define void @global_load_v8i32(<8 x i32> addrspace(1)* %out, <8 x i32> addrspace(1)* %in) #0 { 64entry: 65 %ld = load <8 x i32>, <8 x i32> addrspace(1)* %in 66 store <8 x i32> %ld, <8 x i32> addrspace(1)* %out 67 ret void 68} 69 70; FUNC-LABEL: {{^}}global_load_v16i32: 71; GCN-NOHSA: buffer_load_dwordx4 72; GCN-NOHSA: buffer_load_dwordx4 73; GCN-NOHSA: buffer_load_dwordx4 74; GCN-NOHSA: buffer_load_dwordx4 75 76; GCN-HSA: flat_load_dwordx4 77; GCN-HSA: flat_load_dwordx4 78; GCN-HSA: flat_load_dwordx4 79; GCN-HSA: flat_load_dwordx4 80 81; EG: VTX_READ_128 82; EG: VTX_READ_128 83; EG: VTX_READ_128 84; EG: VTX_READ_128 85define void @global_load_v16i32(<16 x i32> addrspace(1)* %out, <16 x i32> addrspace(1)* %in) #0 { 86entry: 87 %ld = load <16 x i32>, <16 x i32> addrspace(1)* %in 88 store <16 x i32> %ld, <16 x i32> addrspace(1)* %out 89 ret void 90} 91 92; FUNC-LABEL: {{^}}global_zextload_i32_to_i64: 93; GCN-NOHSA-DAG: buffer_load_dword v[[LO:[0-9]+]], 94; GCN-HSA-DAG: flat_load_dword v[[LO:[0-9]+]], 95; GCN-DAG: v_mov_b32_e32 v[[HI:[0-9]+]], 0{{$}} 96 97; GCN-NOHSA: buffer_store_dwordx2 v{{\[}}[[LO]]:[[HI]]] 98; GCN-HSA: flat_store_dwordx2 v{{\[[0-9]+:[0-9]+\]}}, v{{\[}}[[LO]]:[[HI]]] 99 100; EG: MEM_RAT_CACHELESS STORE_RAW T{{[0-9]+}}.XY 101define void @global_zextload_i32_to_i64(i64 addrspace(1)* %out, i32 addrspace(1)* %in) #0 { 102 %ld = load i32, i32 addrspace(1)* %in 103 %ext = zext i32 %ld to i64 104 store i64 %ext, i64 addrspace(1)* %out 105 ret void 106} 107 108; FUNC-LABEL: {{^}}global_sextload_i32_to_i64: 109; GCN-NOHSA: buffer_load_dword v[[LO:[0-9]+]] 110; GCN-HSA: flat_load_dword v[[LO:[0-9]+]] 111; GCN: v_ashrrev_i32_e32 v[[HI:[0-9]+]], 31, v[[LO]] 112; GCN-NOHSA: buffer_store_dwordx2 v{{\[}}[[LO]]:[[HI]]{{\]}} 113; GCN-HSA: flat_store_dwordx2 v{{\[[0-9]+:[0-9]+\]}}, v{{\[}}[[LO]]:[[HI]]{{\]}} 114 115 116; EG: MEM_RAT 117; EG: VTX_READ_32 118; EG: ASHR {{[* ]*}}T{{[0-9]\.[XYZW]}}, T{{[0-9]\.[XYZW]}}, literal. 119; EG: 31 120define void @global_sextload_i32_to_i64(i64 addrspace(1)* %out, i32 addrspace(1)* %in) #0 { 121 %ld = load i32, i32 addrspace(1)* %in 122 %ext = sext i32 %ld to i64 123 store i64 %ext, i64 addrspace(1)* %out 124 ret void 125} 126 127; FUNC-LABEL: {{^}}global_zextload_v1i32_to_v1i64: 128; GCN-NOHSA: buffer_load_dword 129; GCN-NOHSA: buffer_store_dwordx2 130 131; GCN-HSA: flat_load_dword 132; GCN-HSA: flat_store_dwordx2 133define void @global_zextload_v1i32_to_v1i64(<1 x i64> addrspace(1)* %out, <1 x i32> addrspace(1)* %in) #0 { 134 %ld = load <1 x i32>, <1 x i32> addrspace(1)* %in 135 %ext = zext <1 x i32> %ld to <1 x i64> 136 store <1 x i64> %ext, <1 x i64> addrspace(1)* %out 137 ret void 138} 139 140; FUNC-LABEL: {{^}}global_sextload_v1i32_to_v1i64: 141; GCN-NOHSA: buffer_load_dword v[[LO:[0-9]+]] 142; GCN-HSA: flat_load_dword v[[LO:[0-9]+]] 143; GCN: v_ashrrev_i32_e32 v[[HI:[0-9]+]], 31, v[[LO]] 144; GCN-NOHSA: buffer_store_dwordx2 v{{\[}}[[LO]]:[[HI]]{{\]}} 145; GCN-HSA: flat_store_dwordx2 v{{\[[0-9]+:[0-9]+\]}}, v{{\[}}[[LO]]:[[HI]]{{\]}} 146define void @global_sextload_v1i32_to_v1i64(<1 x i64> addrspace(1)* %out, <1 x i32> addrspace(1)* %in) #0 { 147 %ld = load <1 x i32>, <1 x i32> addrspace(1)* %in 148 %ext = sext <1 x i32> %ld to <1 x i64> 149 store <1 x i64> %ext, <1 x i64> addrspace(1)* %out 150 ret void 151} 152 153; FUNC-LABEL: {{^}}global_zextload_v2i32_to_v2i64: 154; GCN-NOHSA: buffer_load_dwordx2 155; GCN-NOHSA: buffer_store_dwordx4 156 157; GCN-HSA: flat_load_dwordx2 158; GCN-HSA: flat_store_dwordx4 159define void @global_zextload_v2i32_to_v2i64(<2 x i64> addrspace(1)* %out, <2 x i32> addrspace(1)* %in) #0 { 160 %ld = load <2 x i32>, <2 x i32> addrspace(1)* %in 161 %ext = zext <2 x i32> %ld to <2 x i64> 162 store <2 x i64> %ext, <2 x i64> addrspace(1)* %out 163 ret void 164} 165 166; FUNC-LABEL: {{^}}global_sextload_v2i32_to_v2i64: 167; GCN-NOHSA: buffer_load_dwordx2 168; GCN-HSA: flat_load_dwordx2 169 170; GCN-DAG: v_ashrrev_i32 171; GCN-DAG: v_ashrrev_i32 172 173; GCN-NOHSA-DAG: buffer_store_dwordx4 174; GCN-HSA-DAG: flat_store_dwordx4 175define void @global_sextload_v2i32_to_v2i64(<2 x i64> addrspace(1)* %out, <2 x i32> addrspace(1)* %in) #0 { 176 %ld = load <2 x i32>, <2 x i32> addrspace(1)* %in 177 %ext = sext <2 x i32> %ld to <2 x i64> 178 store <2 x i64> %ext, <2 x i64> addrspace(1)* %out 179 ret void 180} 181 182; FUNC-LABEL: {{^}}global_zextload_v4i32_to_v4i64: 183; GCN-NOHSA: buffer_load_dwordx4 184; GCN-NOHSA: buffer_store_dwordx4 185; GCN-NOHSA: buffer_store_dwordx4 186 187; GCN-HSA: flat_load_dwordx4 188; GCN-HSA: flat_store_dwordx4 189; GCN-HSA: flat_store_dwordx4 190define void @global_zextload_v4i32_to_v4i64(<4 x i64> addrspace(1)* %out, <4 x i32> addrspace(1)* %in) #0 { 191 %ld = load <4 x i32>, <4 x i32> addrspace(1)* %in 192 %ext = zext <4 x i32> %ld to <4 x i64> 193 store <4 x i64> %ext, <4 x i64> addrspace(1)* %out 194 ret void 195} 196 197; FUNC-LABEL: {{^}}global_sextload_v4i32_to_v4i64: 198; GCN-NOHSA: buffer_load_dwordx4 199; GCN-HSA: flat_load_dwordx4 200 201; GCN-DAG: v_ashrrev_i32 202; GCN-DAG: v_ashrrev_i32 203; GCN-DAG: v_ashrrev_i32 204; GCN-DAG: v_ashrrev_i32 205 206; GCN-NOHSA-DAG: buffer_store_dwordx4 207; GCN-NOHSA-DAG: buffer_store_dwordx4 208 209; GCN-HSA-DAG: flat_store_dwordx4 210; GCN-HSA-DAG: flat_store_dwordx4 211define void @global_sextload_v4i32_to_v4i64(<4 x i64> addrspace(1)* %out, <4 x i32> addrspace(1)* %in) #0 { 212 %ld = load <4 x i32>, <4 x i32> addrspace(1)* %in 213 %ext = sext <4 x i32> %ld to <4 x i64> 214 store <4 x i64> %ext, <4 x i64> addrspace(1)* %out 215 ret void 216} 217 218; FUNC-LABEL: {{^}}global_zextload_v8i32_to_v8i64: 219; GCN-NOHSA: buffer_load_dwordx4 220; GCN-NOHSA: buffer_load_dwordx4 221 222; GCN-HSA: flat_load_dwordx4 223; GCN-HSA: flat_load_dwordx4 224 225; GCN-NOHSA-DAG: buffer_store_dwordx4 226; GCN-NOHSA-DAG: buffer_store_dwordx4 227; GCN-NOHSA-DAG: buffer_store_dwordx4 228; GCN-NOHSA-DAG: buffer_store_dwordx4 229 230; GCN-HSA-DAG: flat_store_dwordx4 231; GCN-HSA-DAG: flat_store_dwordx4 232; GCN-SA-DAG: flat_store_dwordx4 233; GCN-HSA-DAG: flat_store_dwordx4 234define void @global_zextload_v8i32_to_v8i64(<8 x i64> addrspace(1)* %out, <8 x i32> addrspace(1)* %in) #0 { 235 %ld = load <8 x i32>, <8 x i32> addrspace(1)* %in 236 %ext = zext <8 x i32> %ld to <8 x i64> 237 store <8 x i64> %ext, <8 x i64> addrspace(1)* %out 238 ret void 239} 240 241; FUNC-LABEL: {{^}}global_sextload_v8i32_to_v8i64: 242; GCN-NOHSA: buffer_load_dwordx4 243; GCN-NOHSA: buffer_load_dwordx4 244 245; GCN-HSA: flat_load_dwordx4 246; GCN-HSA: flat_load_dwordx4 247 248; GCN-DAG: v_ashrrev_i32 249; GCN-DAG: v_ashrrev_i32 250; GCN-DAG: v_ashrrev_i32 251; GCN-DAG: v_ashrrev_i32 252; GCN-DAG: v_ashrrev_i32 253; GCN-DAG: v_ashrrev_i32 254; GCN-DAG: v_ashrrev_i32 255; GCN-DAG: v_ashrrev_i32 256 257; GCN-NOHSA-DAG: buffer_store_dwordx4 258; GCN-NOHSA-DAG: buffer_store_dwordx4 259; GCN-NOHSA-DAG: buffer_store_dwordx4 260; GCN-NOHSA-DAG: buffer_store_dwordx4 261 262; GCN-HSA-DAG: flat_store_dwordx4 263; GCN-HSA-DAG: flat_store_dwordx4 264; GCN-HSA-DAG: flat_store_dwordx4 265; GCN-HSA-DAG: flat_store_dwordx4 266define void @global_sextload_v8i32_to_v8i64(<8 x i64> addrspace(1)* %out, <8 x i32> addrspace(1)* %in) #0 { 267 %ld = load <8 x i32>, <8 x i32> addrspace(1)* %in 268 %ext = sext <8 x i32> %ld to <8 x i64> 269 store <8 x i64> %ext, <8 x i64> addrspace(1)* %out 270 ret void 271} 272 273; FUNC-LABEL: {{^}}global_sextload_v16i32_to_v16i64: 274; GCN-NOHSA: buffer_load_dwordx4 275; GCN-NOHSA: buffer_load_dwordx4 276; GCN-NOHSA: buffer_load_dwordx4 277; GCN-NOHSA: buffer_load_dwordx4 278 279; GCN-HSA: flat_load_dwordx4 280; GCN-HSA: flat_load_dwordx4 281; GCN-HSA: flat_load_dwordx4 282; GCN-HSA: flat_load_dwordx4 283 284 285; GCN-DAG: v_ashrrev_i32 286; GCN-DAG: v_ashrrev_i32 287; GCN-DAG: v_ashrrev_i32 288; GCN-DAG: v_ashrrev_i32 289; GCN-NOHSA-DAG: buffer_store_dwordx4 290; GCN-HSA-DAG: flat_store_dwordx4 291 292; GCN-DAG: v_ashrrev_i32 293; GCN-DAG: v_ashrrev_i32 294; GCN-DAG: v_ashrrev_i32 295; GCN-DAG: v_ashrrev_i32 296; GCN-NOHSA-DAG: buffer_store_dwordx4 297; GCN-HSA-DAG: flat_store_dwordx4 298 299; GCN-DAG: v_ashrrev_i32 300; GCN-DAG: v_ashrrev_i32 301; GCN-DAG: v_ashrrev_i32 302; GCN-DAG: v_ashrrev_i32 303; GCN-NOHSA-DAG: buffer_store_dwordx4 304; GCN-HSA-DAG: flat_store_dwordx4 305 306; GCN-DAG: v_ashrrev_i32 307; GCN-DAG: v_ashrrev_i32 308; GCN-DAG: v_ashrrev_i32 309; GCN-DAG: v_ashrrev_i32 310; GCN-NOHSA-DAG: buffer_store_dwordx4 311; GCN-HSA-DAG: flat_store_dwordx4 312define void @global_sextload_v16i32_to_v16i64(<16 x i64> addrspace(1)* %out, <16 x i32> addrspace(1)* %in) #0 { 313 %ld = load <16 x i32>, <16 x i32> addrspace(1)* %in 314 %ext = sext <16 x i32> %ld to <16 x i64> 315 store <16 x i64> %ext, <16 x i64> addrspace(1)* %out 316 ret void 317} 318 319; FUNC-LABEL: {{^}}global_zextload_v16i32_to_v16i64 320; GCN-NOHSA: buffer_load_dwordx4 321; GCN-NOHSA: buffer_load_dwordx4 322; GCN-NOHSA: buffer_load_dwordx4 323; GCN-NOHSA: buffer_load_dwordx4 324 325; GCN-HSA: flat_load_dwordx4 326; GCN-HSA: flat_load_dwordx4 327; GCN-HSA: flat_load_dwordx4 328; GCN-HSA: flat_load_dwordx4 329 330; GCN-NOHSA: buffer_store_dwordx4 331; GCN-NOHSA: buffer_store_dwordx4 332; GCN-NOHSA: buffer_store_dwordx4 333; GCN-NOHSA: buffer_store_dwordx4 334; GCN-NOHSA: buffer_store_dwordx4 335; GCN-NOHSA: buffer_store_dwordx4 336; GCN-NOHSA: buffer_store_dwordx4 337; GCN-NOHSA: buffer_store_dwordx4 338 339; GCN-HSA: flat_store_dwordx4 340; GCN-HSA: flat_store_dwordx4 341; GCN-HSA: flat_store_dwordx4 342; GCN-HSA: flat_store_dwordx4 343; GCN-HSA: flat_store_dwordx4 344; GCN-HSA: flat_store_dwordx4 345; GCN-HSA: flat_store_dwordx4 346; GCN-HSA: flat_store_dwordx4 347define void @global_zextload_v16i32_to_v16i64(<16 x i64> addrspace(1)* %out, <16 x i32> addrspace(1)* %in) #0 { 348 %ld = load <16 x i32>, <16 x i32> addrspace(1)* %in 349 %ext = zext <16 x i32> %ld to <16 x i64> 350 store <16 x i64> %ext, <16 x i64> addrspace(1)* %out 351 ret void 352} 353 354; FUNC-LABEL: {{^}}global_sextload_v32i32_to_v32i64: 355 356; GCN-NOHSA: buffer_load_dwordx4 357; GCN-NOHSA: buffer_load_dwordx4 358; GCN-NOHSA: buffer_load_dwordx4 359; GCN-NOHSA: buffer_load_dwordx4 360; GCN-NOHSA: buffer_load_dwordx4 361; GCN-NOHSA: buffer_load_dwordx4 362; GCN-NOHSA: buffer_load_dwordx4 363; GCN-NOHSA: buffer_load_dwordx4 364 365; GCN-HSA: flat_load_dwordx4 366; GCN-HSA: flat_load_dwordx4 367; GCN-HSA: flat_load_dwordx4 368; GCN-HSA: flat_load_dwordx4 369; GCN-HSA: flat_load_dwordx4 370; GCN-HSA: flat_load_dwordx4 371; GCN-HSA: flat_load_dwordx4 372; GCN-HSA: flat_load_dwordx4 373 374; GCN-DAG: v_ashrrev_i32 375; GCN-DAG: v_ashrrev_i32 376; GCN-DAG: v_ashrrev_i32 377; GCN-DAG: v_ashrrev_i32 378; GCN-DAG: v_ashrrev_i32 379; GCN-DAG: v_ashrrev_i32 380; GCN-DAG: v_ashrrev_i32 381; GCN-DAG: v_ashrrev_i32 382; GCN-DAG: v_ashrrev_i32 383; GCN-DAG: v_ashrrev_i32 384; GCN-DAG: v_ashrrev_i32 385; GCN-DAG: v_ashrrev_i32 386; GCN-DAG: v_ashrrev_i32 387; GCN-DAG: v_ashrrev_i32 388; GCN-DAG: v_ashrrev_i32 389; GCN-DAG: v_ashrrev_i32 390; GCN-DAG: v_ashrrev_i32 391; GCN-DAG: v_ashrrev_i32 392; GCN-DAG: v_ashrrev_i32 393; GCN-DAG: v_ashrrev_i32 394; GCN-DAG: v_ashrrev_i32 395; GCN-DAG: v_ashrrev_i32 396; GCN-DAG: v_ashrrev_i32 397; GCN-DAG: v_ashrrev_i32 398; GCN-DAG: v_ashrrev_i32 399; GCN-DAG: v_ashrrev_i32 400; GCN-DAG: v_ashrrev_i32 401; GCN-DAG: v_ashrrev_i32 402; GCN-DAG: v_ashrrev_i32 403; GCN-DAG: v_ashrrev_i32 404; GCN-DAG: v_ashrrev_i32 405; GCN-DAG: v_ashrrev_i32 406 407; GCN-NOHSA: buffer_store_dwordx4 408; GCN-NOHSA: buffer_store_dwordx4 409; GCN-NOHSA: buffer_store_dwordx4 410; GCN-NOHSA: buffer_store_dwordx4 411 412; GCN-NOHSA: buffer_store_dwordx4 413; GCN-NOHSA: buffer_store_dwordx4 414; GCN-NOHSA: buffer_store_dwordx4 415; GCN-NOHSA: buffer_store_dwordx4 416 417; GCN-NOHSA: buffer_store_dwordx4 418; GCN-NOHSA: buffer_store_dwordx4 419; GCN-NOHSA: buffer_store_dwordx4 420; GCN-NOHSA: buffer_store_dwordx4 421 422; GCN-NOHSA: buffer_store_dwordx4 423; GCN-NOHSA: buffer_store_dwordx4 424; GCN-NOHSA: buffer_store_dwordx4 425; GCN-NOHSA: buffer_store_dwordx4 426 427; GCN-HSA: flat_store_dwordx4 428; GCN-HSA: flat_store_dwordx4 429; GCN-HSA: flat_store_dwordx4 430; GCN-HSA: flat_store_dwordx4 431 432; GCN-HSA: flat_store_dwordx4 433; GCN-HSA: flat_store_dwordx4 434; GCN-HSA: flat_store_dwordx4 435; GCN-HSA: flat_store_dwordx4 436 437; GCN-HSA: flat_store_dwordx4 438; GCN-HSA: flat_store_dwordx4 439; GCN-HSA: flat_store_dwordx4 440; GCN-HSA: flat_store_dwordx4 441 442; GCN-HSA: flat_store_dwordx4 443; GCN-HSA: flat_store_dwordx4 444; GCN-HSA: flat_store_dwordx4 445; GCN-HSA: flat_store_dwordx4 446 447define void @global_sextload_v32i32_to_v32i64(<32 x i64> addrspace(1)* %out, <32 x i32> addrspace(1)* %in) #0 { 448 %ld = load <32 x i32>, <32 x i32> addrspace(1)* %in 449 %ext = sext <32 x i32> %ld to <32 x i64> 450 store <32 x i64> %ext, <32 x i64> addrspace(1)* %out 451 ret void 452} 453 454; FUNC-LABEL: {{^}}global_zextload_v32i32_to_v32i64: 455; GCN-NOHSA: buffer_load_dwordx4 456; GCN-NOHSA: buffer_load_dwordx4 457; GCN-NOHSA: buffer_load_dwordx4 458; GCN-NOHSA: buffer_load_dwordx4 459; GCN-NOHSA: buffer_load_dwordx4 460; GCN-NOHSA: buffer_load_dwordx4 461; GCN-NOHSA: buffer_load_dwordx4 462; GCN-NOHSA: buffer_load_dwordx4 463 464; GCN-HSA: flat_load_dwordx4 465; GCN-HSA: flat_load_dwordx4 466; GCN-HSA: flat_load_dwordx4 467; GCN-HSA: flat_load_dwordx4 468; GCN-HSA: flat_load_dwordx4 469; GCN-HSA: flat_load_dwordx4 470; GCN-HSA: flat_load_dwordx4 471; GCN-HSA: flat_load_dwordx4 472 473 474; GCN-NOHSA-DAG: buffer_store_dwordx4 475; GCN-NOHSA-DAG: buffer_store_dwordx4 476; GCN-NOHSA-DAG: buffer_store_dwordx4 477; GCN-NOHSA-DAG: buffer_store_dwordx4 478 479; GCN-NOHSA-DAG: buffer_store_dwordx4 480; GCN-NOHSA-DAG: buffer_store_dwordx4 481; GCN-NOHSA-DAG: buffer_store_dwordx4 482; GCN-NOHSA-DAG: buffer_store_dwordx4 483 484; GCN-NOHSA-DAG: buffer_store_dwordx4 485; GCN-NOHSA-DAG: buffer_store_dwordx4 486; GCN-NOHSA-DAG: buffer_store_dwordx4 487; GCN-NOHSA-DAG: buffer_store_dwordx4 488 489; GCN-NOHSA-DAG: buffer_store_dwordx4 490; GCN-NOHSA-DAG: buffer_store_dwordx4 491; GCN-NOHSA-DAG: buffer_store_dwordx4 492; GCN-NOHSA-DAG: buffer_store_dwordx4 493 494 495; GCN-HSA-DAG: flat_store_dwordx4 496; GCN-HSA-DAG: flat_store_dwordx4 497; GCN-HSA-DAG: flat_store_dwordx4 498; GCN-HSA-DAG: flat_store_dwordx4 499 500; GCN-HSA-DAG: flat_store_dwordx4 501; GCN-HSA-DAG: flat_store_dwordx4 502; GCN-HSA-DAG: flat_store_dwordx4 503; GCN-HSA-DAG: flat_store_dwordx4 504 505; GCN-HSA-DAG: flat_store_dwordx4 506; GCN-HSA-DAG: flat_store_dwordx4 507; GCN-HSA-DAG: flat_store_dwordx4 508; GCN-HSA-DAG: flat_store_dwordx4 509 510; GCN-HSA-DAG: flat_store_dwordx4 511; GCN-HSA-DAG: flat_store_dwordx4 512; GCN-HSA-DAG: flat_store_dwordx4 513; GCN-HSA-DAG: flat_store_dwordx4 514define void @global_zextload_v32i32_to_v32i64(<32 x i64> addrspace(1)* %out, <32 x i32> addrspace(1)* %in) #0 { 515 %ld = load <32 x i32>, <32 x i32> addrspace(1)* %in 516 %ext = zext <32 x i32> %ld to <32 x i64> 517 store <32 x i64> %ext, <32 x i64> addrspace(1)* %out 518 ret void 519} 520 521attributes #0 = { nounwind } 522