mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
79ae5f6284
Adds support for BEQL and BNEL macros with immediate operands. Patch by: Srdjan Obucina Reviewers: dsanders, zoran.jovanovic, vkalintiris, sdardis, obucina, seanbruno Differential Revision: https://reviews.llvm.org/D17040 llvm-svn: 293905
216 lines
7.9 KiB
ArmAsm
216 lines
7.9 KiB
ArmAsm
# RUN: llvm-mc %s -arch=mips -mcpu=mips32 2>&1 | FileCheck %s
|
|
|
|
# CHECK-NOT: warning: macro instruction expanded into multiple instructions
|
|
.set macro
|
|
li $8, -16
|
|
li $8, 16
|
|
li $8, 161616
|
|
|
|
la $8, 16
|
|
la $8, 161616
|
|
la $8, 16($9)
|
|
la $8, 161616($9)
|
|
la $8, symbol
|
|
|
|
jal $25
|
|
jal $4, $25
|
|
|
|
bne $2, 0, 1332
|
|
bne $2, 1, 1332
|
|
beq $2, 0, 1332
|
|
beq $2, 1, 1332
|
|
|
|
blt $7, $8, local_label
|
|
blt $7, $0, local_label
|
|
blt $0, $8, local_label
|
|
blt $0, $0, local_label
|
|
|
|
bltu $7, $8, local_label
|
|
bltu $7, $0, local_label
|
|
bltu $0, $8, local_label
|
|
bltu $0, $0, local_label
|
|
|
|
ble $7, $8, local_label
|
|
ble $7, $0, local_label
|
|
ble $0, $8, local_label
|
|
ble $0, $0, local_label
|
|
|
|
bleu $7, $8, local_label
|
|
bleu $7, $0, local_label
|
|
bleu $0, $8, local_label
|
|
bleu $0, $0, local_label
|
|
|
|
bge $7, $8, local_label
|
|
bge $7, $0, local_label
|
|
bge $0, $8, local_label
|
|
bge $0, $0, local_label
|
|
|
|
bgeu $7, $8, local_label
|
|
bgeu $7, $0, local_label
|
|
bgeu $0, $8, local_label
|
|
bgeu $0, $0, local_label
|
|
|
|
bgt $7, $8, local_label
|
|
bgt $7, $0, local_label
|
|
bgt $0, $8, local_label
|
|
bgt $0, $0, local_label
|
|
|
|
bgtu $7, $8, local_label
|
|
bgtu $7, $0, local_label
|
|
bgtu $0, $8, local_label
|
|
bgtu $0, $0, local_label
|
|
|
|
ulh $5, 0
|
|
ulhu $5, 0
|
|
|
|
ulw $8, 2
|
|
ulw $8, 0x8000
|
|
ulw $8, 2($9)
|
|
ulw $8, 0x8000($9)
|
|
|
|
jal foo
|
|
.option pic2
|
|
jal foo
|
|
.option pic0
|
|
|
|
add $4, $5, $6
|
|
|
|
.set noreorder
|
|
.set nomacro
|
|
li $8, -16
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
li $8, 16
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
li $8, 161616
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
|
|
la $8, 16
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
la $8, 161616
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
la $8, 16($9)
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
la $8, 161616($9)
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
la $8, symbol
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
|
|
jal $25
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
jal $4, $25
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
|
|
bne $2, 0, 1332
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bne $2, 1, 1332
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
beq $2, 0, 1332
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
beq $2, 1, 1332
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
|
|
blt $7, $8, local_label
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
blt $7, $0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
blt $0, $8, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
blt $0, $0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
|
|
bltu $7, $8, local_label
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bltu $7, $0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bltu $0, $8, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bltu $0, $0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
|
|
ble $7, $8, local_label
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
ble $7, $0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
ble $0, $8, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
ble $0, $0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
|
|
bleu $7, $8, local_label
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bleu $7, $0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bleu $0, $8, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bleu $0, $0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
|
|
bge $7, $8, local_label
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bge $7, $0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bge $0, $8, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bge $0, $0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
|
|
bgeu $7, $8, local_label
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bgeu $7, $0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bgeu $0, $8, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bgeu $0, $0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
|
|
bgt $7, $8, local_label
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bgt $7, $0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bgt $0, $8, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bgt $0, $0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
|
|
bgtu $7, $8, local_label
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bgtu $7, $0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bgtu $0, $8, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bgtu $0, $0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
|
|
bnel $2, 0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
bnel $2, 1, local_label
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
beql $2, 0, local_label
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
beql $2, 1, local_label
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
|
|
ulh $5, 0
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
ulhu $5, 0
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
|
|
ulw $8, 2
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
ulw $8, 0x8000
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
ulw $8, 2($9)
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
ulw $8, 0x8000($9)
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
|
|
jal foo
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
.option pic2
|
|
jal foo
|
|
# CHECK: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|
|
.option pic0
|
|
|
|
add $4, $5, $6
|
|
# CHECK-NOT: [[@LINE-1]]:3: warning: macro instruction expanded into multiple instructions
|