summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Atanasyan <simon@atanasyan.com>2019-11-05 01:23:59 +0300
committerSimon Atanasyan <simon@atanasyan.com>2019-11-07 13:58:50 +0300
commit3718102d40d60ba415ac2b2b1108e411838838a5 (patch)
tree9e0d7f19f35cc62e11549dcdb6ff2aa414ccf50a
parent7bed381eae12277d6e0ef7e8a56491d11589ee7f (diff)
downloadbcm5719-llvm-3718102d40d60ba415ac2b2b1108e411838838a5.tar.gz
bcm5719-llvm-3718102d40d60ba415ac2b2b1108e411838838a5.zip
[mips] Support `octeon+` CPU in the `.set arch=` directive
Differential Revision: https://reviews.llvm.org/D69850
-rw-r--r--llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp5
-rw-r--r--llvm/test/MC/Mips/set-arch.s4
2 files changed, 7 insertions, 2 deletions
diff --git a/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp b/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
index d6400e24316..8165f8f466f 100644
--- a/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
+++ b/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
@@ -7175,8 +7175,8 @@ bool MipsAsmParser::parseSetArchDirective() {
return reportParseError("unexpected token, expected equals sign");
Parser.Lex();
- StringRef Arch;
- if (Parser.parseIdentifier(Arch))
+ StringRef Arch = getParser().parseStringToEndOfStatement().trim();
+ if (Arch.empty())
return reportParseError("expected arch identifier");
StringRef ArchFeatureName =
@@ -7197,6 +7197,7 @@ bool MipsAsmParser::parseSetArchDirective() {
.Case("mips64r5", "mips64r5")
.Case("mips64r6", "mips64r6")
.Case("octeon", "cnmips")
+ .Case("octeon+", "cnmipsp")
.Case("r4000", "mips3") // This is an implementation of Mips3.
.Default("");
diff --git a/llvm/test/MC/Mips/set-arch.s b/llvm/test/MC/Mips/set-arch.s
index e1123a90d06..64bf3687883 100644
--- a/llvm/test/MC/Mips/set-arch.s
+++ b/llvm/test/MC/Mips/set-arch.s
@@ -38,6 +38,8 @@
mod $2, $4, $6
.set arch=octeon
baddu $9, $6, $7
+ .set arch=octeon+
+ saa $2, ($5)
.set arch=r4000
dadd $2, $2, $2
@@ -65,5 +67,7 @@
# CHECK: mod $2, $4, $6
# CHECK: .set arch=octeon
# CHECK: baddu $9, $6, $7
+# CHECK: .set arch=octeon+
+# CHECK: saa $2, ($5)
# CHECK: .set arch=r4000
# CHECK: dadd $2, $2, $2
OpenPOWER on IntegriCloud