diff --git a/llvm/test/MC/AsmParser/directive_fill.s b/llvm/test/MC/AsmParser/directive_fill.s index 95c7b46baf97d2105b3538060d199540a4bd60d3..60bd468cd34884df1ba3ae6b61dea73a00c1df2b 100644 --- a/llvm/test/MC/AsmParser/directive_fill.s +++ b/llvm/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/llvm/tools/llvm-mc/AsmParser.cpp b/llvm/tools/llvm-mc/AsmParser.cpp index c8eb7ec2ba6089ddd05212a8abcb21fd37c00850..f67bad164a26f60a7d04f1882aa43f5984daf38f 100644 --- a/llvm/tools/llvm-mc/AsmParser.cpp +++ b/llvm/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);