aboutsummaryrefslogtreecommitdiffstats
path: root/lib/AsmParser
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2007-01-04 02:57:22 +0000
committerReid Spencer <rspencer@reidspencer.com>2007-01-04 02:57:22 +0000
commit539b471a33b48654b956a0a4ad0cba777e27b5fc (patch)
treebf02aee37f979848dd92223d8f9f228f509689f4 /lib/AsmParser
parent70d8d121eaa3a3982022f7146113416f9b3f26c1 (diff)
downloadexternal_llvm-539b471a33b48654b956a0a4ad0cba777e27b5fc.zip
external_llvm-539b471a33b48654b956a0a4ad0cba777e27b5fc.tar.gz
external_llvm-539b471a33b48654b956a0a4ad0cba777e27b5fc.tar.bz2
Disallow packed types in icmp/fcmp instructions. The code generator is
not prepared to handle them yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32861 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AsmParser')
-rw-r--r--lib/AsmParser/llvmAsmParser.y4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index 8a74036..bc09675 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -2549,6 +2549,8 @@ 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);
@@ -2560,6 +2562,8 @@ 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);