New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ARM] Integrated assembler does not support stmeqia instruction #20969
Comments
assigned to @rengolin |
Just to prevent confusion arm-clang is just a wrapper setting --sysroot etc. |
Hi Ismail, This is pre-UAL syntax as an alias to STMEQ with a write back. It should be simple to add them all (STM/LDM), I'll have a look. |
Hi Ismail, It won't be trivial to add the aliases, since we have to parse them in two ways (stmeqia and stmiaeq) and keep the info until later in the process. How often is this used in Chromium? If at all possible, it would be good to have them changed in the source (one source at a time), as the solution I'll come up with might not be acceptable. :( cheers, |
Uh :/
I have no idea. I got this problem because I was trying to compile libffi for ARM using clang (to enable FFI support in llvm actually).
Upstream might accept a patch. Could you tell me what is the replacement assembly for this? |
It's really simple, actually. The unified assembly syntax has moved every conditional to the end of the instructions, so instead of: stmeqia r0, {r2, r3} you use: stmiaeq r0, {r2, r3} This is in line with every other instructions, and makes reading assembly a lot easier, for both humans and parsers alike. If you want to go the extra mile, you can read the instructions' descriptions in the ARM ARM and see that most of those variants are now aliases to a small set of instructions, but you don't have to, as every assembler I know will know that and do that for you. cheers, |
Already fixed upstream it seems: https://github.com/atgreen/libffi/blob/master/src/arm/sysv.S#L216 Closing as wontfix, thanks a lot! |
Thanks! |
(we don't use this in chromium, removing unrelated 'blocks' entry) |
Extended Description
This instruction is used for libffi's ARM assembly files. Apparently everybody and their dog knows about this problem but instead of reporting a bug they used -no-integrated-as.
Reproducer:
The text was updated successfully, but these errors were encountered: