mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-09 13:33:17 +00:00
allow i1 to operators like shift and add.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33221 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b2f3e703bc
commit
3fa0ba7b32
@ -1274,7 +1274,7 @@ Types
|
||||
const llvm::Type* ElemTy = $4->get();
|
||||
if ((unsigned)$2 != $2)
|
||||
GEN_ERROR("Unsigned result not equal to signed result");
|
||||
if (!ElemTy->isFloatingPoint() && !ElemTy->isInteger())
|
||||
if (!ElemTy->isFloatingPoint() && !ElemTy->isIntegral())
|
||||
GEN_ERROR("Element type of a PackedType must be primitive");
|
||||
if (!isPowerOf2_32($2))
|
||||
GEN_ERROR("Vector length should be a power of 2!");
|
||||
@ -1777,7 +1777,7 @@ ConstExpr: CastOps '(' ConstVal TO Types ')' {
|
||||
| ShiftOps '(' ConstVal ',' ConstVal ')' {
|
||||
if ($5->getType() != Type::Int8Ty)
|
||||
GEN_ERROR("Shift count for shift constant must be i8 type!");
|
||||
if (!$3->getType()->isInteger())
|
||||
if (!$3->getType()->isIntegral())
|
||||
GEN_ERROR("Shift constant expression requires integer operand!");
|
||||
CHECK_FOR_ERROR;
|
||||
$$ = ConstantExpr::get($1, $3, $5);
|
||||
@ -2573,7 +2573,7 @@ OptTailCall : TAIL CALL {
|
||||
InstVal : ArithmeticOps Types ValueRef ',' ValueRef {
|
||||
if (!UpRefs.empty())
|
||||
GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription());
|
||||
if (!(*$2)->isInteger() && !(*$2)->isFloatingPoint() &&
|
||||
if (!(*$2)->isIntegral() && !(*$2)->isFloatingPoint() &&
|
||||
!isa<PackedType>((*$2).get()))
|
||||
GEN_ERROR(
|
||||
"Arithmetic operator requires integer, FP, or packed operands!");
|
||||
@ -2637,7 +2637,7 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef {
|
||||
| ShiftOps ResolvedVal ',' ResolvedVal {
|
||||
if ($4->getType() != Type::Int8Ty)
|
||||
GEN_ERROR("Shift amount must be i8 type!");
|
||||
if (!$2->getType()->isInteger())
|
||||
if (!$2->getType()->isIntegral())
|
||||
GEN_ERROR("Shift constant expression requires integer operand!");
|
||||
CHECK_FOR_ERROR;
|
||||
$$ = new ShiftInst($1, $2, $4);
|
||||
|
Loading…
x
Reference in New Issue
Block a user