| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py | |
| ; RUN: llc -mtriple=amdgpu9.00-amd-amdhsa < %s | FileCheck %s | |
| ; SIPostRABundler used to incorrectly try to form a bundle containing | |
| ; inline asm. | |
| define amdgpu_kernel void @no_bundle_asm_sideeffect() { | |
| ; CHECK-LABEL: no_bundle_asm_sideeffect: | |
| ; CHECK: ; %bb.0: | |
| ; CHECK-NEXT: ;;#ASMSTART | |
| ; CHECK-NEXT: s_mov_b32 s0, 42 | |
| ; CHECK-NEXT: ;;#ASMEND | |
| ; CHECK-NEXT: ;;#ASMSTART | |
| ; CHECK-NEXT: s_mov_b64 s[0:1], 42 | |
| ; CHECK-NEXT: ;;#ASMEND | |
| ; CHECK-NEXT: s_endpgm | |
| call void asm sideeffect "s_mov_b32 s0, $0", "i,~{s0}"(i32 42) | |
| call void asm sideeffect "s_mov_b64 s[0:1], $0", "i,~{s[0:1]}"(i64 42) | |
| ret void | |
| } | |
| define amdgpu_kernel void @no_bundle_asm() { | |
| ; CHECK-LABEL: no_bundle_asm: | |
| ; CHECK: ; %bb.0: | |
| ; CHECK-NEXT: ;;#ASMSTART | |
| ; CHECK-NEXT: s_mov_b32 s0, 42 | |
| ; CHECK-NEXT: ;;#ASMEND | |
| ; CHECK-NEXT: ;;#ASMSTART | |
| ; CHECK-NEXT: s_mov_b64 s[0:1], 42 | |
| ; CHECK-NEXT: ;;#ASMEND | |
| ; CHECK-NEXT: s_endpgm | |
| call void asm "s_mov_b32 s0, $0", "i,~{s0}"(i32 42) | |
| call void asm "s_mov_b64 s[0:1], $0", "i,~{s[0:1]}"(i64 42) | |
| ret void | |
| } |