[mips] add assembler support for .set arch=octeon
authorPetar Jovanovic <petar.jovanovic@imgtec.com>
Tue, 12 Apr 2016 15:28:16 +0000 (15:28 +0000)
committerPetar Jovanovic <petar.jovanovic@imgtec.com>
Tue, 12 Apr 2016 15:28:16 +0000 (15:28 +0000)
This patch enables assembler support for .set arch=octeon.
It will fix issues with inline assembler when this directive is used.

Patch by Strahinja Petrovic.

Differential Revision: http://reviews.llvm.org/D18548

llvm-svn: 266081

llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
llvm/test/MC/Mips/set-arch.s

index 011727a..c1df2d5 100644 (file)
@@ -5350,7 +5350,7 @@ bool MipsAsmParser::parseSetArchDirective() {
           .Case("mips64r3", "mips64r3")
           .Case("mips64r5", "mips64r5")
           .Case("mips64r6", "mips64r6")
-          .Case("cnmips", "cnmips")
+          .Case("octeon", "cnmips")
           .Case("r4000", "mips3") // This is an implementation of Mips3.
           .Default("");
 
index 834718c..e1123a9 100644 (file)
@@ -36,7 +36,8 @@
     drotr32     $1, $14, 15
     .set arch=mips64r6
     mod         $2, $4, $6
-    .set arch=cnmips
+    .set arch=octeon
+    baddu $9, $6, $7
     .set arch=r4000
     dadd        $2, $2, $2
 
@@ -62,6 +63,7 @@
 # CHECK: drotr32     $1, $14, 15
 # CHECK: .set arch=mips64r6
 # CHECK: mod         $2, $4, $6
-# CHECK: .set arch=cnmips
+# CHECK: .set arch=octeon
+# CHECK: baddu $9, $6, $7
 # CHECK: .set arch=r4000
 # CHECK: dadd        $2, $2, $2