mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-22 10:24:26 +00:00
Allow binary and for tblgen math.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214851 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -952,6 +952,7 @@ Init *BinOpInit::Fold(Record *CurRec, MultiClass *CurMultiClass) const {
|
||||
break;
|
||||
}
|
||||
case ADD:
|
||||
case AND:
|
||||
case SHL:
|
||||
case SRA:
|
||||
case SRL: {
|
||||
@ -965,6 +966,7 @@ Init *BinOpInit::Fold(Record *CurRec, MultiClass *CurMultiClass) const {
|
||||
switch (getOpcode()) {
|
||||
default: llvm_unreachable("Bad opcode!");
|
||||
case ADD: Result = LHSv + RHSv; break;
|
||||
case AND: Result = LHSv & RHSv; break;
|
||||
case SHL: Result = LHSv << RHSv; break;
|
||||
case SRA: Result = LHSv >> RHSv; break;
|
||||
case SRL: Result = (uint64_t)LHSv >> (uint64_t)RHSv; break;
|
||||
@ -991,6 +993,7 @@ std::string BinOpInit::getAsString() const {
|
||||
switch (Opc) {
|
||||
case CONCAT: Result = "!con"; break;
|
||||
case ADD: Result = "!add"; break;
|
||||
case AND: Result = "!and"; break;
|
||||
case SHL: Result = "!shl"; break;
|
||||
case SRA: Result = "!sra"; break;
|
||||
case SRL: Result = "!srl"; break;
|
||||
|
Reference in New Issue
Block a user