llvm-6502/test/MC/Mips/nabi-regs.s
Jack Carter 99e98551bf ELF symbol table field st_other support,
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
2013-02-20 23:11:17 +00:00

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