Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | /************************************************************************ |
2 | Test case code start | |
3 | ************************************************************************/ | |
4 | ||
5 | .text | |
6 | .global main_th_8 | |
7 | .global main_th_9 | |
8 | .global main_th_10 | |
9 | .global main_th_11 | |
10 | .global main_th_12 | |
11 | .global main_th_13 | |
12 | .global main_th_14 | |
13 | .global main_th_15 | |
14 | ||
15 | ! | |
16 | ! Thread 0 Start | |
17 | ! | |
18 | main_th_8: | |
19 | TEST | |
20 | setx t8_data_area, %g1, %l7 | |
21 | setx t8_blk_area,%g1,%g5; | |
22 | setx 0x5555555555555555, %g3, %g4 | |
23 | ||
24 | !# Enable PMU to count instructions... | |
25 | setx t8_t14_perf,%g3,%g6; | |
26 | ldx [%g6],%g6; | |
27 | wr %g0, %g0, %pic | |
28 | wr %g6, %g0, %pcr | |
29 | ||
30 | !# Make sure FP trap enables are off... | |
31 | ||
32 | stx %g0, [%l7] | |
33 | ldx [%l7], %fsr | |
34 | ||
35 | stx %g4, [%l7] | |
36 | ldd [%l7], %f6 | |
37 | fxtod %f6, %f0 | |
38 | fxtod %f6, %f2 | |
39 | ||
40 | ||
41 | !# Execute Main Diag .. | |
42 | setx loop_cnt_4, %g2,%g1 !msa | |
43 | set 0x0, %g2 | |
44 | addcc %g0, 0x0, %g3 | |
45 | setx 0xffffffffffffffff, %g2, %l2 | |
46 | t8_start: | |
47 | xor %l1, %l2, %l1 | |
48 | !#add %l0, 0x1efe, %l0 | |
49 | add %l0, -0xefe, %l0 | |
50 | fmuld %f0, %f2, %f4 | |
51 | ldd [%l7], %f6 | |
52 | ||
53 | !stb %g0,[%g5] | |
54 | ||
55 | xor %l1, %l2, %l1 | |
56 | add %l0, -0xefe, %l0 | |
57 | fmuld %f0, %f2, %f4 | |
58 | ldd [%l7], %f6 | |
59 | ||
60 | bpos %xcc,t8_start | |
61 | subcc %g1,1,%g1 | |
62 | ||
63 | setx t8_perf_cnt,%g1,%g2 | |
64 | rd %pic,%g1; | |
65 | stx %g1,[%g2]; | |
66 | EXIT_GOOD | |
67 | ||
68 | ! | |
69 | ! Thread 1 Start | |
70 | ! | |
71 | main_th_9: | |
72 | TEST | |
73 | setx t9_data_area, %g1, %l7 | |
74 | setx t9_blk_area,%g1,%g5; | |
75 | ||
76 | !# Initialize registers .. | |
77 | !# Enable PMU to count instructions... | |
78 | setx t8_t14_perf,%g3,%g6; | |
79 | ldx [%g6],%g6; | |
80 | !#setx 0x17f85fe7, %g3, %g6 | |
81 | wr %g0, %g0, %pic | |
82 | wr %g6, %g0, %pcr | |
83 | ||
84 | !# Make sure FP trap enables are off... | |
85 | stx %g0, [%l7] | |
86 | ldx [%l7], %fsr | |
87 | ||
88 | setx 0xf0f0f0abcdef9fff, %g3, %g4 | |
89 | stx %g4, [%l7] | |
90 | ldd [%l7], %f6 | |
91 | fxtod %f6, %f0 | |
92 | fxtod %f6, %f2 | |
93 | ||
94 | !# Execute Main Diag .. | |
95 | setx loop_cnt_3, %g2, %g1 | |
96 | set 0x0, %g2 | |
97 | addcc %g0, 0x0, %g3 | |
98 | setx 0xffffffffffffffff, %g2, %l2 | |
99 | ba,a t9_start | |
100 | .align 32 | |
101 | t9_start: | |
102 | ||
103 | !addcc %g1,-0xfff,%g1 | |
104 | ||
105 | ldd [%l7], %f6 | |
106 | fmuld %f0, %f2, %f4 | |
107 | add %l0, -0xefe, %l0 | |
108 | xor %l1, %l2, %l1 | |
109 | ||
110 | !stxa %l2,[%g5] 0xe2 | |
111 | stb %l2,[%g5] | |
112 | ||
113 | ldd [%l7], %f6 | |
114 | fmuld %f0, %f2, %f4 | |
115 | add %l0, -0xefe, %l0 | |
116 | xor %l1, %l2, %l1 | |
117 | ||
118 | bpos %xcc,t9_start | |
119 | !addcc %g1,-0xfff,%g1 | |
120 | subcc %g1,1,%g1 | |
121 | ||
122 | setx t9_perf_cnt,%g1,%g2 | |
123 | rd %pic,%g1; | |
124 | stx %g1,[%g2]; | |
125 | EXIT_GOOD | |
126 | ||
127 | ! | |
128 | ! Thread 2 T2_Start | |
129 | ! | |
130 | main_th_10: | |
131 | TEST | |
132 | setx t10_data_area, %g1, %l7 | |
133 | setx t10_blk_area,%g1,%g5; | |
134 | ||
135 | !# Initialize registers .. | |
136 | !# Enable PMU to count instructions... | |
137 | setx t8_t14_perf,%g3,%g6; | |
138 | ldx [%g6],%g6; | |
139 | !#setx 0x17f85fe7, %g3, %g6 | |
140 | wr %g0, %g0, %pic | |
141 | wr %g6, %g0, %pcr | |
142 | ||
143 | !# Make sure FP trap enables are off... | |
144 | stx %g0, [%l7] | |
145 | ldx [%l7], %fsr | |
146 | ||
147 | setx 0xefefefdcdcababab, %g3, %g4 | |
148 | stx %g4, [%l7] | |
149 | ldd [%l7], %f6 | |
150 | fxtod %f6, %f0 | |
151 | fxtod %f6, %f2 | |
152 | ||
153 | ||
154 | !# Execute Main Diag .. | |
155 | setx loop_cnt_3, %g2, %g1 | |
156 | set 0x0, %g2 | |
157 | addcc %g0, 0x0, %g3 | |
158 | ba,a t10_start | |
159 | .align 32 | |
160 | t10_start: | |
161 | ldx [%l7], %l5 | |
162 | fmuld %f0, %f2, %f4 | |
163 | fmuld %f0, %f2, %f4 | |
164 | fmuld %f0, %f2, %f4 | |
165 | add %l0, -0xefe, %l0 | |
166 | xor %l1, %l2, %l1 | |
167 | stb %g0,[%g5] | |
168 | ||
169 | ldd [%l7], %f6 | |
170 | fmuld %f0, %f2, %f4 | |
171 | add %l0, -0xefe, %l0 | |
172 | xor %l1, %l2, %l1 | |
173 | ||
174 | bpos %xcc, t10_start | |
175 | !addcc %g1,-0xfff,%g1 | |
176 | subcc %g1,1,%g1 | |
177 | setx t10_perf_cnt,%g1,%g2 | |
178 | rd %pic,%g1; | |
179 | stx %g1,[%g2]; | |
180 | EXIT_GOOD | |
181 | ||
182 | ! | |
183 | ! Thread 3 T2_Start | |
184 | ! | |
185 | main_th_11: | |
186 | TEST | |
187 | setx t11_data_area, %g1, %l7 | |
188 | setx t11_blk_area,%g1,%g5; | |
189 | ||
190 | !# Initialize registers .. | |
191 | !# Enable PMU to count instructions... | |
192 | setx t8_t14_perf,%g3,%g6; | |
193 | ldx [%g6],%g6; | |
194 | !#setx 0x17f85fe7, %g3, %g6 | |
195 | wr %g0, %g0, %pic | |
196 | wr %g6, %g0, %pcr | |
197 | ||
198 | !# Make sure FP trap enables are off... | |
199 | stx %g0, [%l7] | |
200 | ldx [%l7], %fsr | |
201 | ||
202 | setx 0xf9f8f7f6f5f4f3f2, %g3, %g4 | |
203 | stx %g4, [%l7] | |
204 | ldd [%l7], %f6 | |
205 | fxtod %f6, %f0 | |
206 | fxtod %f6, %f2 | |
207 | ||
208 | ||
209 | !# Execute Main Diag .. | |
210 | setx loop_cnt_2, %g2, %g1 | |
211 | set 0x0, %g2 | |
212 | addcc %g0, 0x0, %g3 | |
213 | ba,a t11_start | |
214 | .align 32 | |
215 | t11_start: | |
216 | xor %l1, %l2, %l1 | |
217 | add %l0, -0xefe, %l0 | |
218 | ldx [%l7], %l5 | |
219 | !# fmuld %f0, %f2, %f4 | |
220 | ||
221 | !stb %g0,[%g5] | |
222 | xor %l1, %l2, %l1 | |
223 | add %l0, -0xefe, %l0 | |
224 | ldd [%l7], %f6 | |
225 | !# fmuld %f0, %f2, %f4 | |
226 | ||
227 | bpos %xcc,t11_start | |
228 | !addcc %g1,-0xfff,%g1 | |
229 | subcc %g1,1,%g1 | |
230 | setx t11_perf_cnt,%g1,%g2 | |
231 | rd %pic,%g1; | |
232 | stx %g1,[%g2]; | |
233 | EXIT_GOOD | |
234 | ||
235 | ! | |
236 | ! Thread 4 T3_Start | |
237 | ! | |
238 | main_th_12: | |
239 | TEST | |
240 | setx t12_data_area, %g1, %l7 | |
241 | setx t12_blk_area,%g1,%g5; | |
242 | ||
243 | !# Initialize registers .. | |
244 | !# Enable PMU to count instructions... | |
245 | setx t8_t14_perf,%g3,%g6; | |
246 | ldx [%g6],%g6; | |
247 | !#setx 0x17f85fe7, %g3, %g6 | |
248 | wr %g0, %g0, %pic | |
249 | wr %g6, %g0, %pcr | |
250 | ||
251 | ||
252 | !# Make sure trap enables are off... | |
253 | !# Global registers | |
254 | setx 0xaaaaaaaaaaaaaaaa, %g3, %g4 | |
255 | stx %g0, [%l7] | |
256 | ldx [%l7], %fsr | |
257 | ||
258 | stx %g4, [%l7] | |
259 | ldd [%l7], %f6 | |
260 | fxtod %f6, %f0 | |
261 | fxtod %f6, %f2 | |
262 | ||
263 | ||
264 | !# Execute Main Diag .. | |
265 | setx loop_cnt, %g2, %g1 | |
266 | set 0x0, %g2 | |
267 | addcc %g0, 0x0, %g3 | |
268 | t12_start: | |
269 | ldx [%l7], %l5 | |
270 | fmuld %f0, %f2, %f4 | |
271 | !# add %l0, -0xemv, %l0 | |
272 | xor %l1, %l2, %l1 | |
273 | ||
274 | !stb %g4,[%g5] | |
275 | ldd [%l7], %f6 | |
276 | fmuld %f0, %f2, %f4 | |
277 | add %l0, -0xefe, %l0 | |
278 | xor %l1, %l2, %l1 | |
279 | ldx [%l7], %l5 | |
280 | ||
281 | bpos %xcc,t12_start | |
282 | !addcc %g1,-0xfff,%g1 | |
283 | subcc %g1,1,%g1 | |
284 | ||
285 | setx t12_perf_cnt,%g1,%g2 | |
286 | rd %pic,%g1; | |
287 | stx %g1,[%g2]; | |
288 | EXIT_GOOD | |
289 | ||
290 | ! | |
291 | ! Thread 5 Start | |
292 | ! | |
293 | main_th_13: | |
294 | TEST | |
295 | setx t13_data_area, %g1, %l7 | |
296 | setx t13_blk_area,%g1,%g5; | |
297 | ||
298 | !# Initialize registers .. | |
299 | !# Enable PMU to count instructions... | |
300 | setx t8_t14_perf,%g3,%g6; | |
301 | ldx [%g6],%g6; | |
302 | !#setx 0x17f85fe7, %g3, %g6 | |
303 | wr %g0, %g0, %pic | |
304 | wr %g6, %g0, %pcr | |
305 | ||
306 | ||
307 | !# Make sure trap enables are off... | |
308 | !# Global registers | |
309 | setx 0xaaaaaaaaaaaaaaaa, %g3, %g4 | |
310 | stx %g0, [%l7] | |
311 | ldx [%l7], %fsr | |
312 | ||
313 | stx %g4, [%l7] | |
314 | ldd [%l7], %f6 | |
315 | fxtod %f6, %f0 | |
316 | fxtod %f6, %f2 | |
317 | ||
318 | ||
319 | !# Execute Main Diag .. | |
320 | setx loop_cnt, %g2, %g1 | |
321 | set 0x0, %g2 | |
322 | addcc %g0, 0x0, %g3 | |
323 | ba,a t13_start | |
324 | .align 32 | |
325 | t13_start: | |
326 | ldx [%l7], %l5 | |
327 | ldx [%l7], %l5 | |
328 | ldx [%l7], %l5 | |
329 | ldx [%l7], %l5 | |
330 | fmuld %f0, %f2, %f4 | |
331 | add %l0, -0xefe, %l0 | |
332 | xor %l1, %l2, %l1 | |
333 | ||
334 | !stb %g4,[%g5] | |
335 | ldd [%l7], %f6 | |
336 | fmuld %f0, %f2, %f4 | |
337 | add %l0, -0xefe, %l0 | |
338 | xor %l1, %l2, %l1 | |
339 | ||
340 | bpos %xcc,t13_start | |
341 | !addcc %g1,-0xfff,%g1 | |
342 | subcc %g1,1,%g1 | |
343 | setx t13_perf_cnt,%g1,%g2 | |
344 | rd %pic,%g1; | |
345 | stx %g1,[%g2]; | |
346 | EXIT_GOOD | |
347 | ||
348 | ! | |
349 | ! Thread 6 Start | |
350 | ! | |
351 | main_th_14: | |
352 | TEST | |
353 | setx t14_data_area, %g1, %l7 | |
354 | setx t14_blk_area,%g1,%g5; | |
355 | ||
356 | !# Initialize registers .. | |
357 | !# Enable PMU to count instructions... | |
358 | setx t8_t14_perf,%g3,%g6; | |
359 | ldx [%g6],%g6; | |
360 | !#setx 0x17f85fe7, %g3, %g6 | |
361 | wr %g0, %g0, %pic | |
362 | wr %g6, %g0, %pcr | |
363 | ||
364 | !# Make sure trap enables are off... | |
365 | !# Global registers | |
366 | setx 0xfedcba9876543210, %g3, %g4 | |
367 | stx %g0, [%l7] | |
368 | ldx [%l7], %fsr | |
369 | ||
370 | stx %g4, [%l7] | |
371 | ldd [%l7], %f6 | |
372 | fxtod %f6, %f0 | |
373 | fxtod %f6, %f2 | |
374 | ||
375 | ||
376 | !# Execute Main Diag .. | |
377 | setx loop_cnt_2, %g2, %g1 | |
378 | set 0x0, %g2 | |
379 | addcc %g0, 0x0, %g3 | |
380 | ba,a t14_start | |
381 | .align 32 | |
382 | t14_start: | |
383 | ldx [%l7], %l5 | |
384 | ldx [%l7], %l5 | |
385 | !# fmuld %f0, %f2, %f4 | |
386 | !# add %l0, 0x1efe, %l0 | |
387 | !# xor %l1, %l2, %l1 | |
388 | ||
389 | !stb %g4,[%g5] | |
390 | ldd [%l7], %f6 | |
391 | fmuld %f0, %f2, %f4 | |
392 | ldx [%l7], %l5 | |
393 | !# add %l0, 0x1efe, %l0 | |
394 | !# xor %l1, %l2, %l1 | |
395 | ||
396 | bpos %xcc,t14_start | |
397 | !addcc %g1,-0xfff,%g1 | |
398 | subcc %g1,1,%g1 | |
399 | setx t14_perf_cnt,%g1,%g2 | |
400 | rd %pic,%g1; | |
401 | stx %g1,[%g2]; | |
402 | EXIT_GOOD | |
403 | ||
404 | ! | |
405 | ! Thread 7 Start | |
406 | ! | |
407 | ! | |
408 | main_th_15: | |
409 | TEST | |
410 | ||
411 | setx 0x112345000, %g7, %l0 ! bits [16:8] selects index in 4 bank mode | |
412 | setx 0x123456040, %g7, %l1 | |
413 | setx 0x134567080, %g7, %l2 | |
414 | setx 0x1456780c0, %g7, %l3 | |
415 | setx 0x156789100, %g7, %l4 | |
416 | setx 0x16789a140, %g7, %l5 | |
417 | setx 0x1789ab180, %g7, %l6 | |
418 | setx 0x189abc1c0, %g7, %l7 | |
419 | ||
420 | setx NUM_LOOP_TH7, %i0, %o1 | |
421 | loop_th15: | |
422 | !Bank0 | |
423 | ld [%l0], %i1 !ld miss | |
424 | ld [%l0+0x8], %i2 !ld hit | |
425 | st %g0, [%l0+0x200] !st miss | |
426 | st %g0, [%l0+0x208] !st hit | |
427 | ||
428 | !Bank1 | |
429 | ld [%l1], %i1 !ld miss | |
430 | ld [%l1+0x8], %i2 !ld hit | |
431 | st %g0, [%l1+0x200] !st miss | |
432 | st %g0, [%l1+0x208] !st hit | |
433 | ||
434 | !Bank2 | |
435 | ld [%l2], %i1 !ld miss | |
436 | ld [%l2+0x8], %i2 !ld hit | |
437 | st %g0, [%l2+0x200] !st miss | |
438 | st %g0, [%l2+0x208] !st hit | |
439 | ||
440 | !Bank3 | |
441 | ld [%l3], %i1 !ld miss | |
442 | ld [%l3+0x8], %i2 !ld hit | |
443 | st %g0, [%l3+0x200] !st miss | |
444 | st %g0, [%l3+0x208] !st hit | |
445 | ||
446 | !Bank4 | |
447 | ld [%l4], %i1 !ld miss | |
448 | ld [%l4+0x8], %i2 !ld hit | |
449 | st %g0, [%l4+0x200] !st miss | |
450 | st %g0, [%l4+0x208] !st hit | |
451 | ||
452 | !Bank5 | |
453 | ld [%l5], %i1 !ld miss | |
454 | ld [%l5+0x8], %i2 !ld hit | |
455 | st %g0, [%l5+0x200] !st miss | |
456 | st %g0, [%l5+0x208] !st hit | |
457 | ||
458 | !Bank6 | |
459 | ld [%l6], %i1 !ld miss | |
460 | ld [%l6+0x8], %i2 !ld hit | |
461 | st %g0, [%l6+0x200] !st miss | |
462 | st %g0, [%l6+0x208] !st hit | |
463 | ||
464 | !Bank7 | |
465 | ld [%l7], %i1 !ld miss | |
466 | ld [%l7+0x8], %i2 !ld hit | |
467 | st %g0, [%l7+0x200] !st miss | |
468 | st %g0, [%l7+0x208] !st hit | |
469 | ||
470 | add %l0, 0x400, %l0 | |
471 | add %l1, 0x400, %l1 | |
472 | add %l2, 0x400, %l2 | |
473 | add %l3, 0x400, %l3 | |
474 | add %l4, 0x400, %l4 | |
475 | add %l5, 0x400, %l5 | |
476 | add %l6, 0x400, %l6 | |
477 | add %l7, 0x400, %l7 | |
478 | ||
479 | dec %o1 | |
480 | cmp %o1, 0 | |
481 | bne %xcc, loop_th15 | |
482 | nop | |
483 | ||
484 | EXIT_GOOD | |
485 | !================================================================================================= | |
486 | fail_t15_1: | |
487 | set 0x1,%g2; | |
488 | ba fail_t15; | |
489 | nop; | |
490 | fail_t15_2: | |
491 | set 0x2,%g2; | |
492 | ba fail_t15; | |
493 | nop; | |
494 | fail_t15_3: | |
495 | set 0x3,%g2; | |
496 | ba fail_t15; | |
497 | nop; | |
498 | fail_t15_4: | |
499 | set 0x4,%g2; | |
500 | ba fail_t15; | |
501 | nop; | |
502 | fail_t15_5: | |
503 | set 0x5,%g2; | |
504 | ba fail_t15; | |
505 | nop; | |
506 | fail_t15_6: | |
507 | set 0x6,%g2; | |
508 | ba fail_t15; | |
509 | nop; | |
510 | fail_t15_7: | |
511 | set 0x7,%g2; | |
512 | ba fail_t15; | |
513 | nop; | |
514 | fail_t15_8: | |
515 | set 0x8,%g2; | |
516 | ba fail_t15; | |
517 | nop; | |
518 | fail_t15_9: | |
519 | set 0x9,%g2; | |
520 | ba fail_t15; | |
521 | nop; | |
522 | fail_t15_10: | |
523 | set 0xa,%g2; | |
524 | ba fail_t15; | |
525 | nop; | |
526 | fail_t15_11: | |
527 | set 0xb,%g2; | |
528 | ba fail_t15; | |
529 | nop; | |
530 | fail_t15_12: | |
531 | set 0xc,%g2; | |
532 | ba fail_t15; | |
533 | nop; | |
534 | fail_t15_13: | |
535 | set 0xd,%g2; | |
536 | ba fail_t15; | |
537 | nop; | |
538 | fail_t15_14: | |
539 | set 0xe,%g2; | |
540 | ba fail_t15; | |
541 | nop; | |
542 | fail_t15_15: | |
543 | set 0xf,%g2; | |
544 | ba fail_t15; | |
545 | nop; | |
546 | fail_t15_16: | |
547 | set 0x10,%g2; | |
548 | ba fail_t15; | |
549 | nop; | |
550 | fail_t15: | |
551 | setx t15_fail,%g3,%g1 | |
552 | stx %g2,[%g1] | |
553 | EXIT_BAD | |
554 | ||
555 | /************************************************************************ | |
556 | Test case data start | |
557 | ************************************************************************/ | |
558 | .data | |
559 | ||
560 | t8_data_area: | |
561 | .skip 16384 | |
562 | ||
563 | t9_data_area: | |
564 | .skip 16384 | |
565 | .skip 16 | |
566 | ||
567 | t10_data_area: | |
568 | .skip 16384 | |
569 | .skip 16 | |
570 | ||
571 | t11_data_area: | |
572 | .skip 16384 | |
573 | .skip 16 | |
574 | ||
575 | t12_data_area: | |
576 | .skip 16384 | |
577 | .skip 16 | |
578 | ||
579 | t13_data_area: | |
580 | .skip 16384 | |
581 | .skip 16 | |
582 | ||
583 | t14_data_area: | |
584 | .skip 16384 | |
585 | .skip 16 | |
586 | ||
587 | t15_data_area: | |
588 | .align 16 | |
589 | !# A operand, 32 doublewords | |
590 | !# %l7 points to here: | |
591 | .xword 0xb61e0f74d889169f !# a[0] for 3 | |
592 | .xword 0xeb7dad6d2db34663 !# a[1] for 3 | |
593 | .xword 0x000000069fad6615 !# a[2] for 3 | |
594 | .xword 0x0 !# a[3] for 3 | |
595 | .xword 0x0 !# a[4] for 3 | |
596 | .xword 0x0 !# a[5] for 3 | |
597 | .xword 0x0 !# a[6] for 3 | |
598 | .xword 0x0 !# a[7] for 3 | |
599 | ||
600 | .xword 0x85587F96342B939A | |
601 | .xword 0x00DD7AAD15E30EB1 | |
602 | .xword 0xFFFFEEEE00006000 | |
603 | .xword 0xFFFFEEEE00007000 | |
604 | .xword 0x222D15F21092A854 | |
605 | .xword 0xFFFFEEEE00009000 | |
606 | .xword 0xFD2CB924281A7FB1 | |
607 | .xword 0xFFFFEEEE0000B000 | |
608 | ||
609 | .xword 0x12D7C16982229DCF | |
610 | .xword 0xA75C18D599E04451 | |
611 | .xword 0xA3BE82C81B280E9D | |
612 | .xword 0x8964B57FD2745FFB | |
613 | .xword 0x4103465563EB1347 | |
614 | .xword 0xB4181F76C7A2CE01 | |
615 | .xword 0xFFFFFFFF10005000 | |
616 | .xword 0x4AC14D5A55D9D2BD | |
617 | ||
618 | !#.xword 0x9711E4D4E862AFA7 | |
619 | .xword 0x2313258847A86E70 | |
620 | .xword 0x47A084C3801DE4F9 | |
621 | .xword 0x6B655B6A27D64052 | |
622 | .xword 0x48CBC2665D6D8BB8 | |
623 | .xword 0xD60A8BF421AA5DC8 | |
624 | .xword 0xF4529D511F583B2D | |
625 | .xword 0xFFFFFFFF1000D000 | |
626 | .xword 0x27A0C706E2B783D4 | |
627 | ||
628 | !# m[0] starts here | |
629 | .xword 0x00004FFF0000FFFF !# | |
630 | .xword 0x0FFF8000FFFF0001 !# | |
631 | .xword 0xF000FFFF0000FF00 !# | |
632 | .xword 0x0000FFFF0000FF00 !# | |
633 | .xword 0x1A890F27A74D6D4F !# | |
634 | .xword 0xB34C93D130DF03BC !# | |
635 | .xword 0xFD33BC46D2B25B52 !# | |
636 | .xword 0x0FFFFFFF00006000 !# | |
637 | ||
638 | .xword 0x9000111122223333 | |
639 | .xword 0x4444555566667777 | |
640 | .xword 0xFFFFEEEE00006000 | |
641 | .xword 0xFFFFEEEE00007000 | |
642 | .xword 0x222D15F21092A854 | |
643 | .xword 0xFFFFEEEE00009000 | |
644 | .xword 0xFD2CB924281A7FB1 | |
645 | .xword 0xFFFFEEEE0000B000 | |
646 | ||
647 | .xword 0x0000111122223333 | |
648 | .xword 0x0000111122223333 | |
649 | .xword 0x0000111122223333 | |
650 | .xword 0x0000111122223333 | |
651 | .xword 0x0000111122223333 | |
652 | .xword 0x0000111122223333 | |
653 | .xword 0x0000111122223333 | |
654 | .xword 0x0000111122223333 | |
655 | ||
656 | .xword 0x0000111122223333 | |
657 | .xword 0x0000111122223333 | |
658 | .xword 0xA000111122223333 | |
659 | .xword 0x0000111122223333 | |
660 | .xword 0x0000111122223333 | |
661 | .xword 0x0000111122223333 | |
662 | .xword 0x0000111122223333 | |
663 | .xword 0xFFFFFFFF22223333 | |
664 | ||
665 | !# N operand, 32 doublewords | |
666 | .xword 0x00000000000000c9 !# 3. n[0] | |
667 | .xword 0x0000000000000000 !# 3. n[1] | |
668 | .xword 0x0000000800000000 !# 3. n[2] | |
669 | .xword 0x0 !# 3. n[3] | |
670 | .xword 0x0 !# 3. n[4] | |
671 | .xword 0x0 !# 3. n[5] | |
672 | .xword 0x0 !# 3. n[6] | |
673 | .xword 0x0 !# 3. n[7] | |
674 | ||
675 | .xword 0xFFFFFFFF00007000 | |
676 | .xword 0xFFFFFFFF00008000 | |
677 | .xword 0xFFFFFFFF00009000 | |
678 | .xword 0xFFFFFFFF0000A000 | |
679 | .xword 0xFFFFFFFF0000B000 | |
680 | .xword 0xFFFFFFFF0000C000 | |
681 | .xword 0xFAEDBEEF0000D000 | |
682 | .xword 0xFFFFFFFF0000E000 | |
683 | ||
684 | .xword 0xFFFFFFFF0000F000 | |
685 | .xword 0xFFFFFFFF10000000 | |
686 | .xword 0xFFFFFFFF10001000 | |
687 | .xword 0xFFFFFFFF10002000 | |
688 | .xword 0xFFFFFFFF10003000 | |
689 | .xword 0xFFFFFFFF10004000 | |
690 | .xword 0xFFFFFFFF10005000 | |
691 | .xword 0xFFFFFFFF10006000 | |
692 | ||
693 | .xword 0xFFFFFFFF10007000 | |
694 | .xword 0xFFFFFFFF10008000 | |
695 | .xword 0xFFFFFFFF10009000 | |
696 | .xword 0xFFFFFFFF1000A000 | |
697 | .xword 0xFFFFFFFF1000B000 | |
698 | .xword 0xEFFFFFFF1000C000 | |
699 | .xword 0xFFFFFFFF1000D000 | |
700 | .xword 0xFFFFFFFF1000E000 | |
701 | ||
702 | !# E starts here | |
703 | .xword 0xAAAAAAAAAAAAAAAA !# 3. e[0] | |
704 | .xword 0xAAAAAAAAAAAAAAAA !# 3. e[1] | |
705 | .xword 0x0000000AAAAAAAAA !# 3. e[2] | |
706 | .xword 0x0 !# 3. e[3] | |
707 | .xword 0x0 !# 3. e[4] | |
708 | .xword 0x0 !# 3. e[5] | |
709 | .xword 0x0 !# 3. e[6] | |
710 | .xword 0x0 !# 3. e[7] | |
711 | ||
712 | .xword 0x0000111122223333 | |
713 | .xword 0x0000111122223333 | |
714 | .xword 0x0000111122223333 | |
715 | .xword 0x0000111122223333 | |
716 | .xword 0x0000111122223333 | |
717 | .xword 0x0000111122223333 | |
718 | .xword 0x0000111122223333 | |
719 | .xword 0x0000111122223333 | |
720 | ||
721 | .xword 0x0000111122223333 | |
722 | .xword 0x0000111122223333 | |
723 | .xword 0x0000111122223333 | |
724 | .xword 0x0000111122223333 | |
725 | .xword 0x0000111122223333 | |
726 | .xword 0x0000111122223333 | |
727 | .xword 0x0000111122223333 | |
728 | .xword 0x0000111122223333 | |
729 | ||
730 | .xword 0x0000111122223333 | |
731 | .xword 0x0000111122223333 | |
732 | .xword 0x0000111122223333 | |
733 | .xword 0x0000111122223333 | |
734 | .xword 0x0000111122223333 | |
735 | .xword 0x0000111122223333 | |
736 | .xword 0x0000111122223333 | |
737 | .xword 0x0000111122223333 | |
738 | ||
739 | !# Initial X value | |
740 | .xword 0xb61e0f74d889169f !# a[0] for 3 | |
741 | .xword 0xeb7dad6d2db34663 !# a[1] for 3 | |
742 | .xword 0x000000069fad6615 !# a[2] for 3 | |
743 | !#.xword 0x0000001920000000 !# x[0] for 3 | |
744 | !#.xword 0x0000000000000000 !# x[1] for 3 | |
745 | !#.xword 0x0000000000000000 !# x[2] for 3 | |
746 | .xword 0x0 !# x[3] for 3 | |
747 | .xword 0x0 !# x[4] for 3 | |
748 | .xword 0x0 !# x[5] for 3 | |
749 | .xword 0x0 !# x[6] for 3 | |
750 | .xword 0x0 !# x[7] for 3 | |
751 | ||
752 | t15_expected_x: | |
753 | !# Expected X result starts here | |
754 | .xword 0x9890891c6f7c2d0b !# 3. X[0] | |
755 | .xword 0x8d0356cf2e263a36 !# 3. X[1] | |
756 | .xword 0x000000074dc55ef7 !# 3. X[2] | |
757 | ||
758 | t15_div_area: | |
759 | .xword 0x0011223344556677 !# junk area for divide wait loop operand storage | |
760 | .skip 16 | |
761 | ||
762 | !================================================================================================ | |
763 | !================================================================================================= | |
764 | .align 65536 | |
765 | !# Subtest 1 start | |
766 | !# input data | |
767 | cleartext_t15: | |
768 | .xword 0x0011223344556677 | |
769 | .xword 0x8899aabbccddeeff | |
770 | .skip 16384 | |
771 | ||
772 | !# AES initial state (also where final state will be written) | |
773 | .align 16 | |
774 | aes_state_t15: | |
775 | .xword 0x0001020304050607 | |
776 | .xword 0x08090a0b0c0d0e0f | |
777 | .xword 0x1011121314151617 | |
778 | .xword 0x18191a1b1c1d1e1f | |
779 | ||
780 | !# expected ciphertext | |
781 | ciphertext_t15: | |
782 | .xword 0x8ea2b7ca516745bf | |
783 | .xword 0xeafc49904b496089 | |
784 | .skip 16384 | |
785 | ||
786 | !# temporary area for storing expected result | |
787 | result_t15: | |
788 | .xword 0xDEADBEEFDEADBEEF | |
789 | .xword 0xDEADBEEFDEADBEEF | |
790 | .skip 16384 | |
791 | ||
792 | !################################################ | |
793 | !# CWQ data area, set aside 512 CW's worth | |
794 | !# 512*8*8 = 32KB | |
795 | .align 32*1024 | |
796 | CWQ_BASE_t15: | |
797 | .xword 0xAAAAAAAAAAAAAAA | |
798 | .xword 0xAAAAAAAAAAAAAAA | |
799 | .xword 0xAAAAAAAAAAAAAAA | |
800 | .xword 0xAAAAAAAAAAAAAAA | |
801 | .xword 0xAAAAAAAAAAAAAAA | |
802 | .xword 0xAAAAAAAAAAAAAAA | |
803 | .xword 0xAAAAAAAAAAAAAAA | |
804 | .xword 0xAAAAAAAAAAAAAAA | |
805 | .align 32*1024 | |
806 | CWQ_LAST_t15: | |
807 | .skip 16 | |
808 | ||
809 | !=================================================================================================1 | |
810 | .global t15_fail | |
811 | t15_fail: | |
812 | .xword 0x0000000000000000 | |
813 | !================================================================================================== | |
814 | .global t8_t14_perf | |
815 | .global t15_perf | |
816 | .global t8_perf_cnt | |
817 | .global t9_perf_cnt | |
818 | .global t10_perf_cnt | |
819 | .global t11_perf_cnt | |
820 | .global t12_perf_cnt | |
821 | .global t13_perf_cnt | |
822 | .global t14_perf_cnt | |
823 | .global t15_perf_cnt | |
824 | t8_t14_perf: | |
825 | .xword 0x0000000017f85fe7 | |
826 | t15_perf: | |
827 | .xword 0x0000000057f99fe7 | |
828 | t8_perf_cnt: | |
829 | .xword 0x0000000000000000 | |
830 | t9_perf_cnt: | |
831 | .xword 0x0000000000000000 | |
832 | t10_perf_cnt: | |
833 | .xword 0x0000000000000000 | |
834 | t11_perf_cnt: | |
835 | .xword 0x0000000000000000 | |
836 | t12_perf_cnt: | |
837 | .xword 0x0000000000000000 | |
838 | t13_perf_cnt: | |
839 | .xword 0x0000000000000000 | |
840 | t14_perf_cnt: | |
841 | .xword 0x0000000000000000 | |
842 | t15_perf_cnt: | |
843 | .xword 0x0000000000000000 | |
844 | .skip 16 | |
845 | !================================================================================================== | |
846 | .align 256 * 1024 | |
847 | t8_blk_area: | |
848 | .xword 0x00ffffffffffffff | |
849 | .xword 0xffffffffffffffff | |
850 | .xword 0xffffffffffffffff | |
851 | .xword 0xffffffffffffffff | |
852 | .xword 0xffffffffffffffff | |
853 | .xword 0xffffffffffffffff | |
854 | .xword 0xffffffffffffffff | |
855 | .xword 0xffffffffffffffff | |
856 | .xword 0xffffffffffffffff | |
857 | .xword 0xffffffffffffffff | |
858 | .xword 0xffffffffffffffff | |
859 | .xword 0xffffffffffffffff | |
860 | .xword 0xffffffffffffffff | |
861 | .xword 0xffffffffffffffff | |
862 | .xword 0xffffffffffffffff | |
863 | .xword 0xffffffffffffffff | |
864 | .skip 64 | |
865 | .align 256 * 1024 | |
866 | t9_blk_area: | |
867 | .xword 0x0100000000000000 | |
868 | .xword 0x0000000000000000 | |
869 | .xword 0x0000000000000000 | |
870 | .xword 0x0000000000000000 | |
871 | .xword 0x0000000000000000 | |
872 | .xword 0x0000000000000000 | |
873 | .xword 0x0000000000000000 | |
874 | .xword 0x0000000000000000 | |
875 | .xword 0x0000000000000000 | |
876 | .xword 0x0000000000000000 | |
877 | .xword 0x0000000000000000 | |
878 | .xword 0x0000000000000000 | |
879 | .xword 0x0000000000000000 | |
880 | .xword 0x0000000000000000 | |
881 | .xword 0x0000000000000000 | |
882 | .xword 0x0000000000000000 | |
883 | .skip 64 | |
884 | .align 256 * 1024 | |
885 | t10_blk_area: | |
886 | .xword 0x02ffffffffffffff | |
887 | .xword 0xffffffffffffffff | |
888 | .xword 0xffffffffffffffff | |
889 | .xword 0xffffffffffffffff | |
890 | .xword 0xffffffffffffffff | |
891 | .xword 0xffffffffffffffff | |
892 | .xword 0xffffffffffffffff | |
893 | .xword 0xffffffffffffffff | |
894 | .xword 0xffffffffffffffff | |
895 | .xword 0xffffffffffffffff | |
896 | .xword 0xffffffffffffffff | |
897 | .xword 0xffffffffffffffff | |
898 | .xword 0xffffffffffffffff | |
899 | .xword 0xffffffffffffffff | |
900 | .xword 0xffffffffffffffff | |
901 | .xword 0xffffffffffffffff | |
902 | .skip 64 | |
903 | .align 256 * 1024 | |
904 | t11_blk_area: | |
905 | .xword 0x0300000000000000 | |
906 | .xword 0x0000000000000000 | |
907 | .xword 0x0000000000000000 | |
908 | .xword 0x0000000000000000 | |
909 | .xword 0x0000000000000000 | |
910 | .xword 0x0000000000000000 | |
911 | .xword 0x0000000000000000 | |
912 | .xword 0x0000000000000000 | |
913 | .xword 0x0000000000000000 | |
914 | .xword 0x0000000000000000 | |
915 | .xword 0x0000000000000000 | |
916 | .xword 0x0000000000000000 | |
917 | .xword 0x0000000000000000 | |
918 | .xword 0x0000000000000000 | |
919 | .xword 0x0000000000000000 | |
920 | .xword 0x0000000000000000 | |
921 | .skip 64 | |
922 | .align 256 * 1024 | |
923 | t12_blk_area: | |
924 | .xword 0x04ffffffffffffff | |
925 | .xword 0xffffffffffffffff | |
926 | .xword 0xffffffffffffffff | |
927 | .xword 0xffffffffffffffff | |
928 | .xword 0xffffffffffffffff | |
929 | .xword 0xffffffffffffffff | |
930 | .xword 0xffffffffffffffff | |
931 | .xword 0xffffffffffffffff | |
932 | .xword 0xffffffffffffffff | |
933 | .xword 0xffffffffffffffff | |
934 | .xword 0xffffffffffffffff | |
935 | .xword 0xffffffffffffffff | |
936 | .xword 0xffffffffffffffff | |
937 | .xword 0xffffffffffffffff | |
938 | .xword 0xffffffffffffffff | |
939 | .xword 0xffffffffffffffff | |
940 | .skip 64 | |
941 | .align 256 * 1024 | |
942 | t13_blk_area: | |
943 | .xword 0x0500000000000000 | |
944 | .xword 0x0000000000000000 | |
945 | .xword 0x0000000000000000 | |
946 | .xword 0x0000000000000000 | |
947 | .xword 0x0000000000000000 | |
948 | .xword 0x0000000000000000 | |
949 | .xword 0x0000000000000000 | |
950 | .xword 0x0000000000000000 | |
951 | .xword 0x0000000000000000 | |
952 | .xword 0x0000000000000000 | |
953 | .xword 0x0000000000000000 | |
954 | .xword 0x0000000000000000 | |
955 | .xword 0x0000000000000000 | |
956 | .xword 0x0000000000000000 | |
957 | .xword 0x0000000000000000 | |
958 | .xword 0x0000000000000000 | |
959 | .skip 64 | |
960 | .align 256 * 1024 | |
961 | t14_blk_area: | |
962 | .xword 0x06ffffffffffffff | |
963 | .xword 0xffffffffffffffff | |
964 | .xword 0xffffffffffffffff | |
965 | .xword 0xffffffffffffffff | |
966 | .xword 0xffffffffffffffff | |
967 | .xword 0xffffffffffffffff | |
968 | .xword 0xffffffffffffffff | |
969 | .xword 0xffffffffffffffff | |
970 | .xword 0xffffffffffffffff | |
971 | .xword 0xffffffffffffffff | |
972 | .xword 0xffffffffffffffff | |
973 | .xword 0xffffffffffffffff | |
974 | .xword 0xffffffffffffffff | |
975 | .xword 0xffffffffffffffff | |
976 | .xword 0xffffffffffffffff | |
977 | .xword 0xffffffffffffffff | |
978 | .skip 64 | |
979 | .align 256 * 1024 | |
980 | t15_blk_area: | |
981 | .xword 0x0700000000000000 | |
982 | .xword 0x0000000000000000 | |
983 | .xword 0x0000000000000000 | |
984 | .xword 0x0000000000000000 | |
985 | .xword 0x0000000000000000 | |
986 | .xword 0x0000000000000000 | |
987 | .xword 0x0000000000000000 | |
988 | .xword 0x0000000000000000 | |
989 | .xword 0x0000000000000000 | |
990 | .xword 0x0000000000000000 | |
991 | .xword 0x0000000000000000 | |
992 | .xword 0x0000000000000000 | |
993 | .xword 0x0000000000000000 | |
994 | .xword 0x0000000000000000 | |
995 | .xword 0x0000000000000000 | |
996 | .xword 0x0000000000000000 | |
997 | .skip 64 |