OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [VER_5_3/] [gdb-5.3/] [sim/] [testsuite/] [d30v-elf/] [do-shifts.S] - Blame information for rev 1783

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1181 sfurman
        # Test macro
2
 
3
        .macro assert reg,value
4
        cmpeq f0,\reg,\value
5
        bra/fx fail
6
        .endm
7
 
8
 
9
        # PR 14580 - a.s
10
 
11
        add  r8,r0,0x11112222
12
        add  r9,r0,-32
13
        sra r1,r8,r9            ||nop
14
        sra r2,r8,-32           ||nop
15
        srl r3,r8,r9            ||nop
16
        srl r4,r8,-32           ||nop
17
 
18
        assert r1, 0
19
        assert r2, 0
20
        assert r3, 0
21
        assert r4, 0
22
 
23
 
24
        # PR 17266 - a.s
25
 
26
        add r20, r0, 0xffffffff
27
        add r21, r0, 0xffffffff
28
        add r22, r0, 0xffffffff
29
        add r23, r0, 0xffffffff
30
        add r1, r0, 0x12345678
31
        add r2, r0, -33
32
        srahh r20, r1, r2
33
        srahl r21, r1, r2
34
        srlhh r22, r1, r2
35
        srlhl r23, r1, r2
36
        sra r24, r1, r2
37
        srl r25, r1, r2
38
        rot r26, r1, r2
39
 
40
        assert r20, 0xacf0ffff
41
        assert r21, 0xffffacf0
42
        assert r22, 0xacf0ffff
43
        assert r23, 0xffffacf0
44
        assert r24, 0x2468acf0
45
        assert r25, 0x2468acf0
46
        assert r26, 0x2468acf0
47
 
48
 
49
        # PR 17266 - a2.s
50
 
51
        add r20, r0, 0xffffffff
52
        add r21, r0, 0xffffffff
53
        add r22, r0, 0xffffffff
54
        add r23, r0, 0xffffffff
55
        add r1, r0, 0x12345678
56
        add r2, r0, -17
57
        sra2h r20, r1, r2
58
        srl2h r21, r1, r2
59
        rot2h r22, r1, r2
60
 
61
        assert r20, 0x2468acf0
62
        assert r21, 0x2468acf0
63
        assert r22, 0x2468acf0
64
 
65
 
66
        # PR 17685 - a.s
67
 
68
        add r20,r0,r0
69
        add r21,r0,r0
70
        add r22,r0,r0
71
        add r23,r0,r0
72
        add r24,r0,r0
73
        add r25,r0,r0
74
        add r30,r0,r0
75
        add r31,r0,r0
76
 
77
        add  r8,r0,0x55555555
78
        add  r9,r0,0x1f
79
        sra r20,r8,r9 ||nop
80
        srl r21,r8,r9 ||nop
81
        srahh r22,r8,r9 ||nop
82
        srahl r23,r8,r9 ||nop
83
        srlhh r24,r8,r9 ||nop
84
        srlhl r25,r8,r9 ||nop
85
 
86
        add  r8,r0,0x5555aaaa
87
        add  r9,r0,0x000ffff1
88
        sra2h r30,r8,r9 ||nop
89
        srl2h r31,r8,r9 ||nop
90
 
91
        assert  r20, 0
92
        assert  r21, 0
93
        assert  r22, 0
94
        assert  r23, 0
95
        assert  r24, 0
96
        assert  r25, 0
97
        assert  r30, 0
98
        assert  r31, 0
99
 
100
 
101
        # PR 18196 - a.s
102
 
103
        add r1,r0,0xfedcba98
104
        add r2,r0,0x76543210
105
        add r3,r0,0x41
106
        add r4,r0,1
107
        nop                      || mvtacc a0 r1,r2
108
        nop                      || mvfacc r10,a0 r3
109
        nop                      || mvfacc r11,a0 r4
110
 
111
        assert r10, 0x3b2a1908
112
        assert r11, 0x3b2a1908
113
 
114
 
115
        # PR 18329 - a.s
116
 
117
        add r10,r0,0  || add r2,r0,-1
118
        add r11,r0,0  || add r12,r0,0
119
        add r13,r0,0  || add r14,r0,0
120
        add r15,r0,0  || add r16,r0,0
121
        add r17,r0,0  || add r18,r0,0
122
 
123
        add r3,r0,0x00000020    ; 32
124
        src r10,r2,r3
125
        add r3,r0,0x00000021    ; 33
126
        src r11,r2,r3
127
        add r3,r0,0x0000003f    ; 63
128
        src r12,r2,r3
129
        add r3,r0,0x00000040    ;64
130
        src r13,r2,r3
131
        add r3,r0,0x00000041    ;65
132
        src r14,r2,r3
133
 
134
        add r3,r0,0xffffffdf    ;-33
135
        src r15,r2,r3
136
        add r3,r0,0xffffffc1    ;-63
137
        src r16,r2,r3
138
        add r3,r0,0xffffffc0    ;-64
139
        src r17,r2,r3
140
        add r3,r0,0xffffffbf    ;-65
141
        src r18,r2,r3
142
 
143
        assert r10, 0x00000000
144
        assert r11, 0x80000000
145
        assert r12, 0xfffffffe
146
        assert r13, 0x00000000
147
        assert r14, 0x80000000
148
        assert r15, 0x00000001
149
        assert r16, 0x7fffffff
150
        assert r17, 0xffffffff
151
        assert r18, 0x00000001
152
 
153
 
154
        # PR 18364 - b.s
155
 
156
        add r1,r0,0x12345678
157
        add r2,r0,0x9abcdef0
158
        add r3,r0,0xffffffe0 ; -32
159
        add r4,r0,0xffffffc0 ; -64
160
        src r1,r2,r3 ||nop
161
        add r10,r1,r0 ||nop
162
        add r1,r0,0x12345678
163
        src r1,r2,r4 ||nop
164
        add r11,r1,r0 ||nop
165
 
166
        assert r10, 0x9abcdef0
167
        assert r11, 0x9abcdef0
168
 
169
 
170
        # all okay
171
 
172
        bra     ok
173
 
174
ok:
175
        add r2, r0, 0
176
        .long 0x0e000004
177
        nop
178
 
179
fail:
180
        add r2, r0, 47
181
        .long 0x0e000004
182
        nop

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.