1263320SdimPull in r200965 from upstream llvm trunk (by Venkatraman Govindaraju):
2263320Sdim
3263320Sdim  [Sparc] Add support for parsing synthetic instruction 'mov'.
4263320Sdim
5269012SemasteIntroduced here: http://svnweb.freebsd.org/changeset/base/262261
6263320Sdim
7263320SdimIndex: lib/Target/Sparc/SparcInstrAliases.td
8263320Sdim===================================================================
9263320Sdim--- lib/Target/Sparc/SparcInstrAliases.td
10263320Sdim+++ lib/Target/Sparc/SparcInstrAliases.td
11263320Sdim@@ -134,3 +134,9 @@ def : InstAlias<"retl", (RETL 8)>;
12263320Sdim 
13263320Sdim // ret -> RET 8
14263320Sdim def : InstAlias<"ret", (RET 8)>;
15263320Sdim+
16263320Sdim+// mov reg, rd -> or %g0, reg, rd
17263320Sdim+def : InstAlias<"mov $rs2, $rd", (ORrr IntRegs:$rd, G0, IntRegs:$rs2)>;
18263320Sdim+
19263320Sdim+// mov simm13, rd -> or %g0, simm13, rd
20263320Sdim+def : InstAlias<"mov $simm13, $rd", (ORri IntRegs:$rd, G0, i32imm:$simm13)>;
21263320SdimIndex: test/MC/Sparc/sparc-alu-instructions.s
22263320Sdim===================================================================
23263320Sdim--- test/MC/Sparc/sparc-alu-instructions.s
24263320Sdim+++ test/MC/Sparc/sparc-alu-instructions.s
25263320Sdim@@ -70,3 +70,8 @@
26263320Sdim         ! CHECK: subxcc %g1, %g2, %g3 ! encoding: [0x86,0xe0,0x40,0x02]
27263320Sdim         subxcc %g1, %g2, %g3
28263320Sdim 
29263320Sdim+        ! CHECK: or %g0, %g1, %g3     ! encoding: [0x86,0x10,0x00,0x01]
30263320Sdim+        mov %g1, %g3
31263320Sdim+
32263320Sdim+        ! CHECK: or %g0, 255, %g3     ! encoding: [0x86,0x10,0x20,0xff]
33263320Sdim+        mov 0xff, %g3
34