69 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52 3; RUN: llc -mtriple=amdgcn -mcpu=tahiti < %s | FileCheck -check-prefix=SI %s4; RUN: llc -mtriple=amdgcn -mcpu=tonga < %s | FileCheck -check-prefix=VI %s5; RUN: llc -mtriple=amdgcn -mcpu=gfx900 < %s | FileCheck -check-prefix=GFX9 %s6; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 < %s | FileCheck -check-prefix=GFX11 %s7 8define amdgpu_kernel void @bitcast_i8ptr_v16i8ptr(ptr addrspace(1) %out, ptr addrspace(1) %in) {9; SI-LABEL: bitcast_i8ptr_v16i8ptr:10; SI: ; %bb.0: ; %entry11; SI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x912; SI-NEXT: s_waitcnt lgkmcnt(0)13; SI-NEXT: s_load_dwordx4 s[4:7], s[2:3], 0x014; SI-NEXT: s_mov_b32 s3, 0xf00015; SI-NEXT: s_mov_b32 s2, -116; SI-NEXT: s_waitcnt lgkmcnt(0)17; SI-NEXT: v_mov_b32_e32 v0, s418; SI-NEXT: v_mov_b32_e32 v1, s519; SI-NEXT: v_mov_b32_e32 v2, s620; SI-NEXT: v_mov_b32_e32 v3, s721; SI-NEXT: buffer_store_dwordx4 v[0:3], off, s[0:3], 022; SI-NEXT: s_endpgm23;24; VI-LABEL: bitcast_i8ptr_v16i8ptr:25; VI: ; %bb.0: ; %entry26; VI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x2427; VI-NEXT: s_waitcnt lgkmcnt(0)28; VI-NEXT: s_load_dwordx4 s[4:7], s[2:3], 0x029; VI-NEXT: v_mov_b32_e32 v4, s030; VI-NEXT: v_mov_b32_e32 v5, s131; VI-NEXT: s_waitcnt lgkmcnt(0)32; VI-NEXT: v_mov_b32_e32 v0, s433; VI-NEXT: v_mov_b32_e32 v1, s534; VI-NEXT: v_mov_b32_e32 v2, s635; VI-NEXT: v_mov_b32_e32 v3, s736; VI-NEXT: flat_store_dwordx4 v[4:5], v[0:3]37; VI-NEXT: s_endpgm38;39; GFX9-LABEL: bitcast_i8ptr_v16i8ptr:40; GFX9: ; %bb.0: ; %entry41; GFX9-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x2442; GFX9-NEXT: v_mov_b32_e32 v4, 043; GFX9-NEXT: s_waitcnt lgkmcnt(0)44; GFX9-NEXT: s_load_dwordx4 s[4:7], s[2:3], 0x045; GFX9-NEXT: s_waitcnt lgkmcnt(0)46; GFX9-NEXT: v_mov_b32_e32 v0, s447; GFX9-NEXT: v_mov_b32_e32 v1, s548; GFX9-NEXT: v_mov_b32_e32 v2, s649; GFX9-NEXT: v_mov_b32_e32 v3, s750; GFX9-NEXT: global_store_dwordx4 v4, v[0:3], s[0:1]51; GFX9-NEXT: s_endpgm52;53; GFX11-LABEL: bitcast_i8ptr_v16i8ptr:54; GFX11: ; %bb.0: ; %entry55; GFX11-NEXT: s_load_b128 s[0:3], s[4:5], 0x2456; GFX11-NEXT: s_waitcnt lgkmcnt(0)57; GFX11-NEXT: s_load_b128 s[4:7], s[2:3], 0x058; GFX11-NEXT: v_mov_b32_e32 v4, 059; GFX11-NEXT: s_waitcnt lgkmcnt(0)60; GFX11-NEXT: v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v3, s761; GFX11-NEXT: v_dual_mov_b32 v1, s5 :: v_dual_mov_b32 v2, s662; GFX11-NEXT: global_store_b128 v4, v[0:3], s[0:1]63; GFX11-NEXT: s_endpgm64entry:65 %0 = load <16 x i8>, ptr addrspace(1) %in66 store <16 x i8> %0, ptr addrspace(1) %out67 ret void68}69