mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
7b4aafeb51
Summary: These directives are used to save the current assembler options (in the case of ".set push") and restore the previously saved options (in the case of ".set pop"). Contains work done by Matheus Almeida. Reviewers: dsanders Reviewed By: dsanders Differential Revision: http://reviews.llvm.org/D4821 llvm-svn: 217432
54 lines
1.4 KiB
ArmAsm
54 lines
1.4 KiB
ArmAsm
# RUN: llvm-mc %s -triple=mipsel-unknown-linux -mcpu=mips32r2 -mattr=+msa | \
|
|
# RUN: FileCheck %s
|
|
# .set push creates a copy of the current environment.
|
|
# .set pop restores the previous environment.
|
|
# FIXME: Also test resetting of .set macro/nomacro option.
|
|
|
|
.text
|
|
# The first environment on the stack (with initial values).
|
|
lw $1, 65536($1)
|
|
b 1336
|
|
addvi.b $w15, $w13, 18
|
|
|
|
# Create a new environment.
|
|
.set push
|
|
.set at=$ra # Test the ATReg option.
|
|
lw $1, 65536($1)
|
|
.set noreorder # Test the Reorder option.
|
|
b 1336
|
|
.set nomsa # Test the Features option (ASE).
|
|
.set mips32r6 # Test the Features option (ISA).
|
|
mod $2, $4, $6
|
|
|
|
# Switch back to the first environment.
|
|
.set pop
|
|
lw $1, 65536($1)
|
|
b 1336
|
|
addvi.b $w15, $w13, 18
|
|
|
|
# CHECK: lui $1, 1
|
|
# CHECK: addu $1, $1, $1
|
|
# CHECK: lw $1, 0($1)
|
|
# CHECK: b 1336
|
|
# CHECK: nop
|
|
# CHECK: addvi.b $w15, $w13, 18
|
|
|
|
# CHECK: .set push
|
|
# CHECK: lui $ra, 1
|
|
# CHECK: addu $ra, $ra, $1
|
|
# CHECK: lw $1, 0($ra)
|
|
# CHECK: .set noreorder
|
|
# CHECK: b 1336
|
|
# CHECK-NOT: nop
|
|
# CHECK: .set nomsa
|
|
# CHECK: .set mips32r6
|
|
# CHECK: mod $2, $4, $6
|
|
|
|
# CHECK: .set pop
|
|
# CHECK: lui $1, 1
|
|
# CHECK: addu $1, $1, $1
|
|
# CHECK: lw $1, 0($1)
|
|
# CHECK: b 1336
|
|
# CHECK: nop
|
|
# CHECK: addvi.b $w15, $w13, 18
|