<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/137064>137064</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
AMDGPU assertion on invalid inline asm
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:AMDGPU,
crash-on-invalid
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
arsenm
</td>
</tr>
</table>
<pre>
```
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942 -o - < %s
define void @asmcrash() {
%v0 = call i32 asm "v_mov_b32 $0, 0", "={v0}"()
call void asm sideeffect "v_mov_b32 $0, $1","=v,{v1}"(i32 %v0)
ret void
}
```
```
Assertion failed: (!Call.getType()->isVoidTy() && "Bad inline asm!"), function ParseConstraints, file TargetLowering.cpp, line 5776.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942 -o - /tmp/swap.ll
1. Running pass 'Function Pass Manager' on module '/tmp/swap.ll'.
2. Running pass 'Uniformity Analysis' on function '@asmcrash'
#0 0x0000000106572674 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/local/bin/llc+0x10246a674)
#1 0x0000000106570ba0 llvm::sys::RunSignalHandlers() (/usr/local/bin/llc+0x102468ba0)
#2 0x0000000106572cbc SignalHandler(int, __siginfo*, void*) (/usr/local/bin/llc+0x10246acbc)
#3 0x000000018a032de4 (/usr/lib/system/libsystem_platform.dylib+0x180482de4)
#4 0x0000000189ffbf70 (/usr/lib/system/libsystem_pthread.dylib+0x18044bf70)
#5 0x0000000189f08908 (/usr/lib/system/libsystem_c.dylib+0x180358908)
#6 0x0000000189f07c1c (/usr/lib/system/libsystem_c.dylib+0x180357c1c)
#7 0x0000000107203b50 llvm::TargetLowering::ComputeConstraintToUse(llvm::TargetLowering::AsmOperandInfo&, llvm::SDValue, llvm::SelectionDAG*) const (.cold.1) (/usr/local/bin/llc+0x1030fbb50)
#8 0x0000000106471a48 llvm::TargetLowering::ParseConstraints(llvm::DataLayout const&, llvm::TargetRegisterInfo const*, llvm::CallBase const&) const (/usr/local/bin/llc+0x102369a48)
#9 0x00000001046d2dd4 llvm::GCNTTIImpl::isInlineAsmSourceOfDivergence(llvm::CallInst const*, llvm::ArrayRef<unsigned int>) const (/usr/local/bin/llc+0x1005cadd4)
#10 0x000000010580ce54 llvm::GenericUniformityAnalysisImpl<llvm::GenericSSAContext<llvm::Function>>::initialize() (/usr/local/bin/llc+0x101704e54)
#11 0x000000010580f8c8 llvm::UniformityInfoWrapperPass::runOnFunction(llvm::Function&) (/usr/local/bin/llc+0x1017078c8)
#12 0x0000000105e64b04 llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/local/bin/llc+0x101d5cb04)
#13 0x0000000105e6a120 llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/local/bin/llc+0x101d62120)
#14 0x0000000105e650ac llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/local/bin/llc+0x101d5d0ac)
#15 0x000000010410be18 main (/usr/local/bin/llc+0x100003e18)
#16 0x0000000189c7c274
[1] 33836 abort llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942 -o - /tmp/swap.ll
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0V11v2zoS_TX0C2GDIvXlBz_Idt0N0N4GSXr3MaDIscK9FCWQlFvvr19Qii3JDXCT7m7gQBJFnTlnODMccudUZQA2KNmiZL_gnX9p7IZbB6ZelI08b1BKXn-kQGyLH77_gViBtRZ4WXurWg2I7XktK2GWvJbh_8VxvKxF2yG2r44_1zHFywYvMWI7jGjiAhQpJByVAXxqlMQoJtzVwnL3gmiO6BqjbItIgcP8E8GI7bHgWmPFKOauxojS03PdnJ5LRjGiMUF0hwmiNFzDhe1Rtj0RlO37wYDZ4_Uovc0A45QEOB5B-LcREY2jAXTAPIW7bHuKrriqn52cyMWABd_jB5HZfpA6c-L8sXAOrFeNwUeuNMjg3J5utONaryrwT-cWBgFLxD4p92ej5NP54iaaIpoG8lsusTI6uJS7GtGB9zqoOHZG9Cbuw8ruGuO85cp4179UGvATtxX4L80PsMpUK9G24VUPlmRZukKkuP_yqXj8hF1X1spjjsuuwhbaxnrsG_zifesQKxA9IHqolH_pypVoakQPWp8ul2Vrm3-B8IgelHMdOEQPmJtAXOhOAvYvgPsowCUXf3nLBQTbj56Lv7Ds6jaYIAVZIbK-t01leY25rboagprfjkt68HWL6MH94O1Ka0SKKFh46IxRpsItdw4jmh1GPzqHv3LDK7CIZrgxuG5kpyHM-gWNZkEDfQvxu1HHxtbKn3FhuD475V7xrmsWEKfZkYUoQ5QRTH6S4S8iaZLRNItx72tWIFa4sxtu7q0yvnfgU3Anovk4yfIfz43zFnjdB9IOK-OHsMoRPXTOhoVrBNeIHkpl-mUUiG7Jz4jQOOVpFr_GPaIsumFESk7eYvTQmUdVGa7_wY3UYN01lt9lNC85GY3SWzeIUuAZfEjSoGqHn5-dqpQ5NogW4blP03D7fsGiFKNtNrGdc8KohHiOpMoQB2fnoR4eh_vnVnMfFn4lz_2cgJ-TOA8II348xV8fj-UxI-_E9y8WuLyBjwPACJ_M4Um-Jvn74MUcmCXh0xE4vQHORCR-Ezh8OgJn08XOKGFlMo2weRUbxnZN3XZ-UvSemu9ungVvfVa4-lsLlht518dLnxzjJ4_7P7nu4GYQNPQ5uy8-v4aVCGaD9JVotFxF7w01Ro5lmUzWKp-FeZxFPM7_RvmvxX6iec89_8LPTecHjr8oHBAfoFLOgw1OuEws5hPDNrXlDiY4E91_n1QsXfN4EjzrqdI4lVTKaV37vPvj6enurm718KzcXb_pFa5-bDor4Ntxr05gKzA3xS4QvQu03tZRWMvPD3BEbNeZvi2SfTVknz4miCSCS_maxaEqzgp1khMByUwQGLBKjDvBZSMYNO5-mfn4WOwa4-Gnn729bE6BcPj1zjHKK67Vv-EDJTbKSAzJREB0I-CYi2nsjcxDlPzT8rYFG3bI1z2mM9_Mldx0QcbB9APcslzkI7dZ-U8gjUsyde7hPhC57NT_Bz4yESWZ-Ird8OERJe_g87XvHmZsLkMf4JLSiJKRS3zDJSFcTLhoqLg4X2rFldWYWrYz_y2jRBIuRkbJLLcjUkKU45or877MIoRBNFn8-T4jMkGzGId3yTZCyR5jjBnLWYp5GdrU_1VveG3fF3LD5Jqt-QI2URYnccyyOF68bCDLQK4jKSJJElqSLC_LFBIOGU1zSGGhNpTQhMSU0YiuSbxiUJZRfpTZOksSSgSKCdRc6VVw_6qx1aJvmDcRy0gaLzQvQbv-2EZpaJXBhJND8XX_-f779cDSd4zLxiyVOXEdeh0aTnl20_fiZVc5FBOtnHejGa-8hs0AhPn1cNIY_AoyOWQsOqs3v9_5v2o5beh_AgAA___fSEmw">