[PATCH] D68341: [AIX] TOC pseudo expansion for 64bit large + 64bit small + 32bit large modes
Xiangling Liao via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 11 11:40:24 PDT 2019
Xiangling_L marked 7 inline comments as done.
Xiangling_L added inline comments.
================
Comment at: llvm/test/CodeGen/PowerPC/lower-globaladdr32-aix-asm.ll:23
+; LARGE: lwz [[REG2:[0-9]+]], LC0 at l([[REG1]])
+; LARGE: lwz [[REG3:[0-9]+]], 0([[REG2]])
+; LARGE: addis [[REG4:[0-9]+]], LC1 at u(2)
----------------
hubert.reinterpretcast wrote:
> That the ordering and interleaving of the logical operations involved differ between the various cases seem to indicate that the test is already too complicated. Please reduce the test to use a single memory operand (e.g., store a constant or return the value read).
@sfertile I guess your original purpose of creating this testcase is to test if load from TOC works for both `load` and `store`?
================
Comment at: llvm/test/CodeGen/PowerPC/lower-globaladdr64-aix-asm.ll:26
+; LARGE: ld [[REG4:[0-9]+]], LC1 at l([[REG2]])
+; LARGE: lwz [[REG4:[0-9]+]], 0([[REG3]])
+
----------------
hubert.reinterpretcast wrote:
> This does not follow. `REG3` apparently holds the address of the operand for the load, so `REG4` holds the address of the target of the store. We are loading the value to `REG4` though, so its value will be clobbered before we get to the store.
Sorry, it was my mistake, it should be `[[REG5:[0-9]+]]`
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D68341/new/
https://reviews.llvm.org/D68341
More information about the llvm-commits
mailing list