summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/X86/AsmParser/X86AsmParser.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/lib/Target/X86/AsmParser/X86AsmParser.cpp b/lib/Target/X86/AsmParser/X86AsmParser.cpp
index 542cc442af..0321794bcc 100644
--- a/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -633,14 +633,16 @@ X86Operand *X86AsmParser::ParseOperand() {
/// getIntelMemOperandSize - Return intel memory operand size.
static unsigned getIntelMemOperandSize(StringRef OpStr) {
- if (OpStr == "BYTE") return 8;
- if (OpStr == "WORD") return 16;
- if (OpStr == "DWORD") return 32;
- if (OpStr == "QWORD") return 64;
- if (OpStr == "XWORD") return 80;
- if (OpStr == "XMMWORD") return 128;
- if (OpStr == "YMMWORD") return 256;
- return 0;
+ unsigned Size = StringSwitch<unsigned>(OpStr)
+ .Case("BYTE", 8)
+ .Case("WORD", 16)
+ .Case("DWORD", 32)
+ .Case("QWORD", 64)
+ .Case("XWORD", 80)
+ .Case("XMMWORD", 128)
+ .Case("YMMWORD", 256)
+ .Default(0);
+ return Size;
}
X86Operand *X86AsmParser::ParseIntelBracExpression(unsigned SegReg,