mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-06 20:18:14 +00:00
[mips] Update MipsAsmParser so that it's possible to handle immediates that start with the binary operator NOT (~).
Reviewers: dsanders Reviewed By: dsanders Differential Revision: http://reviews.llvm.org/D4158 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211163 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1480,6 +1480,7 @@ bool MipsAsmParser::ParseOperand(OperandVector &Operands, StringRef Mnemonic) {
|
|||||||
case AsmToken::Minus:
|
case AsmToken::Minus:
|
||||||
case AsmToken::Plus:
|
case AsmToken::Plus:
|
||||||
case AsmToken::Integer:
|
case AsmToken::Integer:
|
||||||
|
case AsmToken::Tilde:
|
||||||
case AsmToken::String: {
|
case AsmToken::String: {
|
||||||
DEBUG(dbgs() << ".. generic integer\n");
|
DEBUG(dbgs() << ".. generic integer\n");
|
||||||
OperandMatchResultTy ResTy = ParseImm(Operands);
|
OperandMatchResultTy ResTy = ParseImm(Operands);
|
||||||
@@ -1904,6 +1905,7 @@ MipsAsmParser::ParseImm(OperandVector &Operands) {
|
|||||||
case AsmToken::Minus:
|
case AsmToken::Minus:
|
||||||
case AsmToken::Plus:
|
case AsmToken::Plus:
|
||||||
case AsmToken::Integer:
|
case AsmToken::Integer:
|
||||||
|
case AsmToken::Tilde:
|
||||||
case AsmToken::String:
|
case AsmToken::String:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,8 @@
|
|||||||
# CHECK: addiu $6, $zero, -2345 # encoding: [0xd7,0xf6,0x06,0x24]
|
# CHECK: addiu $6, $zero, -2345 # encoding: [0xd7,0xf6,0x06,0x24]
|
||||||
# CHECK: lui $7, 1 # encoding: [0x01,0x00,0x07,0x3c]
|
# CHECK: lui $7, 1 # encoding: [0x01,0x00,0x07,0x3c]
|
||||||
# CHECK: ori $7, $7, 2 # encoding: [0x02,0x00,0xe7,0x34]
|
# CHECK: ori $7, $7, 2 # encoding: [0x02,0x00,0xe7,0x34]
|
||||||
|
# CHECK: addiu $8, $zero, -8 # encoding: [0xf8,0xff,0x08,0x24]
|
||||||
|
|
||||||
# CHECK: addiu $4, $zero, 20 # encoding: [0x14,0x00,0x04,0x24]
|
# CHECK: addiu $4, $zero, 20 # encoding: [0x14,0x00,0x04,0x24]
|
||||||
# CHECK: lui $7, 1 # encoding: [0x01,0x00,0x07,0x3c]
|
# CHECK: lui $7, 1 # encoding: [0x01,0x00,0x07,0x3c]
|
||||||
# CHECK: ori $7, $7, 2 # encoding: [0x02,0x00,0xe7,0x34]
|
# CHECK: ori $7, $7, 2 # encoding: [0x02,0x00,0xe7,0x34]
|
||||||
@@ -35,6 +37,7 @@
|
|||||||
li $5,123
|
li $5,123
|
||||||
li $6,-2345
|
li $6,-2345
|
||||||
li $7,65538
|
li $7,65538
|
||||||
|
li $8, ~7
|
||||||
|
|
||||||
la $a0, 20
|
la $a0, 20
|
||||||
la $7,65538
|
la $7,65538
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
add.d $f1,$f7,$f29
|
add.d $f1,$f7,$f29
|
||||||
add.s $f8,$f21,$f24
|
add.s $f8,$f21,$f24
|
||||||
addi $13,$9,26322
|
addi $13,$9,26322
|
||||||
|
addi $8,$8,~1 # CHECK: addi $8, $8, -2 # encoding: [0x21,0x08,0xff,0xfe]
|
||||||
addu $9,$a0,$a2
|
addu $9,$a0,$a2
|
||||||
and $s7,$v0,$12
|
and $s7,$v0,$12
|
||||||
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
add.d $f1,$f7,$f29
|
add.d $f1,$f7,$f29
|
||||||
add.s $f8,$f21,$f24
|
add.s $f8,$f21,$f24
|
||||||
addi $13,$9,26322
|
addi $13,$9,26322
|
||||||
|
addi $8,$8,~1 # CHECK: addi $8, $8, -2 # encoding: [0x21,0x08,0xff,0xfe]
|
||||||
addu $9,$a0,$a2
|
addu $9,$a0,$a2
|
||||||
and $s7,$v0,$12
|
and $s7,$v0,$12
|
||||||
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
add.d $f1,$f7,$f29
|
add.d $f1,$f7,$f29
|
||||||
add.s $f8,$f21,$f24
|
add.s $f8,$f21,$f24
|
||||||
addi $13,$9,26322
|
addi $13,$9,26322
|
||||||
|
addi $8,$8,~1 # CHECK: addi $8, $8, -2 # encoding: [0x21,0x08,0xff,0xfe]
|
||||||
addu $9,$a0,$a2
|
addu $9,$a0,$a2
|
||||||
and $s7,$v0,$12
|
and $s7,$v0,$12
|
||||||
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
add.d $f1,$f7,$f29
|
add.d $f1,$f7,$f29
|
||||||
add.s $f8,$f21,$f24
|
add.s $f8,$f21,$f24
|
||||||
addi $13,$9,26322
|
addi $13,$9,26322
|
||||||
|
addi $8,$8,~1 # CHECK: addi $8, $8, -2 # encoding: [0x21,0x08,0xff,0xfe]
|
||||||
addu $9,$a0,$a2
|
addu $9,$a0,$a2
|
||||||
and $s7,$v0,$12
|
and $s7,$v0,$12
|
||||||
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
add.d $f1,$f7,$f29
|
add.d $f1,$f7,$f29
|
||||||
add.s $f8,$f21,$f24
|
add.s $f8,$f21,$f24
|
||||||
addi $13,$9,26322
|
addi $13,$9,26322
|
||||||
|
addi $8,$8,~1 # CHECK: addi $8, $8, -2 # encoding: [0x21,0x08,0xff,0xfe]
|
||||||
addu $9,$a0,$a2
|
addu $9,$a0,$a2
|
||||||
and $s7,$v0,$12
|
and $s7,$v0,$12
|
||||||
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
add.d $f1,$f7,$f29
|
add.d $f1,$f7,$f29
|
||||||
add.s $f8,$f21,$f24
|
add.s $f8,$f21,$f24
|
||||||
addi $13,$9,26322
|
addi $13,$9,26322
|
||||||
|
addi $8,$8,~1 # CHECK: addi $8, $8, -2 # encoding: [0x21,0x08,0xff,0xfe]
|
||||||
addu $9,$a0,$a2
|
addu $9,$a0,$a2
|
||||||
and $s7,$v0,$12
|
and $s7,$v0,$12
|
||||||
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
add.d $f1,$f7,$f29
|
add.d $f1,$f7,$f29
|
||||||
add.s $f8,$f21,$f24
|
add.s $f8,$f21,$f24
|
||||||
addi $13,$9,26322
|
addi $13,$9,26322
|
||||||
|
addi $8,$8,~1 # CHECK: addi $8, $8, -2 # encoding: [0x21,0x08,0xff,0xfe]
|
||||||
addu $9,$a0,$a2
|
addu $9,$a0,$a2
|
||||||
and $s7,$v0,$12
|
and $s7,$v0,$12
|
||||||
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
add.d $f1,$f7,$f29
|
add.d $f1,$f7,$f29
|
||||||
add.s $f8,$f21,$f24
|
add.s $f8,$f21,$f24
|
||||||
addi $13,$9,26322
|
addi $13,$9,26322
|
||||||
|
addi $8,$8,~1 # CHECK: addi $8, $8, -2 # encoding: [0x21,0x08,0xff,0xfe]
|
||||||
addu $9,$a0,$a2
|
addu $9,$a0,$a2
|
||||||
and $s7,$v0,$12
|
and $s7,$v0,$12
|
||||||
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
add.d $f1,$f7,$f29
|
add.d $f1,$f7,$f29
|
||||||
add.s $f8,$f21,$f24
|
add.s $f8,$f21,$f24
|
||||||
addi $13,$9,26322
|
addi $13,$9,26322
|
||||||
|
addi $8,$8,~1 # CHECK: addi $8, $8, -2 # encoding: [0x21,0x08,0xff,0xfe]
|
||||||
addu $9,$a0,$a2
|
addu $9,$a0,$a2
|
||||||
and $s7,$v0,$12
|
and $s7,$v0,$12
|
||||||
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
|
||||||
|
|||||||
Reference in New Issue
Block a user