80 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=-real-true16 < %s | FileCheck -enable-var-scope -check-prefixes=GFX11 %s3 4define amdgpu_kernel void @s_input_output_i16() #0 {5; GFX11-LABEL: s_input_output_i16:6; GFX11: ; %bb.0:7; GFX11-NEXT: ;;#ASMSTART8; GFX11-NEXT: s_mov_b32 s0, -19; GFX11-NEXT: ;;#ASMEND10; GFX11-NEXT: s_and_b32 s0, s0, 0xffff11; GFX11-NEXT: ;;#ASMSTART12; GFX11-NEXT: ; use s013; GFX11-NEXT: ;;#ASMEND14; GFX11-NEXT: s_endpgm15 %v = tail call i16 asm sideeffect "s_mov_b32 $0, -1", "=s"()16 tail call void asm sideeffect "; use $0", "s"(i16 %v) #017 ret void18}19 20define amdgpu_kernel void @s_input_output_f16() #0 {21; GFX11-LABEL: s_input_output_f16:22; GFX11: ; %bb.0:23; GFX11-NEXT: ;;#ASMSTART24; GFX11-NEXT: s_mov_b32 s0, -125; GFX11-NEXT: ;;#ASMEND26; GFX11-NEXT: ;;#ASMSTART27; GFX11-NEXT: ; use s028; GFX11-NEXT: ;;#ASMEND29; GFX11-NEXT: s_endpgm30 %v = tail call half asm sideeffect "s_mov_b32 $0, -1", "=s"() #031 tail call void asm sideeffect "; use $0", "s"(half %v)32 ret void33}34 35define amdgpu_kernel void @v_input_output_f16() #0 {36; GFX11-LABEL: v_input_output_f16:37; GFX11: ; %bb.0:38; GFX11-NEXT: ;;#ASMSTART39; GFX11-NEXT: v_mov_b32 v0, -140; GFX11-NEXT: ;;#ASMEND41; GFX11-NEXT: ;;#ASMSTART42; GFX11-NEXT: ; use v043; GFX11-NEXT: ;;#ASMEND44; GFX11-NEXT: s_endpgm45 %v = tail call half asm sideeffect "v_mov_b32 $0, -1", "=v"() #046 tail call void asm sideeffect "; use $0", "v"(half %v)47 ret void48}49 50define amdgpu_kernel void @v_input_output_i16() #0 {51; GFX11-LABEL: v_input_output_i16:52; GFX11: ; %bb.0:53; GFX11-NEXT: ;;#ASMSTART54; GFX11-NEXT: v_mov_b32 v0, -155; GFX11-NEXT: ;;#ASMEND56; GFX11-NEXT: v_and_b32_e32 v0, 0xffff, v057; GFX11-NEXT: ;;#ASMSTART58; GFX11-NEXT: ; use v059; GFX11-NEXT: ;;#ASMEND60; GFX11-NEXT: s_endpgm61 %v = tail call i16 asm sideeffect "v_mov_b32 $0, -1", "=v"() #062 tail call void asm sideeffect "; use $0", "v"(i16 %v)63 ret void64}65 66define amdgpu_kernel void @i16_imm_input_phys_vgpr() {67; GFX11-LABEL: i16_imm_input_phys_vgpr:68; GFX11: ; %bb.0: ; %entry69; GFX11-NEXT: v_mov_b32_e32 v0, 0xffff70; GFX11-NEXT: ;;#ASMSTART71; GFX11-NEXT: ; use v072; GFX11-NEXT: ;;#ASMEND73; GFX11-NEXT: s_endpgm74entry:75 call void asm sideeffect "; use $0 ", "{v0}"(i16 65535)76 ret void77}78 79attributes #0 = { nounwind }80