[PATCH] D120592: [X86] Fix handling of Address-Size override prefix
Amir Ayupov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 28 17:31:20 PST 2022
Amir added a comment.
In D120592#3350106 <https://reviews.llvm.org/D120592#3350106>, @skan wrote:
> In D120592#3349375 <https://reviews.llvm.org/D120592#3349375>, @Amir wrote:
>
>> @skan, @craig.topper
>> Thank you for the review! I didn't communicate the intent clearly. There's a BOLT bug report (https://github.com/llvm/llvm-project/issues/54066#issuecomment-1050327548) in which BOLT removes `addr32` prefix from `call imm`. I've root caused it to instruction printer and emitter ignoring the explicit (redundant) prefix. The code is produced by g++ (GCC) 9.2.1 20200225, with `-O3 -g -std=gnu++17 -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new`. The linker wasn't mentioned.
>
> I didn't apply the patch and rebuild the compiler. But I think the bug can be reproduced w/o BOLT, right?
Yes, it reproduces with llvm-mc disasm-asm roundtrip (the prefix is lost).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D120592/new/
https://reviews.llvm.org/D120592
More information about the llvm-commits
mailing list