brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.5 KiB · c7d0ee9 Raw
144 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 32; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdpal -mcpu=gfx1100 < %s | FileCheck -check-prefix=GFX11-PAL-SDAG %s3; RUN: llc -global-isel=1 -mtriple=amdgcn-amd-amdpal -mcpu=gfx1100 < %s | FileCheck -check-prefix=GFX11-PAL-GISEL %s4; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdpal -mcpu=gfx1250 < %s | FileCheck -check-prefix=GFX1250-PAL %s5; RUN: llc -global-isel=1 -mtriple=amdgcn-amd-amdpal -mcpu=gfx1250 < %s | FileCheck -check-prefix=GFX1250-PAL %s6; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 < %s | FileCheck -check-prefix=GFX11-HSA %s7; RUN: llc -global-isel=1 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 < %s | FileCheck -check-prefix=GFX11-HSA %s8; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1250 < %s | FileCheck -check-prefix=GFX1250-HSA %s9; RUN: llc -global-isel=1 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1250 < %s | FileCheck -check-prefix=GFX1250-HSA %s10 11define amdgpu_kernel void @caller_internal() {12; GFX11-PAL-SDAG-LABEL: caller_internal:13; GFX11-PAL-SDAG:       ; %bb.0:14; GFX11-PAL-SDAG-NEXT:    s_mov_b32 s1, internal_func@abs32@hi15; GFX11-PAL-SDAG-NEXT:    s_mov_b32 s0, internal_func@abs32@lo16; GFX11-PAL-SDAG-NEXT:    s_mov_b32 s32, 017; GFX11-PAL-SDAG-NEXT:    s_swappc_b64 s[30:31], s[0:1]18; GFX11-PAL-SDAG-NEXT:    s_endpgm19;20; GFX11-PAL-GISEL-LABEL: caller_internal:21; GFX11-PAL-GISEL:       ; %bb.0:22; GFX11-PAL-GISEL-NEXT:    s_mov_b32 s0, internal_func@abs32@lo23; GFX11-PAL-GISEL-NEXT:    s_mov_b32 s1, internal_func@abs32@hi24; GFX11-PAL-GISEL-NEXT:    s_mov_b32 s32, 025; GFX11-PAL-GISEL-NEXT:    s_swappc_b64 s[30:31], s[0:1]26; GFX11-PAL-GISEL-NEXT:    s_endpgm27;28; GFX1250-PAL-LABEL: caller_internal:29; GFX1250-PAL:       ; %bb.0:30; GFX1250-PAL-NEXT:    s_mov_b32 s32, 031; GFX1250-PAL-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 132; GFX1250-PAL-NEXT:    s_mov_b64 s[0:1], internal_func@abs6433; GFX1250-PAL-NEXT:    s_delay_alu instid0(SALU_CYCLE_1)34; GFX1250-PAL-NEXT:    s_swap_pc_i64 s[30:31], s[0:1]35; GFX1250-PAL-NEXT:    s_endpgm36;37; GFX11-HSA-LABEL: caller_internal:38; GFX11-HSA:       ; %bb.0:39; GFX11-HSA-NEXT:    s_getpc_b64 s[0:1]40; GFX11-HSA-NEXT:    s_add_u32 s0, s0, internal_func@gotpcrel32@lo+441; GFX11-HSA-NEXT:    s_addc_u32 s1, s1, internal_func@gotpcrel32@hi+1242; GFX11-HSA-NEXT:    s_mov_b32 s32, 043; GFX11-HSA-NEXT:    s_load_b64 s[0:1], s[0:1], 0x044; GFX11-HSA-NEXT:    s_waitcnt lgkmcnt(0)45; GFX11-HSA-NEXT:    s_swappc_b64 s[30:31], s[0:1]46; GFX11-HSA-NEXT:    s_endpgm47;48; GFX1250-HSA-LABEL: caller_internal:49; GFX1250-HSA:       ; %bb.0:50; GFX1250-HSA-NEXT:    s_mov_b32 s32, 051; GFX1250-HSA-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 152; GFX1250-HSA-NEXT:    s_get_pc_i64 s[0:1]53; GFX1250-HSA-NEXT:    s_add_nc_u64 s[0:1], s[0:1], internal_func@gotpcrel+454; GFX1250-HSA-NEXT:    s_load_b64 s[0:1], s[0:1], 0x055; GFX1250-HSA-NEXT:    s_wait_kmcnt 0x056; GFX1250-HSA-NEXT:    s_swap_pc_i64 s[30:31], s[0:1]57; GFX1250-HSA-NEXT:    s_endpgm58  call amdgpu_gfx void @internal_func()59  ret void60}61 62define amdgpu_kernel void @caller_exterinal() {63; GFX11-PAL-SDAG-LABEL: caller_exterinal:64; GFX11-PAL-SDAG:       ; %bb.0:65; GFX11-PAL-SDAG-NEXT:    v_mov_b32_e32 v31, v066; GFX11-PAL-SDAG-NEXT:    s_mov_b32 s12, s1367; GFX11-PAL-SDAG-NEXT:    s_mov_b64 s[10:11], s[6:7]68; GFX11-PAL-SDAG-NEXT:    s_mov_b64 s[8:9], s[4:5]69; GFX11-PAL-SDAG-NEXT:    s_mov_b32 s17, external_func@abs32@hi70; GFX11-PAL-SDAG-NEXT:    s_mov_b32 s16, external_func@abs32@lo71; GFX11-PAL-SDAG-NEXT:    s_mov_b64 s[4:5], s[0:1]72; GFX11-PAL-SDAG-NEXT:    s_mov_b64 s[6:7], s[2:3]73; GFX11-PAL-SDAG-NEXT:    s_mov_b32 s13, s1474; GFX11-PAL-SDAG-NEXT:    s_mov_b32 s14, s1575; GFX11-PAL-SDAG-NEXT:    s_mov_b32 s32, 076; GFX11-PAL-SDAG-NEXT:    s_swappc_b64 s[30:31], s[16:17]77; GFX11-PAL-SDAG-NEXT:    s_endpgm78;79; GFX11-PAL-GISEL-LABEL: caller_exterinal:80; GFX11-PAL-GISEL:       ; %bb.0:81; GFX11-PAL-GISEL-NEXT:    v_mov_b32_e32 v31, v082; GFX11-PAL-GISEL-NEXT:    s_mov_b32 s12, s1383; GFX11-PAL-GISEL-NEXT:    s_mov_b64 s[10:11], s[6:7]84; GFX11-PAL-GISEL-NEXT:    s_mov_b64 s[8:9], s[4:5]85; GFX11-PAL-GISEL-NEXT:    s_mov_b32 s16, external_func@abs32@lo86; GFX11-PAL-GISEL-NEXT:    s_mov_b32 s17, external_func@abs32@hi87; GFX11-PAL-GISEL-NEXT:    s_mov_b64 s[4:5], s[0:1]88; GFX11-PAL-GISEL-NEXT:    s_mov_b64 s[6:7], s[2:3]89; GFX11-PAL-GISEL-NEXT:    s_mov_b32 s13, s1490; GFX11-PAL-GISEL-NEXT:    s_mov_b32 s14, s1591; GFX11-PAL-GISEL-NEXT:    s_mov_b32 s32, 092; GFX11-PAL-GISEL-NEXT:    s_swappc_b64 s[30:31], s[16:17]93; GFX11-PAL-GISEL-NEXT:    s_endpgm94;95; GFX1250-PAL-LABEL: caller_exterinal:96; GFX1250-PAL:       ; %bb.0:97; GFX1250-PAL-NEXT:    s_mov_b32 s32, 098; GFX1250-PAL-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 199; GFX1250-PAL-NEXT:    v_mov_b32_e32 v31, v0100; GFX1250-PAL-NEXT:    s_mov_b64 s[10:11], s[6:7]101; GFX1250-PAL-NEXT:    s_mov_b64 s[8:9], s[4:5]102; GFX1250-PAL-NEXT:    s_mov_b64 s[12:13], external_func@abs64103; GFX1250-PAL-NEXT:    s_mov_b64 s[4:5], s[0:1]104; GFX1250-PAL-NEXT:    s_mov_b64 s[6:7], s[2:3]105; GFX1250-PAL-NEXT:    s_swap_pc_i64 s[30:31], s[12:13]106; GFX1250-PAL-NEXT:    s_endpgm107;108; GFX11-HSA-LABEL: caller_exterinal:109; GFX11-HSA:       ; %bb.0:110; GFX11-HSA-NEXT:    v_mov_b32_e32 v31, v0111; GFX11-HSA-NEXT:    s_mov_b32 s12, s13112; GFX11-HSA-NEXT:    s_mov_b64 s[10:11], s[6:7]113; GFX11-HSA-NEXT:    s_mov_b64 s[8:9], s[4:5]114; GFX11-HSA-NEXT:    s_getpc_b64 s[16:17]115; GFX11-HSA-NEXT:    s_add_u32 s16, s16, external_func@rel32@lo+4116; GFX11-HSA-NEXT:    s_addc_u32 s17, s17, external_func@rel32@hi+12117; GFX11-HSA-NEXT:    s_mov_b64 s[4:5], s[0:1]118; GFX11-HSA-NEXT:    s_mov_b64 s[6:7], s[2:3]119; GFX11-HSA-NEXT:    s_mov_b32 s13, s14120; GFX11-HSA-NEXT:    s_mov_b32 s14, s15121; GFX11-HSA-NEXT:    s_mov_b32 s32, 0122; GFX11-HSA-NEXT:    s_swappc_b64 s[30:31], s[16:17]123; GFX11-HSA-NEXT:    s_endpgm124;125; GFX1250-HSA-LABEL: caller_exterinal:126; GFX1250-HSA:       ; %bb.0:127; GFX1250-HSA-NEXT:    s_mov_b32 s32, 0128; GFX1250-HSA-NEXT:    s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 1129; GFX1250-HSA-NEXT:    v_mov_b32_e32 v31, v0130; GFX1250-HSA-NEXT:    s_mov_b64 s[10:11], s[6:7]131; GFX1250-HSA-NEXT:    s_mov_b64 s[8:9], s[4:5]132; GFX1250-HSA-NEXT:    s_get_pc_i64 s[12:13]133; GFX1250-HSA-NEXT:    s_add_nc_u64 s[12:13], s[12:13], external_func@rel64+4134; GFX1250-HSA-NEXT:    s_mov_b64 s[4:5], s[0:1]135; GFX1250-HSA-NEXT:    s_mov_b64 s[6:7], s[2:3]136; GFX1250-HSA-NEXT:    s_swap_pc_i64 s[30:31], s[12:13]137; GFX1250-HSA-NEXT:    s_endpgm138  call void @external_func()139  ret void140}141 142declare amdgpu_gfx void @internal_func()143declare hidden void @external_func()144