mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-02 07:32:52 +00:00
99e98551bf
excluding visibility bits. Mips specific standalone assembler directive "set at". This directive changes the general purpose register that the assembler will use when given the symbolic register name $at. This does not include negative testing. That will come in a future patch. A side affect of this patch recognizes the different GPR register names for temporaries between old abi and new abi so a test case for that is included. Contributer: Vladimir Medic git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175686 91177308-0d34-0410-b5e6-96231b3b80d8
37 lines
1.4 KiB
ArmAsm
37 lines
1.4 KiB
ArmAsm
# OABI (o32, o64) have a different symbolic register
|
|
# set for the A and T registers because the NABI allows
|
|
# for 4 more register parameters (A registers) offsetting
|
|
# the T registers.
|
|
#
|
|
# For now just check N64
|
|
# RUN: llvm-mc %s -triple=mipsel-unknown-linux -show-encoding \
|
|
# RUN: -mcpu=mips64r2 -arch=mips64 | \
|
|
# RUN: FileCheck %s
|
|
|
|
# CHECK: .section __TEXT,__text,regular,pure_instructions
|
|
.text
|
|
foo:
|
|
|
|
# CHECK: add $16, $16, $4 # encoding: [0x02,0x04,0x80,0x20]
|
|
add $s0,$s0,$a0
|
|
# CHECK: add $16, $16, $6 # encoding: [0x02,0x06,0x80,0x20]
|
|
add $s0,$s0,$a2
|
|
# CHECK: add $16, $16, $7 # encoding: [0x02,0x07,0x80,0x20]
|
|
add $s0,$s0,$a3
|
|
# CHECK: add $16, $16, $8 # encoding: [0x02,0x08,0x80,0x20]
|
|
add $s0,$s0,$a4
|
|
# CHECK: add $16, $16, $9 # encoding: [0x02,0x09,0x80,0x20]
|
|
add $s0,$s0,$a5
|
|
# CHECK: add $16, $16, $10 # encoding: [0x02,0x0a,0x80,0x20]
|
|
add $s0,$s0,$a6
|
|
# CHECK: add $16, $16, $11 # encoding: [0x02,0x0b,0x80,0x20]
|
|
add $s0,$s0,$a7
|
|
# CHECK: add $16, $16, $12 # encoding: [0x02,0x0c,0x80,0x20]
|
|
add $s0,$s0,$t0
|
|
# CHECK: add $16, $16, $13 # encoding: [0x02,0x0d,0x80,0x20]
|
|
add $s0,$s0,$t1
|
|
# CHECK: add $16, $16, $14 # encoding: [0x02,0x0e,0x80,0x20]
|
|
add $s0,$s0,$t2
|
|
# CHECK: add $16, $16, $15 # encoding: [0x02,0x0f,0x80,0x20]
|
|
add $s0,$s0,$t3
|