-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Fix arm64: LD1 missing immediate operand #1628
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
Conversation
|
did you check with the latest LLVM 10, to see if they have this issue? |
|
I did not. Apologies, since I'm not too familiar with the workflow for fixing things like this, but I think this is what you want to see? $ llvm-mc --version
LLVM (http://llvm.org/):
LLVM version 10.0.0
Optimized build.
Default target: x86_64-unknown-linux-gnu
$ echo "0xe0 0x73 0xdf 0x0c" | llvm-mc --disassemble --show-encoding --show-inst-operands --show-inst --arch=aarch64
.text
ld1 { v0.8b }, [sp], #8 // encoding: [0xe0,0x73,0xdf,0x0c]
// <MCInst #2099 LD1Onev8b_POST
// <MCOperand Reg:5>
// <MCOperand Reg:41>
// <MCOperand Reg:5>
// <MCOperand Reg:8>>So, if I'm understanding that output correctly, it looks like the immediate is missing between Or it's something else. Maybe the immediate is implied, since I can only get $ echo "ld1 { v0.16b }, [sp], #16" | llvm-mc --assemble --show-encoding --show-inst-operands --show-inst --arch=aarch64
.text
<stdin>:1:1: note: parsed instruction: ['ld1', <vectorlist 121 >, '[', <register 5>, ']', 16]
ld1 { v0.16b }, [sp], #16
^
ld1 { v0.16b }, [sp], #16 // encoding: [0xe0,0x73,0xdf,0x4c]
// <MCInst #2087 LD1Onev16b_POST
// <MCOperand Reg:5>
// <MCOperand Reg:121>
// <MCOperand Reg:5>
// <MCOperand Reg:8>>Where Here's the manual for the instruction https://developer.arm.com/docs/ddi0596/e/simd-and-floating-point-instructions-alphabetic-order/ld1-multiple-structures-load-multiple-single-element-structures-to-one-two-three-or-four-registers 🤷 |
|
i just pushed a fix, please confirm. |
|
I think it only fixed a few variants. This one still doesn't work |
|
please make pull req |
|
Made new PR #1632 . Closing this one now. |
Fixes #1627
Not sure if this is the best way to fix this, but it seems to work