<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">