]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - sim/testsuite/d10v-elf/t-mod-ld-pre.s
import gdb-2000-01-05 snapshot
[thirdparty/binutils-gdb.git] / sim / testsuite / d10v-elf / t-mod-ld-pre.s
1 .include "t-macros.i"
2
3 .section .rodata
4
5 .text
6 .globl main
7 .type main,@function
8 main:
9 mvfc r0, PSW || ldi.s r14, #0
10 ldi.l r2, 0x100 ; MOD_E
11 ldi.l r3, 0x108 ; MOD_S
12
13 test_mod_dec_ld:
14 mvtc r2, MOD_E || bseti r0, #7
15 mvtc r3, MOD_S
16 mvtc r0, PSW ; modulo mode enable
17 mv r1,r3 ; r1=0x108
18 ld r4, @r1- || nop ; r1=0x106
19 ld r4, @r1- || nop ; r1=0x104
20 ld r4, @r1- || nop ; r1=0x102
21 ld r4, @r1- || nop ; r1=0x100
22 ld r4, @r1- || nop ; r1=0x108
23 ld r4, @r1- || nop ; r1=0x106
24
25 cmpeqi r1,#0x106
26 brf0f _ERR ; branch to error
27
28 test_mod_inc_ld:
29 mvtc r2, MOD_S
30 mvtc r3, MOD_E
31 mv r1,r2 ; r1=0x100
32 ld r4, @r1+ || nop ; r1=0x102
33 ld r4, @r1+ || nop ; r1=0x104
34 ld r4, @r1+ || nop ; r1=0x106
35 ld r4, @r1+ || nop ; r1=0x108
36 ld r4, @r1+ || nop ; r1=0x100
37 ld r4, @r1+ || nop ; r1=0x102
38
39 cmpeqi r1,#0x102
40 brf0f _ERR
41
42 test_mod_dec_ld2w:
43 mvtc r2, MOD_E
44 mvtc r3, MOD_S
45 mv r1,r3 ; r1=0x108
46 ld2W r4, @r1- || nop ; r1=0x104
47 ld2W r4, @r1- || nop ; r1=0x100
48 ld2W r4, @r1- || nop ; r1=0x108
49 ld2W r4, @r1- || nop ; r1=0x104
50
51 cmpeqi r1,#0x104
52 brf0f _ERR ; <= branch to error
53
54 test_mod_inc_ld2w:
55 mvtc r2, MOD_S
56 mvtc r3, MOD_E || BCLRI r0, #7
57 mv r1,r2 ; r1=0x100
58 ld2W r4, @r1+ || nop ; r1=0x104
59 ld2W r4, @r1+ || nop ; r1=0x108
60 ld2W r4, @r1+ || nop ; r1=0x100
61 ld2W r4, @r1+ || nop ; r1=0x104
62
63 cmpeqi r1,#0x104
64 brf0f _ERR
65
66 test_mod_dec_ld_dis:
67 mvtc r0, PSW ; modulo mode disable
68 mvtc r2, MOD_E
69 mvtc r3, MOD_S
70 mv r1,r3 ; r1=0x108
71 ld r4, @r1- || nop ; r1=0x106
72 ld r4, @r1- || nop ; r1=0x104
73 ld r4, @r1- || nop ; r1=0x102
74 ld r4, @r1- || nop ; r1=0x100
75 ld r4, @r1- || nop ; r1=0xFE
76 ld r4, @r1- || nop ; r1=0xFC
77
78 cmpeqi r1,#0xFC
79 brf0f _ERR
80
81 test_mod_inc_ld_dis:
82 mvtc r2, MOD_S
83 mvtc r3, MOD_E
84 mv r1,r2 ; r1=0x100
85 ld r4, @r1+ || nop ; r1=0x102
86 ld r4, @r1+ || nop ; r1=0x104
87 ld r4, @r1+ || nop ; r1=0x106
88 ld r4, @r1+ || nop ; r1=0x108
89 ld r4, @r1+ || nop ; r1=0x10A
90 ld r4, @r1+ || nop ; r1=0x10C
91
92 cmpeqi r1,#0x10C
93 brf0f _ERR
94
95 test_mod_dec_ld2w_dis:
96 mvtc r2, MOD_E
97 mvtc r3, MOD_S
98 mv r1,r3 ; r1=0x108
99 ld2W r4, @r1- || nop ; r1=0x104
100 ld2W r4, @r1- || nop ; r1=0x100
101 ld2W r4, @r1- || nop ; r1=0xFC
102 ld2W r4, @r1- || nop ; r1=0xF8
103
104 cmpeqi r1,#0xF8
105 brf0f _ERR
106
107 test_mod_inc_ld2w_dis:
108 mvtc r2, MOD_S
109 mvtc r3, MOD_E
110 mv r1,r2 ; r1=0x100
111 ld2W r4, @r1+ || nop ; r1=0x104
112 ld2W r4, @r1+ || nop ; r1=0x108
113 ld2W r4, @r1+ || nop ; r1=0x10C
114 ld2W r4, @r1+ || nop ; r1=0x110
115
116 cmpeqi r1,#0x110
117 brf0f _ERR
118
119 _OK:
120 exit0
121
122 _ERR:
123 exit47
124
125
126