Commit | Line | Data |
---|---|---|
cbb38b47 BE |
1 | # sh testcase for swap.b $rm, $rn -*- Asm -*- |
2 | # mach: all | |
3 | # as: -isa=shcompact | |
4 | # ld: -m shelf32 | |
5 | ||
6 | .include "compact/testutils.inc" | |
7 | ||
8 | start | |
9 | ||
10 | init: | |
11 | # Build up a distinctive bit pattern. | |
12 | mov #1, r0 | |
13 | shll8 r0 | |
14 | add #12, r0 | |
15 | shll8 r0 | |
16 | add #85, r0 | |
17 | shll8 r0 | |
18 | add #70, r0 | |
19 | ||
20 | test: | |
21 | # Swap the lower two bytes into a different register. | |
22 | swap.b r0, r1 | |
23 | mov #1, r7 | |
24 | shll8 r7 | |
25 | add #12, r7 | |
26 | shll8 r7 | |
27 | add #70, r7 | |
28 | shll8 r7 | |
29 | add #85, r7 | |
30 | cmp/eq r1, r7 | |
31 | bf wrong | |
32 | ||
33 | swapback: | |
34 | # Swap the lower two bytes into the same registers. | |
35 | # R0 should now equal R1. | |
36 | swap.b r1, r2 | |
37 | cmp/eq r0, r2 | |
38 | bf wrong | |
39 | ||
40 | okay: | |
41 | pass | |
42 | ||
43 | wrong: | |
44 | fail |