[Sparc] Add support for parsing synthetic instruction 'mov'.
authorVenkatraman Govindaraju <venkatra@cs.wisc.edu>
Fri, 7 Feb 2014 09:06:52 +0000 (09:06 +0000)
committerVenkatraman Govindaraju <venkatra@cs.wisc.edu>
Fri, 7 Feb 2014 09:06:52 +0000 (09:06 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200965 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Sparc/SparcInstrAliases.td
test/MC/Sparc/sparc-alu-instructions.s

index 2c7aba27e35048f64e7b6812d1322f7408e69613..7242c59059ab68eacdf4373b82cea1eeb2e5cc46 100644 (file)
@@ -134,3 +134,9 @@ def : InstAlias<"retl", (RETL 8)>;
 
 // ret -> RET 8
 def : InstAlias<"ret", (RET 8)>;
+
+// mov reg, rd -> or %g0, reg, rd
+def : InstAlias<"mov $rs2, $rd", (ORrr IntRegs:$rd, G0, IntRegs:$rs2)>;
+
+// mov simm13, rd -> or %g0, simm13, rd
+def : InstAlias<"mov $simm13, $rd", (ORri IntRegs:$rd, G0, i32imm:$simm13)>;
index 393b5df5f9d4cda45f0133b5e884ec973df9b7dc..5531bcca7aff131a28a50958b4e2f7662588068b 100644 (file)
@@ -70,3 +70,8 @@
         ! CHECK: subxcc %g1, %g2, %g3 ! encoding: [0x86,0xe0,0x40,0x02]
         subxcc %g1, %g2, %g3
 
+        ! CHECK: or %g0, %g1, %g3     ! encoding: [0x86,0x10,0x00,0x01]
+        mov %g1, %g3
+
+        ! CHECK: or %g0, 255, %g3     ! encoding: [0x86,0x10,0x20,0xff]
+        mov 0xff, %g3