<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/57503>57503</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[ARM] armv4/strongarm do not reject thumb
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
easyaspi314
</td>
</tr>
</table>
<pre>
Related to #57486 and found when overviewing the code changes.
Similar to how ARMv2 and v3 reject thumb, v4 should reject thumb as well, but it silently accepts it.
```llvm
define void @dummy() {
ret void
}
```
`clang -O2 --target=arm-none-eabi -march=armv4 -mthumb -fno-addrsig`
```asm
.text
.syntax unified
.eabi_attribute 67, "2.09"
.cpu strongarm
.eabi_attribute 6, 2
.eabi_attribute 8, 1
.eabi_attribute 9, 1
.eabi_attribute 34, 0
.eabi_attribute 17, 1
.eabi_attribute 20, 1
.eabi_attribute 21, 0
.eabi_attribute 23, 3
.eabi_attribute 24, 1
.eabi_attribute 25, 1
.eabi_attribute 38, 1
.eabi_attribute 14, 0
.file "test.ll"
.globl dummy
.p2align 1
.type dummy,%function
.code 16
.thumb_func
dummy:
.fnstart
bx lr
.Lfunc_end0:
.size dummy, .Lfunc_end0-dummy
.cantunwind
.fnend
.section ".note.GNU-stack","",%progbits
.eabi_attribute 30, 1
```
Expected diagnostic:
```
error: unknown target triple 'thumbv4-none-unknown-eabi', please use -triple or -arch
```
When compiling this with GNU AS, this is emitted:
```
test.s: Assembler messages:
test.s:21: Error: selected processor does not support THUMB opcodes
test.s:25: Error: selected processor does not support `bx lr' in Thumb mode
```
------
This is also accepted by the assembler:
```asm
.cpu strongarm @ or .arch armv4
.code 16
```
Expected diagnostic
```
test.s:2:2: error: target does not support Thumb mode
.code 16
^
```
Like before, GNU AS rejects this file.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVVU1zozgQ_TX40gUFAox98MGZJDOHmd2qmUztMSWgjbUREoWEE--v35awHUhq7VpKICQ99Zdet0pdHzc_UXKLNVgNAUvzIlstgasadnqg7-seFegD9geBr0I1YPcIla7ps-eqQRMF8ZbaL9EKyXsnZa9fYfvzx4F5MYcUevwbK0s7h7YM2Bc4ZGD2epD1bAW4gVeU0iHKwYKwYIREZeUReFVhZw3NndQFy3hsUh5aGte4EwrhoEUNQRbXQ9seA7YK2BqC4o4AQLqsX3e7i_upjPG_kuQPhH8yCEPL-wZtkN7zvg2VVhgiLwWELe-r_ThNToTtaHi4Uzrkdd0b0VzEjY2b1isfn8jim52OzVFZ_gaDEjuB9XTF6Xvm1vaCYoGwLFxYAsZYFK-pm0KrbnC9sb1WDVl2TYyTwq4AVg6QXAGsbwHSzCHiK4ikuCWDxTcRyS0tLHWI9Boiu6klv-ntzYAln-OxI1pTT8do0djIUX52Jo3UpQQYSTyZ7xiXolHn8UyrPXZO5on4XwKW7wZVWaHVjCoucWnncrbVkfjZwV0ieQHpdmavMpQQU-KWb2Mve5qMvru9z6jq-MNGI_6ZGgUTZPjJu4orOyiqMfVcN_qJmVj0jp3HFL1IaYvR1z9-h2Rp9eLi6WLAzj951-umFNZcO8oL6aaF4eGtI21UHmvBG6WNFdXo5BSEfa97mqZEflH6VcFYP4BEd3TUASt8jA_ZWEtOKF9TaM2pJRg3CAO94WmX7iH05Wau6y9XkCvddkKO5VhQ2RR2D-Q9bH85YX6OGrbCkumf7fW0M87grTHYlhJ7aNEYTvV8RF8QlGgEezg7aFCO4aCAVrSDjKw1GqD4gxm6TvcWnr79_nEHunNkMzNZ-f-WRfYS14hmrACh4MnX25YEf6zf8Tb0D_08ndzn0ujTzUFKyqO_uvjZ4Q9ReS_Uvp5eiqm7TdxRRO4owNf9C84lk0-lW4T5j-iz0wsX_px48zmkU7_n2TzL5SB_-KDsu3hBKHGne3TUGElyunfNyBRXjqIFbpLlksXZMk3Xi3qT1ut0zRdWWImbIL-jCz3I708BYI_v8am1t3R6ky-GXm721naeTOyRWkMMHUqyuKWBv7PHLqSzdxtpKIwZiC_sMS_yOF3sN2VVrKo8Kaos5hkrU5YmWFZ1VsRxui5Xq4XkJUrjrCPTFmLDYsbidZwkecqSVcR3WbpLiiXu8pxVyZpOElsuZOQUR7pvFv3G21AOjaFFKYw174vEFCq2iGf5fLB73W8oT4_cdCJNsoU3eePt_RctOL_6">