From ba54a70bf36c446d5eefbbd4e1cd615b19423743 Mon Sep 17 00:00:00 2001 From: Joerg Sonnenberger Date: Wed, 19 Aug 2015 13:55:14 +0000 Subject: [PATCH] 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 --- lib/Target/Sparc/AsmParser/SparcAsmParser.cpp | 7 +++++++ test/MC/Sparc/sparc-special-registers.s | 6 ++++++ 2 files changed, 13 insertions(+) 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 -- 2.34.1