Enables eip-based addressing, e.g.,
lea constant(%eip), %rax
lea constant(%eip), %eax
in llvm-mc, which is used in x32. EIP-base addressing is also valid in x86_64,
it is left enabled for that architecture as well.
Differential D16581
llvm-mc. Enables eip-relative addressing. jpp on Jan 26 2016, 7:02 AM. Authored by
Details Enables eip-based addressing, e.g., lea constant(%eip), %rax in llvm-mc, which is used in x32. EIP-base addressing is also valid in x86_64,
Diff Detail Event TimelineComment Actions Could you add a little bit more detail to the commit description (e.g. this is used for x32, it still requires x86-64 codegen, etc) Comment Actions Adding EIP to GR32 introduces regressions in other llvm components. This patch reverts that change, and then it adds a check to Is32BitMemOperand. This patch was tested with ninja check-llvm. Let me know if any other tests are needed. Comment Actions Looks better, thanks. I'll leave it up for a bit more in case there are more comments, and land it soon. |