aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/MC/AsmParser/directive_fill.s5
-rw-r--r--tools/llvm-mc/AsmParser.cpp4
2 files changed, 7 insertions, 2 deletions
diff --git a/test/MC/AsmParser/directive_fill.s b/test/MC/AsmParser/directive_fill.s
index 95c7b46..60bd468 100644
--- a/test/MC/AsmParser/directive_fill.s
+++ b/test/MC/AsmParser/directive_fill.s
@@ -10,3 +10,8 @@ TEST0:
# CHECK: .short 3
TEST1:
.fill 2, 2, 3
+
+# CHECK: TEST2:
+# CHECK: .quad 4
+TEST2:
+ .fill 1, 8, 4
diff --git a/tools/llvm-mc/AsmParser.cpp b/tools/llvm-mc/AsmParser.cpp
index c8eb7ec..f67bad1 100644
--- a/tools/llvm-mc/AsmParser.cpp
+++ b/tools/llvm-mc/AsmParser.cpp
@@ -981,8 +981,8 @@ bool AsmParser::ParseDirectiveFill() {
Lexer.Lex();
- if (FillSize != 1 && FillSize != 2 && FillSize != 4)
- return TokError("invalid '.fill' size, expected 1, 2, or 4");
+ if (FillSize != 1 && FillSize != 2 && FillSize != 4 && FillSize != 8)
+ return TokError("invalid '.fill' size, expected 1, 2, 4, or 8");
for (uint64_t i = 0, e = NumValues; i != e; ++i)
Out.EmitValue(MCValue::get(FillExpr), FillSize);