diff --git a/test/MC/AsmParser/directive_fill.s b/test/MC/AsmParser/directive_fill.s index 95c7b46baf9..60bd468cd34 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 c8eb7ec2ba6..f67bad164a2 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);