Permit icmp and fcmp to have packed operands.
authorReid Spencer <rspencer@reidspencer.com>
Thu, 4 Jan 2007 00:05:48 +0000 (00:05 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Thu, 4 Jan 2007 00:05:48 +0000 (00:05 +0000)
Make an error message a little more useful.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32852 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AsmParser/llvmAsmParser.y

index 7d6c03c1e02c872f80ecfdacd6cfd1d61157a7b0..8a7403683981dd8b710d487f25a2c1de34a1a680 100644 (file)
@@ -1602,7 +1602,8 @@ ConstVal: Types '[' ConstVector ']' { // Nonempty unsized arr
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription());
     if ($1->get() != $2->getType())
-      GEN_ERROR("Mismatched types for constant expression!");
+      GEN_ERROR("Mismatched types for constant expression: " + 
+        (*$1)->getDescription() + " and " + $2->getType()->getDescription());
     $$ = $2;
     delete $1;
     CHECK_FOR_ERROR
@@ -2548,8 +2549,6 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef {
   | ICMP IPredicates Types ValueRef ',' ValueRef  {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*$3)->getDescription());
-    if (isa<PackedType>((*$3).get()))
-      GEN_ERROR("Packed types not supported by icmp instruction");
     Value* tmpVal1 = getVal(*$3, $4);
     CHECK_FOR_ERROR
     Value* tmpVal2 = getVal(*$3, $6);
@@ -2561,8 +2560,6 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef {
   | FCMP FPredicates Types ValueRef ',' ValueRef  {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*$3)->getDescription());
-    if (isa<PackedType>((*$3).get()))
-      GEN_ERROR("Packed types not supported by fcmp instruction");
     Value* tmpVal1 = getVal(*$3, $4);
     CHECK_FOR_ERROR
     Value* tmpVal2 = getVal(*$3, $6);