OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gdb-7.2/] [gdb-7.2-or32-1.0rc1/] [gdb/] [testsuite/] [gdb.reverse/] [i386-sse-reverse.exp] - Blame information for rev 341

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 330 jeremybenn
# Copyright 2009, 2010 Free Software Foundation, Inc.
2
 
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 3 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program.  If not, see .
15
 
16
# This file is part of the gdb testsuite.
17
 
18
#
19
# This test tests some i386 general instructions for reverse execution.
20
#
21
 
22
if ![target_info exists gdb,can_reverse] {
23
    return
24
}
25
 
26
if $tracelevel {
27
    strace $tracelevel
28
}
29
 
30
 
31
if ![istarget "*86*-*linux*"] then {
32
    verbose "Skipping i386 reverse tests."
33
    return
34
}
35
 
36
set testfile "i386-sse-reverse"
37
set srcfile ${testfile}.c
38
set binfile ${objdir}/${subdir}/${testfile}
39
 
40
# some targets have leading underscores on assembly symbols.
41
# TODO: detect this automatically
42
set additional_flags ""
43
if [istarget "i?86-*-cygwin*"] then {
44
  set additional_flags "additional_flags=-DSYMBOL_PREFIX=\"_\""
45
}
46
 
47
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug $additional_flags]] != "" } {
48
    untested i386-sse-reverse
49
    return -1
50
}
51
 
52
set end_of_main          [gdb_get_line_number " end of main "]
53
set end_sse_test         [gdb_get_line_number " end sse_test "]
54
set end_sse4_test         [gdb_get_line_number " end sse4_test "]
55
 
56
# Get things started.
57
 
58
gdb_exit
59
gdb_start
60
gdb_reinitialize_dir $srcdir/$subdir
61
gdb_load ${binfile}
62
runto main
63
 
64
if [target_info exists gdb,use_precord] {
65
    # Activate process record/replay
66
    gdb_test_no_output "record" "Turn on process record"
67
}
68
 
69
global hex
70
global decimal
71
 
72
#sse_test
73
 
74
gdb_test "break $end_sse_test" \
75
    "Breakpoint $decimal at .* line $end_sse_test\." \
76
    "set breakpoint at end of sse_test"
77
 
78
gdb_test "continue" \
79
    " end sse_test .*" \
80
    "continue to end of sse_test"
81
 
82
gdb_test "reverse-step" "xorps.*" "reverse-step to xorps"
83
 
84
gdb_test "info register xmm0" \
85
    "xmm0 .*uint128 = 0x7f007f007fff7fff7f007f007fff7fff.*" \
86
    "verify xmm0 at end of sse_test"
87
 
88
gdb_test "info register xmm1" \
89
    "xmm1 .*uint128 = 0x00ff00ff0000000000ff00ff00000000.*" \
90
    "verify xmm1 at end of sse_test"
91
 
92
gdb_test "info register xmm2" \
93
    "xmm2 .*uint128 = 0x7f007f007f007f007f007f007f007f00.*" \
94
    "verify xmm2 at end of sse_test"
95
 
96
gdb_test "reverse-step" "xorpd.*" "reverse-step to xorpd"
97
 
98
gdb_test "info register xmm0" \
99
    "xmm0 .*uint128 = 0x7f007f007fff7fff7f007f007fff7fff.*" \
100
    "verify xmm0 after reverse xorps"
101
 
102
gdb_test "info register xmm1" \
103
    "xmm1 .*uint128 = 0x7fff7fff7fff7fff7fff7fff7fff7fff.*" \
104
    "verify xmm1 after reverse xorps"
105
 
106
gdb_test "info register xmm2" \
107
    "xmm2 .*uint128 = 0x7f007f007f007f007f007f007f007f00.*" \
108
    "verify xmm2 after reverse xorps"
109
 
110
gdb_test "reverse-step" "unpckhps.*" "reverse-step to unpckhps"
111
 
112
gdb_test "info register xmm0" \
113
    "xmm0 .*uint128 = 0x7fff7fff7fff7fff0108000001400000.*" \
114
    "verify xmm0 after reverse xorpd"
115
 
116
gdb_test "info register xmm1" \
117
    "xmm1 .*uint128 = 0x7fff7fff7fff7fff7fff7fff7fff7fff.*" \
118
    "verify xmm1 after reverse xorpd"
119
 
120
gdb_test "info register xmm2" \
121
    "xmm2 .*uint128 = 0x7f007f007f007f007f007f007f007f00.*" \
122
    "verify xmm2 after reverse xorpd"
123
 
124
gdb_test "reverse-step" "unpckhpd.*" "reverse-step to unpckhpd"
125
 
126
gdb_test "info register xmm0" \
127
    "xmm0 .*uint128 = 0x01080000014000000108000001400000.*" \
128
    "verify xmm0 after reverse unpckhps"
129
 
130
gdb_test "info register xmm1" \
131
    "xmm1 .*uint128 = 0x7fff7fff7fff7fff7fff7fff7fff7fff.*" \
132
    "verify xmm1 after reverse unpckhps"
133
 
134
gdb_test "info register xmm2" \
135
    "xmm2 .*uint128 = 0x7f007f007f007f007f007f007f007f00.*" \
136
    "verify xmm2 after reverse unpckhps"
137
 
138
gdb_test "reverse-step" "ucomiss.*" "reverse-step to ucomiss"
139
 
140
gdb_test "info register xmm0" \
141
    "xmm0 .*uint128 = 0x01080000014000000108000001400000.*" \
142
    "verify xmm0 after reverse unpckhpd"
143
 
144
gdb_test "info register xmm1" \
145
    "xmm1 .*uint128 = 0x7fff7fff7fff7fff7fff7fff7fff7fff.*" \
146
    "verify xmm1 after reverse unpckhpd"
147
 
148
gdb_test "info register xmm2" \
149
    "xmm2 .*uint128 = 0x7f007f007f007f007f007f007f007f00.*" \
150
    "verify xmm2 after reverse unpckhpd"
151
 
152
gdb_test "reverse-step" "ucomisd.*" "reverse-step to ucomisd"
153
 
154
gdb_test "info register xmm0" \
155
    "xmm0 .*uint128 = 0x01080000014000000108000001400000.*" \
156
    "verify xmm0 after reverse ucomiss"
157
 
158
gdb_test "info register xmm1" \
159
    "xmm1 .*uint128 = 0x7fff7fff7fff7fff7fff7fff7fff7fff.*" \
160
    "verify xmm1 after reverse ucomiss"
161
 
162
gdb_test "info register xmm2" \
163
    "xmm2 .*uint128 = 0x7f007f007f007f007f007f007f007f00.*" \
164
    "verify xmm2 after reverse ucomiss"
165
 
166
gdb_test "reverse-step" "packssdw.*" "reverse-step to packssdw"
167
 
168
gdb_test "info register xmm0" \
169
    "xmm0 .*uint128 = 0x01080000014000000108000001400000.*" \
170
    "verify xmm0 after reverse ucomisd"
171
 
172
gdb_test "info register xmm1" \
173
    "xmm1 .*uint128 = 0x01080000014000000108000001400000.*" \
174
    "verify xmm1 after reverse ucomisd"
175
 
176
gdb_test "info register xmm2" \
177
    "xmm2 .*uint128 = 0x7f007f007f007f007f007f007f007f00.*" \
178
    "verify xmm2 after reverse ucomisd"
179
 
180
gdb_test "reverse-step" "packsswb.*" "reverse-step to packsswb"
181
 
182
gdb_test "info register xmm0" \
183
    "xmm0 .*uint128 = 0x01080000014000000108000001400000.*" \
184
    "verify xmm0 after reverse packssdw"
185
 
186
gdb_test "info register xmm1" \
187
    "xmm1 .*uint128 = 0x01080000014000000108000001400000.*" \
188
    "verify xmm1 after reverse packssdw"
189
 
190
gdb_test "info register xmm2" \
191
    "xmm2 .*uint128 = 0x01080000014000000108000001400000.*" \
192
    "verify xmm2 after reverse packssdw"
193
 
194
gdb_test "reverse-step" "pabsd.*" "reverse-step to pabsd"
195
 
196
gdb_test "info register xmm0" \
197
    "xmm0 .*uint128 = 0xfff00000ffc00000fff80000ffc00000.*" \
198
    "verify xmm0 after reverse packsswb"
199
 
200
gdb_test "info register xmm1" \
201
    "xmm1 .*uint128 = 0x01080000014000000108000001400000.*" \
202
    "verify xmm1 after reverse packsswb"
203
 
204
gdb_test "info register xmm2" \
205
    "xmm2 .*uint128 = 0x01080000014000000108000001400000.*" \
206
    "verify xmm2 after reverse packsswb"
207
 
208
gdb_test "reverse-step" "pabsw.*" "reverse-step to pabsw"
209
 
210
gdb_test "info register xmm0" \
211
    "xmm0 .*uint128 = 0xfff00000ffc00000fff80000ffc00000.*" \
212
    "verify xmm0 after reverse pabsd"
213
 
214
gdb_test "info register xmm1" \
215
    "xmm1 .*uint128 = 0xfff80000ffc00000fff80000ffc00000.*" \
216
    "verify xmm1 after reverse pabsd"
217
 
218
gdb_test "info register xmm2" \
219
    "xmm2 .*uint128 = 0x01080000014000000108000001400000.*" \
220
    "verify xmm2 after reverse pabsd"
221
 
222
gdb_test "reverse-step" "pabsb.*" "reverse-step to pabsb"
223
 
224
gdb_test "info register xmm0" \
225
    "xmm0 .*uint128 = 0xfff00000ffc00000fff80000ffc00000.*" \
226
    "verify xmm0 after reverse pabsw"
227
 
228
gdb_test "info register xmm1" \
229
    "xmm1 .*uint128 = 0xfff80000ffc00000fff80000ffc00000.*" \
230
    "verify xmm1 after reverse pabsw"
231
 
232
gdb_test "info register xmm2" \
233
    "xmm2 .*uint128 = 0xfff00000ffc00000fff00000ffc00000.*" \
234
    "verify xmm2 after reverse pabsw"
235
 
236
gdb_test "reverse-step" "orps.*" "reverse-step to orps"
237
 
238
gdb_test "info register xmm0" \
239
    "xmm0 .*uint128 = 0xfff00000ffc00000fff80000ffc00000.*" \
240
    "verify xmm0 after reverse pabsb"
241
 
242
gdb_test "info register xmm1" \
243
    "xmm1 .*uint128 = 0xfff80000ffc00000fff80000ffc00000.*" \
244
    "verify xmm1 after reverse pabsb"
245
 
246
gdb_test "info register xmm2" \
247
    "xmm2 .*uint128 = 0xfff00000ffc00000fff00000ffc00000.*" \
248
    "verify xmm2 after reverse pabsb"
249
 
250
gdb_test "reverse-step" "orpd.*" "reverse-step to orpd"
251
 
252
gdb_test "info register xmm0" \
253
    "xmm0 .*uint128 = 0x0000000000000000fff80000ffc00000.*" \
254
    "verify xmm0 after reverse orps"
255
 
256
gdb_test "info register xmm1" \
257
    "xmm1 .*uint128 = 0xfff80000ffc00000fff80000ffc00000.*" \
258
    "verify xmm1 after reverse orps"
259
 
260
gdb_test "info register xmm2" \
261
    "xmm2 .*uint128 = 0xfff00000ffc00000fff00000ffc00000.*" \
262
    "verify xmm2 after reverse orps"
263
 
264
gdb_test "reverse-step" "mulss.*" "reverse-step to mulss"
265
 
266
gdb_test "info register xmm0" \
267
    "xmm0 .*uint128 = 0x0000000000000000fff80000ffc00000.*" \
268
    "verify xmm0 after reverse orpd"
269
 
270
gdb_test "info register xmm1" \
271
    "xmm1 .*uint128 = 0xfff80000ffc00000fff80000ffc00000.*" \
272
    "verify xmm1 after reverse orpd"
273
 
274
gdb_test "info register xmm2" \
275
    "xmm2 .*uint128 = 0xfff00000ffc00000fff00000ffc00000.*" \
276
    "verify xmm2 after reverse orpd"
277
 
278
gdb_test "reverse-step" "mulsd.*" "reverse-step to mulsd"
279
 
280
gdb_test "info register xmm0" \
281
    "xmm0 .*uint128 = 0x0000000000000000fff80000ffc00000.*" \
282
    "verify xmm0 after reverse mulss"
283
 
284
gdb_test "info register xmm1" \
285
    "xmm1 .*uint128 = 0xfff80000ffc00000fff80000ffc00000.*" \
286
    "verify xmm1 after reverse mulss"
287
 
288
gdb_test "info register xmm2" \
289
    "xmm2 .*uint128 = 0xfff00000ffc00000fff00000ffc00000.*" \
290
    "verify xmm2 after reverse mulss"
291
 
292
gdb_test "reverse-step" "mulps.*" "reverse-step to mulps"
293
 
294
gdb_test "info register xmm0" \
295
    "xmm0 .*uint128 = 0x0000000000000000fff80000ffc00000.*" \
296
    "verify xmm0 after reverse mulsd"
297
 
298
gdb_test "info register xmm1" \
299
    "xmm1 .*uint128 = 0xfff80000ffc00000fff80000ffc00000.*" \
300
    "verify xmm1 after reverse mulsd"
301
 
302
gdb_test "info register xmm2" \
303
    "xmm2 .*uint128 = 0xfff0000000000000fff00000ffc00000.*" \
304
    "verify xmm2 after reverse mulsd"
305
 
306
gdb_test "reverse-step" "mulpd.*" "reverse-step to mulpd"
307
 
308
gdb_test "info register xmm0" \
309
    "xmm0 .*uint128 = 0x0000000000000000fff80000ffc00000.*" \
310
    "verify xmm0 after reverse mulps"
311
 
312
gdb_test "info register xmm1" \
313
    "xmm1 .*uint128 = 0xfff00000ffc00000fff00000ffc00000.*" \
314
    "verify xmm1 after reverse mulps"
315
 
316
gdb_test "info register xmm2" \
317
    "xmm2 .*uint128 = 0xfff0000000000000fff00000ffc00000.*" \
318
    "verify xmm2 after reverse mulps"
319
 
320
gdb_test "reverse-step" "divss.*" "reverse-step to divss"
321
 
322
gdb_test "info register xmm0" \
323
    "xmm0 .*uint128 = 0x0000000000000000fff80000ffc00000.*" \
324
    "verify xmm0 after reverse mulpd"
325
 
326
gdb_test "info register xmm1" \
327
    "xmm1 .*uint128 = 0xfff00000ffc00000fff00000ffc00000.*" \
328
    "verify xmm1 after reverse mulpd"
329
 
330
gdb_test "info register xmm2" \
331
    "xmm2 .*uint128 = 0xfff0000000000000fff0000000000000.*" \
332
    "verify xmm2 after reverse mulpd"
333
 
334
gdb_test "reverse-step" "divsd.*" "reverse-step to divsd"
335
 
336
gdb_test "info register xmm0" \
337
    "xmm0 .*uint128 = 0x00000000000000008000000080000000.*" \
338
    "verify xmm0 after reverse divss"
339
 
340
gdb_test "info register xmm1" \
341
    "xmm1 .*uint128 = 0xfff00000ffc00000fff00000ffc00000.*" \
342
    "verify xmm1 after reverse divss"
343
 
344
gdb_test "info register xmm2" \
345
    "xmm2 .*uint128 = 0xfff0000000000000fff0000000000000.*" \
346
    "verify xmm2 after reverse divss"
347
 
348
gdb_test "reverse-step" "divps.*" "reverse-step to divps"
349
 
350
gdb_test "info register xmm0" \
351
    "xmm0 .*uint128 = 0x00000000000000008000000080000000.*" \
352
    "verify xmm0 after reverse divsd"
353
 
354
gdb_test "info register xmm1" \
355
    "xmm1 .*uint128 = 0x00000000000000000000000080000000.*" \
356
    "verify xmm1 after reverse divsd"
357
 
358
gdb_test "info register xmm2" \
359
    "xmm2 .*uint128 = 0xfff0000000000000fff0000000000000.*" \
360
    "verify xmm2 after reverse divsd"
361
 
362
gdb_test "reverse-step" "divpd.*" "reverse-step to divpd"
363
 
364
gdb_test "info register xmm0" \
365
    "xmm0 .*uint128 = 0x00000000000000008000000080000000.*" \
366
    "verify xmm0 after reverse divps"
367
 
368
gdb_test "info register xmm1" \
369
    "xmm1 .*uint128 = 0x00000000000000000000000080000000.*" \
370
    "verify xmm1 after reverse divps"
371
 
372
gdb_test "info register xmm2" \
373
    "xmm2 .*uint128 = 0xbff0000000000000bff0000000000000.*" \
374
    "verify xmm2 after reverse divps"
375
 
376
gdb_test "reverse-step" "cvtpd2ps.*" "reverse-step to cvtpd2ps"
377
 
378
gdb_test "info register xmm0" \
379
    "xmm0 .*uint128 = 0x00000000000000008000000080000000.*" \
380
    "verify xmm0 after reverse divpd"
381
 
382
gdb_test "info register xmm1" \
383
    "xmm1 .*uint128 = 0xce80200000000000ce80200000000000.*" \
384
    "verify xmm1 after reverse divpd"
385
 
386
gdb_test "info register xmm2" \
387
    "xmm2 .*uint128 = 0xbff0000000000000bff0000000000000.*" \
388
    "verify xmm2 after reverse divpd"
389
 
390
gdb_test "reverse-step" "cvtpd2dq.*" "reverse-step to cvtpd2dq"
391
 
392
gdb_test "info register xmm0" \
393
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a090807060504ffffffff.*" \
394
    "verify xmm0 after reverse cvtpd2ps"
395
 
396
gdb_test "info register xmm1" \
397
    "xmm1 .*uint128 = 0xce80200000000000ce80200000000000.*" \
398
    "verify xmm1 after reverse cvtpd2ps"
399
 
400
gdb_test "info register xmm2" \
401
    "xmm2 .*uint128 = 0xbff0000000000000bff0000000000000.*" \
402
    "verify xmm2 after reverse cvtpd2ps"
403
 
404
gdb_test "reverse-step" "cvtdq2ps.*" "reverse-step to cvtdq2ps"
405
 
406
gdb_test "info register xmm0" \
407
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a090807060504ffffffff.*" \
408
    "verify xmm0 after reverse cvtpd2dq"
409
 
410
gdb_test "info register xmm1" \
411
    "xmm1 .*uint128 = 0x0000000000000000ffffffffffffffff.*" \
412
    "verify xmm1 after reverse cvtpd2dq"
413
 
414
gdb_test "info register xmm2" \
415
    "xmm2 .*uint128 = 0xbff0000000000000bff0000000000000.*" \
416
    "verify xmm2 after reverse cvtpd2dq"
417
 
418
gdb_test "reverse-step" "cvtdq2pd.*" "reverse-step to cvtdq2pd"
419
 
420
gdb_test "info register xmm0" \
421
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a090807060504ffffffff.*" \
422
    "verify xmm0 after reverse cvtdq2ps"
423
 
424
gdb_test "info register xmm1" \
425
    "xmm1 .*uint128 = 0x0000000000000000ffffffffffffffff.*" \
426
    "verify xmm1 after reverse cvtdq2ps"
427
 
428
gdb_test "info register xmm2" \
429
    "xmm2 .*uint128 = 0xffffffffffffffffffffffff00000000.*" \
430
    "verify xmm2 after reverse cvtdq2ps"
431
 
432
gdb_test "reverse-step" "comiss.*" "reverse-step to comiss"
433
 
434
gdb_test "info register xmm0" \
435
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a090807060504ffffffff.*" \
436
    "verify xmm0 after reverse cvtdq2pd"
437
 
438
gdb_test "info register xmm1" \
439
    "xmm1 .*uint128 = 0x0000000000000000ffffffffffffffff.*" \
440
    "verify xmm1 after reverse cvtdq2pd"
441
 
442
gdb_test "info register xmm2" \
443
    "xmm2 .*uint128 = 0xffffffffffffffffffffffff00000000.*" \
444
    "verify xmm2 after reverse cvtdq2pd"
445
 
446
gdb_test "reverse-step" "comisd.*" "reverse-step to comisd"
447
 
448
gdb_test "info register xmm0" \
449
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a090807060504ffffffff.*" \
450
    "verify xmm0 after reverse comiss"
451
 
452
gdb_test "info register xmm1" \
453
    "xmm1 .*uint128 = 0x0000000000000000ffffffffffffffff.*" \
454
    "verify xmm1 after reverse comiss"
455
 
456
gdb_test "info register xmm2" \
457
    "xmm2 .*uint128 = 0xffffffffffffffffffffffff00000000.*" \
458
    "verify xmm2 after reverse comiss"
459
 
460
gdb_test "reverse-step" "cmpss.*" "reverse-step to cmpss"
461
 
462
gdb_test "info register xmm0" \
463
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050423222120.*" \
464
    "verify xmm0 after reverse comisd"
465
 
466
gdb_test "info register xmm1" \
467
    "xmm1 .*uint128 = 0x0000000000000000ffffffffffffffff.*" \
468
    "verify xmm1 after reverse comisd"
469
 
470
gdb_test "info register xmm2" \
471
    "xmm2 .*uint128 = 0xffffffffffffffffffffffff00000000.*" \
472
    "verify xmm2 after reverse comisd"
473
 
474
gdb_test "reverse-step" "cmpsd.*" "reverse-step to cmpsd"
475
 
476
gdb_test "info register xmm0" \
477
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050423222120.*" \
478
    "verify xmm0 after reverse cmpss"
479
 
480
gdb_test "info register xmm1" \
481
    "xmm1 .*uint128 = 0x00000000000000000000000000000000.*" \
482
    "verify xmm1 after reverse cmpss"
483
 
484
gdb_test "info register xmm2" \
485
    "xmm2 .*uint128 = 0xffffffffffffffffffffffff00000000.*" \
486
    "verify xmm2 after reverse cmpss"
487
 
488
gdb_test "reverse-step" "cmpps.*" "reverse-step to cmpps"
489
 
490
gdb_test "info register xmm0" \
491
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050423222120.*" \
492
    "verify xmm0 after reverse cmpsd"
493
 
494
gdb_test "info register xmm1" \
495
    "xmm1 .*uint128 = 0x00000000000000000000000000000000.*" \
496
    "verify xmm1 after reverse cmpsd"
497
 
498
gdb_test "info register xmm2" \
499
    "xmm2 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
500
    "verify xmm2 after reverse cmpsd"
501
 
502
gdb_test "reverse-step" "cmppd.*" "reverse-step to cmppd"
503
 
504
gdb_test "info register xmm0" \
505
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050423222120.*" \
506
    "verify xmm0 after reverse cmpps"
507
 
508
gdb_test "info register xmm1" \
509
    "xmm1 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
510
    "verify xmm1 after reverse cmpps"
511
 
512
gdb_test "info register xmm2" \
513
    "xmm2 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
514
    "verify xmm2 after reverse cmpps"
515
 
516
gdb_test "reverse-step" "andps.*" "reverse-step to andps"
517
 
518
gdb_test "info register xmm0" \
519
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050423222120.*" \
520
    "verify xmm0 after reverse cmppd"
521
 
522
gdb_test "info register xmm1" \
523
    "xmm1 .*uint128 = 0x1f1e1d1c1b1a19182726252400000000.*" \
524
    "verify xmm1 after reverse cmppd"
525
 
526
gdb_test "info register xmm2" \
527
    "xmm2 .*uint128 = 0x0f0e0d0c0b0a09082726252400000000.*" \
528
    "verify xmm2 after reverse cmppd"
529
 
530
gdb_test "reverse-step" "andpd.*" "reverse-step to andpd"
531
 
532
gdb_test "info register xmm0" \
533
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050423222120.*" \
534
    "verify xmm0 after reverse andps"
535
 
536
gdb_test "info register xmm1" \
537
    "xmm1 .*uint128 = 0x1f1e1d1c1b1a19182726252400000000.*" \
538
    "verify xmm1 after reverse andps"
539
 
540
gdb_test "info register xmm2" \
541
    "xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
542
    "verify xmm2 after reverse andps"
543
 
544
gdb_test "reverse-step" "addsubps.*" "reverse-step to addsubps"
545
 
546
gdb_test "info register xmm0" \
547
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050423222120.*" \
548
    "verify xmm0 after reverse andpd"
549
 
550
gdb_test "info register xmm1" \
551
    "xmm1 .*uint128 = 0x1f1e1d1c1b1a19182726252423222120.*" \
552
    "verify xmm1 after reverse andpd"
553
 
554
gdb_test "info register xmm2" \
555
    "xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
556
    "verify xmm2 after reverse andpd"
557
 
558
gdb_test "reverse-step" "addsubpd.*" "reverse-step to addsubpd"
559
 
560
gdb_test "info register xmm0" \
561
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050423222120.*" \
562
    "verify xmm0 after reverse addsubps"
563
 
564
gdb_test "info register xmm1" \
565
    "xmm1 .*uint128 = 0x1f1e1d1c1b1a19182726252423222120.*" \
566
    "verify xmm1 after reverse addsubps"
567
 
568
gdb_test "info register xmm2" \
569
    "xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
570
    "verify xmm2 after reverse addsubps"
571
 
572
gdb_test "reverse-step" "addss.*" "reverse-step to addss"
573
 
574
gdb_test "info register xmm0" \
575
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050403020100.*" \
576
    "verify xmm0 after reverse addsubpd"
577
 
578
gdb_test "info register xmm1" \
579
    "xmm1 .*uint128 = 0x1f1e1d1c1b1a19182726252423222120.*" \
580
    "verify xmm1 after reverse addsubpd"
581
 
582
gdb_test "info register xmm2" \
583
    "xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
584
    "verify xmm2 after reverse addsubpd"
585
 
586
gdb_test "reverse-step" "addsd.*" "reverse-step to addsd"
587
 
588
gdb_test "info register xmm0" \
589
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050403020100.*" \
590
    "verify xmm0 after reverse addss"
591
 
592
gdb_test "info register xmm1" \
593
    "xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \
594
    "verify xmm1 after reverse addss"
595
 
596
gdb_test "info register xmm2" \
597
    "xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
598
    "verify xmm2 after reverse addss"
599
 
600
gdb_test "reverse-step" "addps.*" "reverse-step to addps"
601
 
602
gdb_test "info register xmm0" \
603
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050403020100.*" \
604
    "verify xmm0 after reverse addsd"
605
 
606
gdb_test "info register xmm1" \
607
    "xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \
608
    "verify xmm1 after reverse addsd"
609
 
610
gdb_test "info register xmm2" \
611
    "xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
612
    "verify xmm2 after reverse addsd"
613
 
614
gdb_test "reverse-step" "addpd.*" "reverse-step to addpd"
615
 
616
gdb_test "info register xmm0" \
617
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050403020100.*" \
618
    "verify xmm0 after reverse addps"
619
 
620
gdb_test "info register xmm1" \
621
    "xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \
622
    "verify xmm1 after reverse addps"
623
 
624
gdb_test "info register xmm2" \
625
    "xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
626
    "verify xmm2 after reverse addps"
627
 
628
 
629
#sse4_test
630
 
631
send_gdb "continue\n"
632
 
633
gdb_test "break $end_sse4_test" \
634
    "Breakpoint $decimal at .* line $end_sse4_test\." \
635
    "set breakpoint at end of sse4_test"
636
 
637
send_gdb "continue\n"
638
gdb_expect {
639
    -re " end sse4_test .*" {
640
        pass "continue to end of sse4_test"
641
    }
642
    -re " Illegal instruction.*" {
643
        untested i386-sse4-reverse
644
        return -1
645
    }
646
}
647
 
648
gdb_test "reverse-step" "blendvps.*" "reverse-step to blendvps"
649
 
650
gdb_test "info register xmm0" \
651
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a09082726252413121110.*" \
652
    "verify xmm0 at end of sse4_test"
653
 
654
gdb_test "info register xmm1" \
655
    "xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \
656
    "verify xmm1 at end of sse4_test"
657
 
658
gdb_test "info register xmm2" \
659
    "xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
660
    "verify xmm2 at end of sse4_test"
661
 
662
gdb_test "reverse-step" "blendvpd.*" "reverse-step to blendvpd"
663
 
664
gdb_test "info register xmm0" \
665
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a09082726252413121110.*" \
666
    "verify xmm0 after reverse blendvps"
667
 
668
gdb_test "info register xmm1" \
669
    "xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \
670
    "verify xmm1 after reverse blendvps"
671
 
672
gdb_test "info register xmm2" \
673
    "xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
674
    "verify xmm2 after reverse blendvps"
675
 
676
gdb_test "reverse-step" "blendps.*" "reverse-step to blendps"
677
 
678
gdb_test "info register xmm0" \
679
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a09081716151413121110.*" \
680
    "verify xmm0 after reverse blendvpd"
681
 
682
gdb_test "info register xmm1" \
683
    "xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \
684
    "verify xmm1 after reverse blendvpd"
685
 
686
gdb_test "info register xmm2" \
687
    "xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
688
    "verify xmm2 after reverse blendvpd"
689
 
690
gdb_test "reverse-step" "blendpd.*" "reverse-step to blendpd"
691
 
692
gdb_test "info register xmm0" \
693
    "xmm0 .*uint128 = 0x0f0e0d0c0b0a09080706050403020100.*" \
694
    "verify xmm0 after reverse blendps"
695
 
696
gdb_test "info register xmm1" \
697
    "xmm1 .*uint128 = 0x1f1e1d1c1b1a19181716151413121110.*" \
698
    "verify xmm1 after reverse blendps"
699
 
700
gdb_test "info register xmm2" \
701
    "xmm2 .*uint128 = 0x2f2e2d2c2b2a29282726252423222120.*" \
702
    "verify xmm2 after reverse blendps"

powered by: WebSVN 2.1.0

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