diff options
| author | Simon Atanasyan <simon@atanasyan.com> | 2019-11-05 01:23:59 +0300 |
|---|---|---|
| committer | Simon Atanasyan <simon@atanasyan.com> | 2019-11-07 13:58:50 +0300 |
| commit | 3718102d40d60ba415ac2b2b1108e411838838a5 (patch) | |
| tree | 9e0d7f19f35cc62e11549dcdb6ff2aa414ccf50a | |
| parent | 7bed381eae12277d6e0ef7e8a56491d11589ee7f (diff) | |
| download | bcm5719-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.cpp | 5 | ||||
| -rw-r--r-- | llvm/test/MC/Mips/set-arch.s | 4 |
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 |

