<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/55218>55218</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Arm thumb assembler doesn't allow expression in 'adr' instruction
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
eskimo-software
</td>
</tr>
</table>
<pre>
When using clang (LLVM 14.0.0) to process assembler for armv6-m, the instruction 'adr Rn,<expr>' is only accepted if <expr> is a label. An expression is not accepted.
However if <expr> is a .equ it is accepted, even id the .equ is defined by an exression
e.g. Not accepted:
adr Rn, lbl+4
e,g, Accepted:
.equ lbl_plus_4, lbl+4
adr Rn, lbl_plus_4
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxtUsty2zAM_BrqgrGGoiQ_Djo4STM9pD300B4zfEAyE0p0Scpu_r6QbMdO0xkNRWKBxYJL5c1b82uHA4zRDh1oJ2llYv309PMbFFXOc87EBpKHffAaYwQZI_bKYYDWB5ChPywXPRP3kHYIdogpjDpZPxDLSpoAPwYCWXmPf_aBlV8oCjaCH9wbSK1xn9CAbeGaMcESnFTocoDtAFOcOk-cBA0-vRfmjD8wvv3qj3ggQf-hyfH3CDbNh3PRpJXSiczMmk8pEQy2diAxioRNTc89Ty1OK-ZdDt9vBLDyjAC8zwpOOSbuqg-FFO8mbPu5cO5PNc97N8bn6hPDP9SXtBv2zDSl2ZQbmSWbHDbb0NNkY69uzDIeI1GsSLtz_vjhUi9ezd5cHczG4JpdSvs4qRWP9HWWeFWuPTn-6Nzh8lvQ63hBnehoYxwx0qauRbHOdo3Rqq3KoljWulWq0HwjDBZLvcS1MUq02Wx1bFh9x4QY8AgzBe1Z_ZDZRnAheM0LwXlV8XytlnyDolSyWK8KXrGKYy-tyycduQ9dFppZkhq7SKCzMcUrSDdiuwFxbkf8ckw7HxqMr7b3i-jbdJQBs1lCM4_wFz9R_3M">