x64: Improve codegen for vectors with constant shift amounts#5797
Conversation
| ; addb %al, (%rax) | ||
| ; addb %al, (%rax) | ||
| ; addb %al, (%rax) | ||
| ; addb %al, (%rax) | ||
| ; addb %al, (%rax) | ||
| ; jg 0xb1 | ||
| ; jg 0xb3 | ||
| ; jg 0xb5 | ||
| ; jg 0xb7 | ||
| ; jg 0xb9 | ||
| ; jg 0xbb | ||
| ; jg 0xbd | ||
| ; jg 0xbf | ||
| ; addb %al, (%rcx) | ||
| ; addb (%rbx), %al | ||
| ; addb $5, %al |
There was a problem hiding this comment.
I'll admit I don't know what's happening here. This I believe is the constant pool area and capstone is trying to decode it as instructions, but I don't know why after this change, which should generate a smaller constant pool, is generating more instructions here. I would hazard a guess that capstone automatically stoped beforehand for some reason and now it's keeping-on-going, but I'm not sure.
There was a problem hiding this comment.
Since #5798 is merged, can you try rebasing and see if the filetests look any better now?
There was a problem hiding this comment.
Nevermind, I see you already did and it looks like it didn't help. I'm going to declare that this is harmless and move on with reviewing the rest of this PR.
Subscribe to Label ActionDetailsThis issue or pull request has been labeled: "cranelift", "cranelift:area:x64", "isle"Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
3749ef2 to
e73a99b
Compare
jameysharp
left a comment
There was a problem hiding this comment.
Yup, this looks right to me. Thanks!
I stumbled across this working on bytecodealliance#5795 and figured this was a nice opportunity to improve the codegen here.
e73a99b to
b5265ab
Compare
I stumbled across this working on #5795 and figured this was a nice opportunity to improve the codegen here.