[mips] Support `octeon+` CPU in the `.set arch=` directive

Differential Revision: https://reviews.llvm.org/D69850
This commit is contained in:
Simon Atanasyan 2019-11-05 01:23:59 +03:00
parent 7bed381eae
commit 3718102d40
2 changed files with 7 additions and 2 deletions

View File

@ -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("");

View File

@ -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