[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