[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