llvm-6502/test/MC/Mips/set-push-pop-directives.s
Toma Tabacu c154887856 Recommit "[mips] [IAS] Restore STI.FeatureBits in .set pop." (r239144).
Specified the llvm namespace for the 2 calls to make_unique() which caused
compilation errors in Visual Studio 2013.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239405 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-09 13:33:26 +00:00

71 lines
1.8 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
.set push
.set dsp
lbux $7, $10($11)
.set pop
.set push
.set dsp
lbux $7, $10($11)
# CHECK-NOT: :[[@LINE-1]]:5: error: instruction requires a CPU feature not currently enabled
.set pop
.set push
.set dsp
lbux $7, $10($11)
# CHECK-NOT: :[[@LINE-1]]:5: error: instruction requires a CPU feature not currently enabled
.set pop