From ca73cd88301bb38e27d39fd25fe15521b908cab6 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 8 Apr 2006 03:53:34 +0000 Subject: [PATCH] Add insertelement and shufflevector constantexpr support git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27520 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/AsmParser/llvmAsmParser.y | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index d77b7eebfc7..d95ea31bebe 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -1547,8 +1547,17 @@ ConstExpr: CAST '(' ConstVal TO Types ')' { if ($5->getType() != Type::UIntTy) ThrowException("Second operand of extractelement must be uint!"); $$ = ConstantExpr::getExtractElement($3, $5); + } + | INSERTELEMENT '(' ConstVal ',' ConstVal ',' ConstVal ')' { + $$ = ConstantExpr::getInsertElement($3, $5, $7); + } + | SHUFFLEVECTOR '(' ConstVal ',' ConstVal ',' ConstVal ')' { + if (!ShuffleVectorInst::isValidOperands($3, $5, $7)) + ThrowException("Invalid shufflevector operands!"); + $$ = ConstantExpr::getShuffleVector($3, $5, $7); }; + // ConstVector - A list of comma separated constants. ConstVector : ConstVector ',' ConstVal { ($$ = $1)->push_back($3); -- 2.34.1