From 9cb88b73c69fa4bd8ce7b4dc030239c795905de7 Mon Sep 17 00:00:00 2001 From: Douglas Katzman Date: Wed, 29 Apr 2015 18:48:29 +0000 Subject: [PATCH] Make Sparc assembler accept parenthesized constant expressions. Differential Revision: http://reviews.llvm.org/D9087 llvm-svn: 236137 --- llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp | 1 + llvm/test/MC/Sparc/sparc-assembly-exprs.s | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 llvm/test/MC/Sparc/sparc-assembly-exprs.s diff --git a/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp b/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp index 28b70a4..a094011 100644 --- a/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp +++ b/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp @@ -682,6 +682,7 @@ SparcAsmParser::parseSparcAsmOperand(std::unique_ptr &Op, case AsmToken::Minus: case AsmToken::Integer: + case AsmToken::LParen: if (!getParser().parseExpression(EVal, E)) Op = SparcOperand::CreateImm(EVal, S, E); break; diff --git a/llvm/test/MC/Sparc/sparc-assembly-exprs.s b/llvm/test/MC/Sparc/sparc-assembly-exprs.s new file mode 100644 index 0000000..7fdc5a5 --- /dev/null +++ b/llvm/test/MC/Sparc/sparc-assembly-exprs.s @@ -0,0 +1,6 @@ +! RUN: llvm-mc %s -arch=sparc -show-encoding | FileCheck %s + + ! CHECK: mov 1033, %o1 ! encoding: [0x92,0x10,0x24,0x09] + mov (0x400|9), %o1 + ! CHECK: mov 60, %o2 ! encoding: [0x94,0x10,0x20,0x3c] + mov (12+3<<2), %o2 -- 2.7.4