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

    <tr>
        <th>Summary</th>
        <td>
            riscv missing support for tied operands in inline asm
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:RISC-V
      </td>
    </tr>

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

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

<pre>
    example:
```c
void foo (void) {
    int bar;
    asm("# foo":"+r"(bar) : "0"(bar));
}
```
```
$ clang -O2 --target=riscv64--
<source>:3:29: error: invalid input constraint '0' in asm
    asm("# foo":"+r"(bar) : "0"(bar));
                            ^
```
Curiously, this code produces an error for riscv gcc unless optimizations are enabled. via
https://github.com/ClangBuiltLinux/linux/issues/1641

cc @nathanchance @topperc @asb 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy1kU1r3DAQhn-NfBFebNne9R582I8ECoVCC72PpamtRisZfSxJf31H3g0NJeQWIVsjjTTzPjOjUy8DPsNlMciaA6vOrDqwbXWb8ra_Oq34L-c4E322mdhztjvenJyGtpGP4Fnz5gzCha4zIZho8uNsUYK8P_p16fOTHKo5UGRRvT3M8zUa253_0_X-VrRcGrATL78JXpYR_ISRNWevg7xu27K832tOwSUvifeBUjf05WQHjt47nw1tr2AIWdslRS6dDdFDZmRiRyp35FjxPoGVfzBY9_Au-Cl57VIwL0yceJx1IMkK-eKdShIDB3tDI2Wer8Xgk5Q8WYMhcLdEfdF_IGri5OCRo4XRoNrwq4ZbhjnGJaxEjzQnHec0bqQj6MdTrvgxaRO_apue6cTcVx1CwkBGvW3ru_D1T7lZW1mIM1iZP8z76JYF_eqCMPJCDY3aN3sooo4Gh5vuCwXV1OGQlsX5uBJFjYoo0INVIbdGW5KAuSlF8mb4QLwx19elpHL9RhnfCu-6rm6LeahHpVSvRF1hW8tqrDuxr_p9jwiqxbYpDIxowsC6I_V1BPmEVlHG719-nMqfudXdudCDqKjxXb0VdbcV3Ub2KFQHYqz6fhTQEDheQJtNlrNxfir8sCob0xTIaXSI4Z8TqBKTRVyzUnxIcXZ-sFo-KQyQjNXoQ7HCDCvJXylhJFs">