merge from gcc
[external/binutils.git] / sim / testsuite / sim / sh64 / compact / stsl-pr.cgs
1 # sh testcase for sts.l pr, @-$rn -*- Asm -*-
2 # mach: all
3 # as: -isa=shcompact
4 # ld: -m shelf32
5
6         .include "compact/testutils.inc"
7
8         start
9
10         .global stsl_pr
11 stsl_pr:
12         # Build up a distinctive bit pattern.
13         mov #1, r0
14         shll8 r0
15         add #12, r0
16         shll8 r0
17         add #85, r0
18         shll8 r0
19         add #170, r0
20         
21         lds r0, pr
22         mov #40, r2
23         shll8 r2
24         # Preserve r2.
25         mov r2, r7
26         sts.l pr, @-r2
27
28         # check results.
29         mov.l @r2, r3
30         cmp/eq r0, r3
31         bf wrong
32
33         # Ensure decrement occurred.
34         add #4, r2
35         cmp/eq r2, r7
36         bf wrong
37
38 okay:
39         pass
40 wrong:
41         fail
42