[InstCombine] Signed saturation patterns
[llvm-core.git] / test / MC / Mips / set-push-pop-directives.s
blob3a0b2aecc58745d79cc7849d3ce660d67a2638cd
1 # RUN: llvm-mc %s -triple=mipsel-unknown-linux -mcpu=mips32r2 -mattr=+msa | \
2 # RUN: FileCheck %s
3 # .set push creates a copy of the current environment.
4 # .set pop restores the previous environment.
5 # FIXME: Also test resetting of .set macro/nomacro option.
7 .text
8 # The first environment on the stack (with initial values).
9 lw $1, 65536($1)
10 b 1336
11 addvi.b $w15, $w13, 18
13 # Create a new environment.
14 .set push
15 .set at=$ra # Test the ATReg option.
16 lw $1, 65536($1)
17 .set noreorder # Test the Reorder option.
18 b 1336
19 .set nomsa # Test the Features option (ASE).
20 .set mips32r6 # Test the Features option (ISA).
21 mod $2, $4, $6
23 # Switch back to the first environment.
24 .set pop
25 lw $1, 65536($1)
26 b 1336
27 addvi.b $w15, $w13, 18
29 # CHECK: lui $1, 1
30 # CHECK: addu $1, $1, $1
31 # CHECK: lw $1, 0($1)
32 # CHECK: b 1336
33 # CHECK: nop
34 # CHECK: addvi.b $w15, $w13, 18
36 # CHECK: .set push
37 # CHECK: lui $ra, 1
38 # CHECK: addu $ra, $ra, $1
39 # CHECK: lw $1, 0($ra)
40 # CHECK: .set noreorder
41 # CHECK: b 1336
42 # CHECK-NOT: nop
43 # CHECK: .set nomsa
44 # CHECK: .set mips32r6
45 # CHECK: mod $2, $4, $6
47 # CHECK: .set pop
48 # CHECK: lui $1, 1
49 # CHECK: addu $1, $1, $1
50 # CHECK: lw $1, 0($1)
51 # CHECK: b 1336
52 # CHECK: nop
53 # CHECK: addvi.b $w15, $w13, 18
55 .set push
56 .set dsp
57 lbux $7, $10($11)
58 .set pop
60 .set push
61 .set dsp
62 lbux $7, $10($11)
63 # CHECK-NOT: :[[@LINE-1]]:5: error: instruction requires a CPU feature not currently enabled
64 .set pop
66 .set push
67 .set dsp
68 lbux $7, $10($11)
69 # CHECK-NOT: :[[@LINE-1]]:5: error: instruction requires a CPU feature not currently enabled
70 .set pop