1Pull in r200965 from upstream llvm trunk (by Venkatraman Govindaraju): 2 3 [Sparc] Add support for parsing synthetic instruction 'mov'. 4 5Introduced here: http://svnweb.freebsd.org/changeset/base/262261 6 7Index: lib/Target/Sparc/SparcInstrAliases.td 8=================================================================== 9--- lib/Target/Sparc/SparcInstrAliases.td 10+++ lib/Target/Sparc/SparcInstrAliases.td 11@@ -134,3 +134,9 @@ def : InstAlias<"retl", (RETL 8)>; 12 13 // ret -> RET 8 14 def : InstAlias<"ret", (RET 8)>; 15+ 16+// mov reg, rd -> or %g0, reg, rd 17+def : InstAlias<"mov $rs2, $rd", (ORrr IntRegs:$rd, G0, IntRegs:$rs2)>; 18+ 19+// mov simm13, rd -> or %g0, simm13, rd 20+def : InstAlias<"mov $simm13, $rd", (ORri IntRegs:$rd, G0, i32imm:$simm13)>; 21Index: test/MC/Sparc/sparc-alu-instructions.s 22=================================================================== 23--- test/MC/Sparc/sparc-alu-instructions.s 24+++ test/MC/Sparc/sparc-alu-instructions.s 25@@ -70,3 +70,8 @@ 26 ! CHECK: subxcc %g1, %g2, %g3 ! encoding: [0x86,0xe0,0x40,0x02] 27 subxcc %g1, %g2, %g3 28 29+ ! CHECK: or %g0, %g1, %g3 ! encoding: [0x86,0x10,0x00,0x01] 30+ mov %g1, %g3 31+ 32+ ! CHECK: or %g0, 255, %g3 ! encoding: [0x86,0x10,0x20,0xff] 33+ mov 0xff, %g3 34