llvm-6502/test/MC/Mips/set-arch.s
Toma Tabacu 109447ff1b [mips] Add assembler support for .set arch=x directive.
Summary:
This directive is similar to ".set mipsX".
It is used to change the CPU target of the assembler, enabling it to accept instructions for a specific CPU.

This patch only implements the r4000 CPU (which is treated internally as generic mips3) and the generic ISAs.

Contains work done by Matheus Almeida.

Reviewers: dsanders

Reviewed By: dsanders

Differential Revision: http://reviews.llvm.org/D4884

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215978 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-19 14:22:52 +00:00

56 lines
1.4 KiB
ArmAsm

# RUN: llvm-mc %s -triple=mipsel-unknown-linux -show-encoding -mcpu=mips32 | \
# RUN: FileCheck %s
.text
.set arch=mips1
add $2, $2, $2
.set arch=mips2
ll $2, -2($2)
.set arch=mips3
dadd $2, $2, $2
.set arch=mips4
ldxc1 $f8, $2($4)
.set arch=mips5
luxc1 $f19, $2($4)
.set arch=mips32
clo $2, $2
.set arch=mips32r2
rotr $2, $2, 15
.set arch=mips32r6
mod $2, $4, $6
.set arch=mips64
daddi $2, $2, 10
.set arch=mips64r2
drotr32 $1, $14, 15
.set arch=mips64r6
mod $2, $4, $6
.set arch=cnmips
.set arch=r4000
dadd $2, $2, $2
# CHECK: .set arch=mips1
# CHECK: add $2, $2, $2
# CHECK: .set arch=mips2
# CHECK: ll $2, -2($2)
# CHECK: .set arch=mips3
# CHECK: dadd $2, $2, $2
# CHECK: .set arch=mips4
# CHECK: ldxc1 $f8, $2($4)
# CHECK: .set arch=mips5
# CHECK: luxc1 $f19, $2($4)
# CHECK: .set arch=mips32
# CHECK: clo $2, $2
# CHECK: .set arch=mips32r2
# CHECK: rotr $2, $2, 15
# CHECK: .set arch=mips32r6
# CHECK: mod $2, $4, $6
# CHECK: .set arch=mips64
# CHECK: daddi $2, $2, 10
# CHECK: .set arch=mips64r2
# CHECK: drotr32 $1, $14, 15
# CHECK: .set arch=mips64r6
# CHECK: mod $2, $4, $6
# CHECK: .set arch=cnmips
# CHECK: .set arch=r4000
# CHECK: dadd $2, $2, $2