[PATCH] D91924: [X86] Have indirect calls take pointer-sized operands
Harald van Dijk via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Nov 21 14:55:22 PST 2020
hvdijk added inline comments.
================
Comment at: llvm/test/CodeGen/X86/pic.ll:103
; CHECK-X32: movl pfoo at GOTPCREL(%rip),
-; CHECK-X32: callq *
+; CHECK-X32: call{{l|q}} *
}
----------------
craig.topper wrote:
> Why a regular expression? Shouldn't it be fixed for x32?
It's a good question. I wanted to say that either would be okay since the high bits of all addresses are known to be zero, but actually that is not at all the case at all, it must be callq, and this patch is wrong. The instruction would be okay if it were valid, but it's not: the result of CALL32r passes LLVM's own consistency tests, but is subsequently rejected by the assembler, something not covered by the tests. I will redo this patch to use the other approach, the zero extending. Apologies for the noise and for the breakage.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91924/new/
https://reviews.llvm.org/D91924
More information about the llvm-commits
mailing list