[PATCH] D45204: [X86][MIPS][ARM] New machine instruction property 'isMoveReg'

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 11 11:03:39 PDT 2018


efriedma added a comment.

ARM changes look fine.



================
Comment at: lib/Target/ARM/ARMInstrVFP.td:1027
+let isMoveReg = 1 in {
 def VMOVRS : AVConv2I<0b11100001, 0b1010,
                       (outs GPR:$Rt), (ins SPR:$Sn),
----------------
NikolaPrica wrote:
> efriedma wrote:
> > We usually use VMOVRRD (which moves two 32-bit integers into one 64-bit register) rather than VMOVRS; is there some way you can treat that as a "copy"?
> There is similar instruction for MIPS that I've covered. On MIPS architecture similar instruction is used to transfer function arguments that were previously held in 32-bit register but for purpouse of call are transfered into 64-bit.  I think that it should be treated as copy?
Not sure how the target-independent code will understand the semantics for a "move" with multiple inputs, but I'll let you figure that out, I guess.


https://reviews.llvm.org/D45204





More information about the llvm-commits mailing list