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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [gas/] [testsuite/] [gas/] [i386/] [general.s] - Blame information for rev 816

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 julius
.psize 0
2
.text
3
#test jumps and calls
4
1:      jmp     1b
5
        jmp     xxx
6
        jmp     *xxx
7
        jmp     xxx(,1)
8
        jmp     *%edi
9
        jmp     %edi
10
        jmp     *(%edi)
11
        jmp     (%edi)
12
        ljmp    *xxx(,%edi,4)
13
        ljmp    xxx(,%edi,4)
14
        ljmp    *xxx
15
        ljmp    xxx(,1)
16
        ljmp    $0x1234,$xxx
17
 
18
        call    1b
19
        call    xxx
20
        call    *xxx
21
        call    xxx(,1)
22
        call    *%edi
23
        call    %edi
24
        call    *(%edi)
25
        call    (%edi)
26
        lcall   *xxx(,%edi,4)
27
        lcall   xxx(,%edi,4)
28
        lcall   *xxx
29
        lcall   xxx(,1)
30
        lcall   $0x1234,$xxx
31
 
32
# test various segment reg insns
33
        push    %ds
34
        pushl   %ds
35
        pop     %ds
36
        popl    %ds
37
        mov     %ds,%eax
38
        movl    %ds,%eax
39
        movl    %ds,%ax
40
        mov     %eax,%ds
41
        movl    %ax,%ds
42
        movl    %eax,%ds
43
 
44
        pushw   %ds
45
        popw    %ds
46
        mov     %ds,%ax
47
        movw    %ds,%ax
48
        movw    %ds,%eax
49
        mov     %ax,%ds
50
        movw    %ax,%ds
51
        movw    %eax,%ds
52
 
53
# test various pushes
54
        pushl   $10
55
        pushw   $10
56
        push    $10
57
        pushl   $1000
58
        pushw   $1000
59
        push    $1000
60
        pushl   1f
61
        pushw   1f
62
        push    1f
63
        push    (1f-.)(%ebx)
64
        push    1f-.
65
# these, and others like them should have no operand size prefix
66
1:      lldt    %cx
67
        lmsw    %ax
68
 
69
# Just to make sure these don't become illegal due to over-enthusiastic
70
# register checking
71
        movsbw  %al,%di
72
        movsbl  %al,%ecx
73
        movswl  %ax,%ecx
74
        movzbw  %al,%di
75
        movzbl  %al,%ecx
76
        movzwl  %ax,%ecx
77
 
78
        in      %dx,%al
79
        in      %dx,%ax
80
        in      %dx,%eax
81
        in      (%dx),%al
82
        in      (%dx),%ax
83
        in      (%dx),%eax
84
        inb     %dx,%al
85
        inw     %dx,%ax
86
        inl     %dx,%eax
87
        inb     %dx
88
        inw     %dx
89
        inl     %dx
90
        inb     $255
91
        inw     $2
92
        inl     $4
93
        in      $13, %ax
94
        out     %al,%dx
95
        out     %ax,%dx
96
        out     %eax,%dx
97
        out     %al,(%dx)
98
        out     %ax,(%dx)
99
        out     %eax,(%dx)
100
        outb    %al,%dx
101
        outw    %ax,%dx
102
        outl    %eax,%dx
103
        outb    %dx
104
        outw    %dx
105
        outl    %dx
106
        outb    $255
107
        outw    $2
108
        outl    $4
109
        out     %ax, $13
110
# These are used in AIX.
111
        inw     (%dx)
112
        outw    (%dx)
113
 
114
        movsb
115
        cmpsw
116
        scasl
117
        xlatb
118
        movsl   %cs:(%esi),%es:(%edi)
119
        setae   (%ebx)
120
        setaeb  (%ebx)
121
        setae   %al
122
 
123
#these should give warnings
124
        orb     $1,%ax
125
        orb     $1,%eax
126
        orb     $1,%bx
127
        orb     $1,%ebx
128
        fldl    %st(1)
129
        fstl    %st(2)
130
        fstpl   %st(3)
131
        fcoml   %st(4)
132
        fcompl  %st(5)
133
        faddp   %st(1),%st
134
        fmulp   %st(2),%st
135
        fsubp   %st(3),%st
136
        fsubrp  %st(4),%st
137
        fdivp   %st(5),%st
138
        fdivrp  %st(6),%st
139
        fadd
140
        fsub
141
        fmul
142
        fdiv
143
        fsubr
144
        fdivr
145
#these should all be legal
146
        btl     %edx, 0x123456
147
        btl     %edx, %eax
148
        orb     $1,%al
149
        orb     $1,%bl
150
        movl    17,%eax
151
        mov     17,%eax
152
        inw     %dx,%ax
153
        inl     %dx,%eax
154
        inw     (%dx),%ax
155
        inl     (%dx),%eax
156
        in      (%dx),%al
157
        in      (%dx),%ax
158
        in      (%dx),%eax
159
        movzbl  (%edi,%esi),%edx
160
        movzbl  28(%ebp),%eax
161
        movzbl  %al,%eax
162
        movzbl  %cl,%esi
163
        xlat    %es:(%ebx)
164
        xlat
165
        xlatb
166
1:      fstp    %st(0)
167
        loop    1b
168
        divb    %cl
169
        divw    %cx
170
        divl    %ecx
171
        div     %cl
172
        div     %cx
173
        div     %ecx
174
        div     %cl,%al
175
        div     %cx,%ax
176
        div     %ecx,%eax
177
        mov     %si,%ds
178
        movl    %si,%ds         # warning here
179
        pushl   %ds
180
        push    %ds
181
        mov     0,%al
182
        mov     0x10000,%ax
183
        mov     %eax,%ebx
184
        pushf
185
        pushfl
186
        pushfw
187
        popf
188
        popfl
189
        popfw
190
        mov     %esi,(,%ebx,1)
191
        andb    $~0x80,foo
192
 
193
        and     $0xfffe,%ax
194
        and     $0xff00,%ax
195
        and     $0xfffe,%eax
196
        and     $0xff00,%eax
197
        and     $0xfffffffe,%eax
198
 
199
.code16
200
        and     $0xfffe,%ax
201
        and     $0xff00,%ax
202
        and     $0xfffe,%eax
203
        and     $0xff00,%eax
204
        and     $0xfffffffe,%eax
205
 
206
#check 16-bit code auto address prefix
207
.code16gcc
208
        leal    -256(%ebp),%edx
209
        mov     %al,-129(%ebp)
210
        mov     %ah,-128(%ebp)
211
        leal    -1760(%ebp),%ebx
212
        movl    %eax,140(%esp)
213
 
214
.code32
215
# Make sure that we won't remove movzb by accident.
216
        movzb   %al,%di
217
        movzb   %al,%ecx
218
 
219
        # Force a good alignment.
220
        .p2align        4,0

powered by: WebSVN 2.1.0

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