summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/Mips/mips32/valid.s
diff options
context:
space:
mode:
authorVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>2015-08-11 08:56:25 +0000
committerVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>2015-08-11 08:56:25 +0000
commit1c78ca6a09cec862d6aad04e820dae98b71be9fc (patch)
treeef6def2a0475fbea2672cf161260dc2830857755 /llvm/test/MC/Mips/mips32/valid.s
parent7337ee23d8ee9864d6b5f4140aaa56cf68388361 (diff)
downloadbcm5719-llvm-1c78ca6a09cec862d6aad04e820dae98b71be9fc.tar.gz
bcm5719-llvm-1c78ca6a09cec862d6aad04e820dae98b71be9fc.zip
[mips] Remap move as or.
Summary: This patch remaps the assembly idiom 'move' to 'or' instead of 'daddu' or 'addu'. The use of addu/daddu instead of or as move was highlighted as a performance issue during the analysis of a recent 64bit design. Originally move was encoded as 'or' by binutils but was changed for the r10k cpu family due to their pipeline which had 2 arithmetic units and a single logical unit, and so could issue multiple (d)addu based moves at the same time but only 1 logical move. This patch preserves the disassembly behaviour so that disassembling a old style (d)addu move still appears as move, but assembling move always gives an or Patch by Simon Dardis. Reviewers: vkalintiris Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11796 llvm-svn: 244579
Diffstat (limited to 'llvm/test/MC/Mips/mips32/valid.s')
-rw-r--r--llvm/test/MC/Mips/mips32/valid.s4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/MC/Mips/mips32/valid.s b/llvm/test/MC/Mips/mips32/valid.s
index fbe1551f6c2..6958583030a 100644
--- a/llvm/test/MC/Mips/mips32/valid.s
+++ b/llvm/test/MC/Mips/mips32/valid.s
@@ -96,8 +96,8 @@ a:
mflo $s1
mov.d $f20,$f14
mov.s $f2,$f27
- move $s8,$a0
- move $25,$a2
+ move $s8,$a0 # CHECK: move $fp, $4 # encoding: [0x00,0x80,0xf0,0x25]
+ move $25,$a2 # CHECK: move $25, $6 # encoding: [0x00,0xc0,0xc8,0x25]
movf $gp,$8,$fcc7
movf.d $f6,$f11,$fcc5
movf.s $f23,$f5,$fcc6
OpenPOWER on IntegriCloud