[PATCH] D70072: [ARM] Improve codegen of volatile load/store of i64

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 16 13:45:55 PST 2020


efriedma added a comment.

Apparently the ARM-mode LDRD is a bit more strange than I realized.  From the ARM manual: `if t2 == 15 || m == 15 || m == t || m == t2 then UNPREDICTABLE;`.  I guess we're managed to avoid running into this in the past by never generating the register form of ldrd.

It should be possible to express this constraint to the register allocator using `@earlyclobber`.  (`@earlyclobber` is actually a little more conservative than we need, strictly speaking, but the difference probably doesn't matter too much.)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70072/new/

https://reviews.llvm.org/D70072





More information about the llvm-commits mailing list