<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/58878>58878</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [avr] Segmentation fault due to inline asm comment.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          sprintersb
      </td>
    </tr>
</table>

<pre>
    Compiling
```
int foo (void)
{
    int result;
   __asm (";; %C0" : "=d" (result));
    return result;
}
```
with `-target avr -Os -save-temps -mmcu=atmega8` crashes with a "segmentation fault":

```
0.      Program arguments: /usr/lib/llvm-15/bin/clang -cc1 -triple avr -S -save-temps=cwd -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name foo.c -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -fno-use-init-array -fno-use-cxa-atexit -target-cpu atmega8 -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -fcoverage-compilation-dir=/home/john/own/avr -resource-dir /usr/lib/llvm-15/lib/clang/15.0.4 -Os -fdebug-compilation-dir=/home/john/own/avr -ferror-limit 19 -fgnuc-version=4.2.1 -fcolor-diagnostics -vectorize-loops -vectorize-slp -faddrsig -o foo.s -x ir foo.bc
1.      Code generation
2.      Running pass 'Function Pass Manager' on module 'foo.bc'.
3.      Running pass 'AVR Assembly Printer' on function '@foo'
 #0 0x00007f8ce5f4cee1 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0xf01ee1)
 #1 0x00007f8ce5f4ac1e llvm::sys::RunSignalHandlers() (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0xeffc1e)
 #2 0x00007f8ce5f4d40b (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0xf0240b)
 #3 0x00007f8cefa67420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #4 0x00007f8ce755e28d llvm::MCRegisterInfo::getSubReg(llvm::MCRegister, unsigned int) const (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x251328d)
 #5 0x00007f8ce81ef590 (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x31a4590)
 #6 0x00007f8ce6802061 llvm::AsmPrinter::emitInlineAsm(llvm::MachineInstr const*) const (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x17b7061)
 #7 0x00007f8ce67f0c9c llvm::AsmPrinter::emitFunctionBody() (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x17a5c9c)
 #8 0x00007f8ce67f9f95 (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x17aef95)
 #9 0x00007f8ce62d856c llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x128d56c)
#10 0x00007f8ce6088ff2 llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x103dff2)
#11 0x00007f8ce60905b3 llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x10455b3)
#12 0x00007f8ce6089b96 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/lib/llvm-15/bin/../lib/libLLVM-15.so.1+0x103eb96)
#13 0x00007f8ced8ff6d3 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>) (/usr/lib/llvm-15/bin/../lib/libclang-cpp.so.15+0x19236d3)
#14 0x00007f8cedc59fbb clang::CodeGenAction::ExecuteAction() (/usr/lib/llvm-15/bin/../lib/libclang-cpp.so.15+0x1c7dfbb)
#15 0x00007f8cee68c5e7 clang::FrontendAction::Execute() (/usr/lib/llvm-15/bin/../lib/libclang-cpp.so.15+0x26b05e7)
#16 0x00007f8cee6005d6 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-15/bin/../lib/libclang-cpp.so.15+0x26245d6)
#17 0x00007f8cee709f6a clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-15/bin/../lib/libclang-cpp.so.15+0x272df6a)
#18 0x000055dd8cb1791f cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-15/bin/clang+0x1391f)
#19 0x000055dd8cb15b1b (/usr/lib/llvm-15/bin/clang+0x11b1b)
#20 0x000055dd8cb1596c clang_main(int, char**) (/usr/lib/llvm-15/bin/clang+0x1196c)
#21 0x00007f8ce4b2f083 __libc_start_main /build/glibc-SzIz7B/glibc-2.31/csu/../csu/libc-start.c:342:3
#22 0x000055dd8cb1232e _start (/usr/lib/llvm-15/bin/clang+0xe32e)
clang: error: unable to execute command: Segmentation fault (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
Ubuntu clang version 15.0.4-++20221102053248+5c68a1cb1231-1~exp1~20221102053256.89
Target: avr
Thread model: posix
```
The expected result of `%C0` is to print REGNO(result) + 2, or alternatively to issue an error because `%C` is outside of result.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy9WNty2zgS_Rr5BUUVCYq3Bz_IdjyTqmSTijPz6gKBpsRZ3pYgZTlfvwcAFZEezeQy3lWpJLIBdJ--Ad3IW_V8fdvWXVmVzW7l36387Sr2p699LZuBFW3LVjw9tKVa8Wyalty4B4aPmdSTHqthFZ7Jj49C12bhinNDD2_wEt36eGWrcMss-U7ZV55O68Ef3xkXMB7GvnnJf5XcXcT7VA57hjdvEP2OBiYOPfM-aOZpcSBvoLrDc13LEaLFUNNOpJjNZC_0njSzy4WBpmlXUzOIoWwbVgiLDXi3k9RLsv31ys8-9u2uFzWD-NEw0E7V-1H3-K3K3PxWh9oLIjzlZYNfWYlmxzwpA-YNfdlV5HA_zGEDsHxSzFOlFnlFXtETYU1FoveEHrycirYnLxfy39TM5llhB-rLoqTekqXolXcQ1UheI2oyBhFl4xVl5QjG4WsJak9VK60FvLpVVDFt7GFGCqhIXtfC89QbU1YV84paDHuP-r5p8VJ0nmyboRcSXruDEb2iab2-HRuFYPPMXDDCFD30oxxaaFGVQhs4ZuKoySubcvBE34vnM00ehScGOpYDm3zsyW5kky_B0ehrzEhi8KBq5YxVHkkZaEaM9p5E35TG5Irycbej3htGQwDQncohTLawmNhBnM0OZwNVGlXhr31bE_7-aPfGe-2T-bUOQ5C2Yy_JTP1rp7t363T8B9HaX29ckBYWzw8KLZxaVVnDJkEGwq4ZpXG5BgMs3qz5OrBKVZinSrFrWg0_QuCBjOXLLwiTtu0WBF11WCOUAhtYqrVRgRlHBt3Mcy5d2Acm7G8RH2xHDaxmYLsRbkY-jY21dSe0hk2S-7GRNqk-GsJ70cDMsFLCQEKUjQh-vE0CeLJ2rMJLrLa_f2JbranOq2f2sXfB6DgVJyl4X218sDMPblNZ8dBn_tHHJylSSVGxkUQBMx4yGR5u9bN2D5bpw4Cc-oxAhv3T86RePD3Cjgi0esXjFb81-yB2L7fl_W3Cr9fnoTJ_9-739xhd63YdrPiNfyz8AHi-7rUGcPACsJABXQIMEz2Uu0ZUv4pGVQgBC-YVMFFRQOQCE3-BSW38_DWU5-CzEBTOBRUiTjbcx_GCbEOs0mM_TFId02MaP8Yb5EMzHj2kghvohj08pYwc38oJNuCyELOZi0miiHiqZjZ-f_uJdqVGjL1titbRsP08jDnoi8g4zzRRMTZIoIbUKTzslvfP7cSjIATAhQbRXIM0oCLK_H8uKQzEBowWkuK5pDj1uR_PE2ir61M-2nfC3vS2gUsII0tbCbkH-a05BpxpVnz7imYKkjwBtgX4ZAE-KXyZyW-AP-1aNyiZXiulgkREkLyAlr6AlhVZ9CqSCIwWkrKFJK7SKJ4bYfLLSW-zWU_b3th8aE7khSvPxPh17IPwBqhzzYltcLFxx36aFgWfob7_aICeDpX_N14_VICzwBss8WZ-lIffgfe9PQiXiTKRXgvrJgKUBVb-wrZZnsUzrBUKLPk8nYtn1G_rrvqK_H-KOCQAWiBeHAwKsRCrkLnCyiJ4g8y9cQXxh3HoRuwt6Wz47lwKvWl2iPbpHJ9N-RVnBvUPKLLl_kNnokWfdqmXU00J9As135j12das35j0Dk-Xppxt-4A-odl9omJJPpl8-4LhZITtFO-3qOSVG0Hd-5-RHrsB4Xe7LG66p74c6PFU4swWKbId0SN6AhroGwvDN-b7EyFg8aO672wQRC4KMpw9ahm3i3NbySgr8vyCYyblXWAcSY4DnezxU_v5RXgyUZC-gLc4lHFWyoiSObz7Hm3S2TlzfK-IjMe5D8ELZPESme9HKl4azvQhpt5B49eg_L1ou79W5ecy_zJ6vgG4BfrFKU6JnxWxWCS_w3lW4jA1s0vMf1LSlR-vgjrhCqAWqE8HfBQplco8SLKgYOj8H00Pvtg-t6bxNRke3sq9mBVHJpuQ3QsaCO5-5jvBT92nCdkQCBYQsxcQozz4nrp-xjLAijlL7r9kmaHYsAtOetvi2GlllfhxPYJsWSvwxdm7yXnhpyHaBuMs7E2iH6xs06fnY1nBdvc7M-Y9fHn7Jbn5-srXYWAk6fHkdPdoBy2ftYS7wo25HgrP4vkLnUEi5gT_kGKEdV_1OgUus02_eRgbc8PBhpaRC3gERV2j-zODD3-6xTKiJbompsa6I_U3jN2tVDGl9IkruCBbFJZbmdo2m4bpqIl5B0sjQq9zzrZJwm_52AzjxHa6nWDu9sODovhyn_MgQC8RhXwDA91EMk5FYG0XeMEqeUPHzvzNJ0bxOp0kuLPVYBeHfiLZro_Z6ysz0LW6PF68vfu8J1iwIzlAO3fbyNrC3CW6W8vYZ6U26nWmN2Cf3vzyrw_ze0vY4IZxE8Ntz0SF7qGB_geqns2iUmsYTDTOvCwnKYzBJu4T83YcdKnIiHVsp8uPK7oO4jjJ0Bgn4ZW6DlUWZuJqKIeKrlfRjdE2urvk7MlLpW29mLmPNW7EpPXV2FfX-2HobFnP7024l8N-zNeYMcXjKSy7vv0DdsGrVUPjIUrTJL3aX6eB4InKsYuphHwp8k3CuZL4C2lTbJKrSuRUaYNyxXlDT84S5i41ursqrydPpkEcbMJwnfhFbsrOLEoEDwp_tfEJSVqtDY512--u-msLKR93GoMVumx9HkRValptaxTDX4zDvu2vdefaOZ1fWenXFv1_AW7x5ks">