From: Joerg Sonnenberger Date: Wed, 19 Aug 2015 13:55:14 +0000 (+0000) Subject: Map %fprs to %asr6 in the Sparc assembler parser. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ba54a70bf36c446d5eefbbd4e1cd615b19423743;p=oota-llvm.git Map %fprs to %asr6 in the Sparc assembler parser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245437 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp b/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp index 02e9671697a..c96f49e2240 100644 --- a/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp +++ b/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp @@ -879,6 +879,13 @@ bool SparcAsmParser::matchRegisterName(const AsmToken &Tok, return true; } + // %fprs is an alias of %asr6. + if (name.equals("fprs")) { + RegNo = ASRRegs[6]; + RegKind = SparcOperand::rk_Special; + return true; + } + if (name.equals("icc")) { RegNo = Sparc::ICC; RegKind = SparcOperand::rk_Special; diff --git a/test/MC/Sparc/sparc-special-registers.s b/test/MC/Sparc/sparc-special-registers.s index 2cb57d720c4..e78ddcc3505 100644 --- a/test/MC/Sparc/sparc-special-registers.s +++ b/test/MC/Sparc/sparc-special-registers.s @@ -33,3 +33,9 @@ ! CHECK: wr %i0, 5, %tbr ! encoding: [0x81,0x9e,0x20,0x05] wr %i0, 5, %tbr + + ! CHECK: rd %asr6, %i0 ! encoding: [0xb1,0x41,0x80,0x00] + rd %fprs, %i0 + + ! CHECK: wr %i0, 7, %asr6 ! encoding: [0x8d,0x86,0x20,0x07] + wr %i0, 7, %fprs