Update contrib.
1 // Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of the License "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // e32test\mmu\t_imb.cia
23 __NAKED__ TInt BranchTest1()
25 asm(" movs r0, #0 "); // return status KErrNone
26 asm(" mov r3, #1 "); // this is process 1
27 asm(" mov r1, lr "); // save return address
28 asm(" mov r2, #0xff00 "); // iterations
30 asm(" cmp r1, r1 "); // reset cond flags
31 asm(" moveq lr, pc ");
32 asm(" beq poison1 "); // start test!
34 asm(" moveq lr, pc ");
37 asm(" moveq lr, pc ");
40 asm(" moveq lr, pc ");
43 asm(" moveq lr, pc ");
46 asm(" moveq lr, pc ");
49 asm(" moveq lr, pc ");
52 asm(" moveq lr, pc ");
55 asm(" moveq lr, pc ");
58 asm(" moveq lr, pc ");
61 asm(" moveq lr, pc ");
64 asm(" moveq lr, pc ");
67 asm(" moveq lr, pc ");
70 asm(" moveq lr, pc ");
73 asm(" moveq lr, pc ");
76 asm(" moveq lr, pc ");
79 asm(" moveq lr, pc ");
82 asm(" moveq lr, pc ");
85 asm(" moveq lr, pc ");
88 asm(" moveq lr, pc ");
91 asm(" moveq lr, pc ");
94 asm(" moveq lr, pc ");
97 asm(" moveq lr, pc ");
100 asm(" moveq lr, pc ");
101 asm(" beq poison1 ");
103 asm(" moveq lr, pc ");
104 asm(" beq poison1 ");
106 asm(" moveq lr, pc ");
107 asm(" beq poison1 ");
109 asm(" moveq lr, pc ");
110 asm(" beq poison1 ");
112 asm(" moveq lr, pc ");
113 asm(" beq poison1 ");
115 asm(" moveq lr, pc ");
116 asm(" beq poison1 ");
118 asm(" moveq lr, pc ");
119 asm(" beq poison1 ");
121 asm(" moveq lr, pc ");
122 asm(" beq poison1 ");
124 asm(" moveq lr, pc ");
125 asm(" beq poison1 ");
127 asm(" moveq lr, pc ");
128 asm(" beq poison1 ");
130 asm(" moveq lr, pc ");
131 asm(" beq poison1 ");
133 asm(" moveq lr, pc ");
134 asm(" beq poison1 ");
136 asm(" moveq lr, pc ");
137 asm(" beq poison1 ");
139 asm(" moveq lr, pc ");
140 asm(" beq poison1 ");
142 asm(" moveq lr, pc ");
143 asm(" beq poison1 ");
145 asm(" moveq lr, pc ");
146 asm(" beq poison1 ");
148 asm(" moveq lr, pc ");
149 asm(" beq poison1 ");
151 asm(" moveq lr, pc ");
152 asm(" beq poison1 ");
154 asm(" moveq lr, pc ");
155 asm(" beq poison1 ");
157 asm(" moveq lr, pc ");
158 asm(" beq poison1 ");
160 asm(" moveq lr, pc ");
161 asm(" beq poison1 ");
163 asm(" moveq lr, pc ");
164 asm(" beq poison1 ");
166 asm(" moveq lr, pc ");
167 asm(" beq poison1 ");
169 asm(" moveq lr, pc ");
170 asm(" beq poison1 ");
172 asm(" moveq lr, pc ");
173 asm(" beq poison1 ");
175 asm(" moveq lr, pc ");
176 asm(" beq poison1 ");
178 asm(" moveq lr, pc ");
179 asm(" beq poison1 ");
181 asm(" moveq lr, pc ");
182 asm(" beq poison1 ");
184 asm(" moveq lr, pc ");
185 asm(" beq poison1 ");
187 asm(" moveq lr, pc ");
188 asm(" beq poison1 ");
190 asm(" moveq lr, pc ");
191 asm(" beq poison1 ");
193 asm(" moveq lr, pc ");
194 asm(" beq poison1 ");
196 asm(" moveq lr, pc ");
197 asm(" beq poison1 ");
199 asm(" moveq lr, pc ");
200 asm(" beq poison1 ");
202 asm(" moveq lr, pc ");
203 asm(" beq poison1 ");
205 asm(" moveq lr, pc ");
206 asm(" beq poison1 ");
208 asm(" moveq lr, pc ");
209 asm(" beq poison1 ");
211 asm(" moveq lr, pc ");
212 asm(" beq poison1 ");
214 asm(" moveq lr, pc ");
215 asm(" beq poison1 ");
217 asm(" moveq lr, pc ");
218 asm(" beq poison1 ");
220 asm(" moveq lr, pc ");
221 asm(" beq poison1 ");
223 asm(" moveq lr, pc ");
224 asm(" beq poison1 ");
226 asm(" moveq lr, pc ");
227 asm(" beq poison1 ");
229 asm(" moveq lr, pc ");
230 asm(" beq poison1 ");
232 asm(" moveq lr, pc ");
233 asm(" beq poison1 ");
235 asm(" moveq lr, pc ");
236 asm(" beq poison1 ");
238 asm(" moveq lr, pc ");
239 asm(" beq poison1 ");
241 asm(" moveq lr, pc ");
242 asm(" beq poison1 ");
244 asm(" moveq lr, pc ");
245 asm(" beq poison1 ");
247 asm(" moveq lr, pc ");
248 asm(" beq poison1 ");
250 asm(" moveq lr, pc ");
251 asm(" beq poison1 ");
253 asm(" moveq lr, pc ");
254 asm(" beq poison1 ");
256 asm(" moveq lr, pc ");
257 asm(" beq poison1 ");
259 asm(" moveq lr, pc ");
260 asm(" beq poison1 ");
262 asm(" moveq lr, pc ");
263 asm(" beq poison1 ");
265 asm(" moveq lr, pc ");
266 asm(" beq poison1 ");
268 asm(" moveq lr, pc ");
269 asm(" beq poison1 ");
271 asm(" moveq lr, pc ");
272 asm(" beq poison1 ");
274 asm(" moveq lr, pc ");
275 asm(" beq poison1 ");
277 asm(" moveq lr, pc ");
278 asm(" beq poison1 ");
280 asm(" moveq lr, pc ");
281 asm(" beq poison1 ");
283 asm(" moveq lr, pc ");
284 asm(" beq poison1 ");
286 asm(" moveq lr, pc ");
287 asm(" beq poison1 ");
289 asm(" moveq lr, pc ");
290 asm(" beq poison1 ");
292 asm(" moveq lr, pc ");
293 asm(" beq poison1 ");
295 asm(" moveq lr, pc ");
296 asm(" beq poison1 ");
298 asm(" moveq lr, pc ");
299 asm(" beq poison1 ");
301 asm(" moveq lr, pc ");
302 asm(" beq poison1 ");
304 asm(" moveq lr, pc ");
305 asm(" beq poison1 ");
307 asm(" moveq lr, pc ");
308 asm(" beq poison1 ");
310 asm(" moveq lr, pc ");
311 asm(" beq poison1 ");
313 asm(" moveq lr, pc ");
314 asm(" beq poison1 ");
316 asm(" moveq lr, pc ");
317 asm(" beq poison1 ");
319 asm(" moveq lr, pc ");
320 asm(" beq poison1 ");
322 asm(" moveq lr, pc ");
323 asm(" beq poison1 ");
325 asm(" moveq lr, pc ");
326 asm(" beq poison1 ");
328 asm(" moveq lr, pc ");
329 asm(" beq poison1 ");
331 asm(" moveq lr, pc ");
332 asm(" beq poison1 ");
334 asm(" moveq lr, pc ");
335 asm(" beq poison1 ");
337 asm(" moveq lr, pc ");
338 asm(" beq poison1 ");
340 asm(" moveq lr, pc ");
341 asm(" beq poison1 ");
343 asm(" moveq lr, pc ");
344 asm(" beq poison1 ");
346 asm(" moveq lr, pc ");
347 asm(" beq poison1 ");
349 asm(" moveq lr, pc ");
350 asm(" beq poison1 ");
352 asm(" moveq lr, pc ");
353 asm(" beq poison1 ");
355 asm(" moveq lr, pc ");
356 asm(" beq poison1 ");
358 asm(" moveq lr, pc ");
359 asm(" beq poison1 ");
361 asm(" moveq lr, pc ");
362 asm(" beq poison1 ");
364 asm(" moveq lr, pc ");
365 asm(" beq poison1 ");
367 asm(" moveq lr, pc ");
368 asm(" beq poison1 ");
370 asm(" moveq lr, pc ");
371 asm(" beq poison1 ");
373 asm(" moveq lr, pc ");
374 asm(" beq poison1 ");
376 asm(" moveq lr, pc ");
377 asm(" beq poison1 ");
379 asm(" moveq lr, pc ");
380 asm(" beq poison1 ");
382 asm(" moveq lr, pc ");
383 asm(" beq poison1 ");
385 asm(" moveq lr, pc ");
386 asm(" beq poison1 ");
388 asm(" moveq lr, pc ");
389 asm(" beq poison1 ");
391 asm(" moveq lr, pc ");
392 asm(" beq poison1 ");
394 asm(" moveq lr, pc ");
395 asm(" beq poison1 ");
397 asm(" moveq lr, pc ");
398 asm(" beq poison1 ");
400 asm(" moveq lr, pc ");
401 asm(" beq poison1 ");
403 asm(" moveq lr, pc ");
404 asm(" beq poison1 ");
406 asm(" moveq lr, pc ");
407 asm(" beq poison1 ");
408 asm(" teq r3, #1 "); // did we fall through?
409 asm(" movne r0, #-1 "); // yes we did!
410 __JUMP(ne,r1); // return
411 asm(" subs r2, r2, #1 "); // no, decrement the counter and go again
412 asm(" bne loop1 "); // if there are iters left and we didn't fall through
414 __JUMP(,r1); // the end!
416 asm(" mov r3, #1 "); // we're ok
419 asm(" mov r3, #2 "); // woops!
423 __NAKED__ void BranchTest1End()
428 __NAKED__ TInt BranchTest2()
430 asm(" movs r0, #0 "); // return status KErrNone
431 asm(" mov r3, #2 "); // this is process 2
432 asm(" mov r1, lr"); // save return address
433 asm(" mov r2, #0xff00"); // iterations
435 asm(" cmp r1, r1 "); // reset flags
436 asm(" moveq lr, pc ");
437 asm(" beq poison3 "); // start test!
439 asm(" moveq lr, pc ");
440 asm(" beq poison3 ");
442 asm(" moveq lr, pc ");
443 asm(" beq poison3 ");
445 asm(" moveq lr, pc ");
446 asm(" beq poison3 ");
448 asm(" moveq lr, pc ");
449 asm(" beq poison3 ");
451 asm(" moveq lr, pc ");
452 asm(" beq poison3 ");
454 asm(" moveq lr, pc ");
455 asm(" beq poison3 ");
457 asm(" moveq lr, pc ");
458 asm(" beq poison3 ");
460 asm(" moveq lr, pc ");
461 asm(" beq poison3 ");
463 asm(" moveq lr, pc ");
464 asm(" beq poison3 ");
466 asm(" moveq lr, pc ");
467 asm(" beq poison3 ");
469 asm(" moveq lr, pc ");
470 asm(" beq poison3 ");
472 asm(" moveq lr, pc ");
473 asm(" beq poison3 ");
475 asm(" moveq lr, pc ");
476 asm(" beq poison3 ");
478 asm(" moveq lr, pc ");
479 asm(" beq poison3 ");
481 asm(" moveq lr, pc ");
482 asm(" beq poison3 ");
484 asm(" moveq lr, pc ");
485 asm(" beq poison3 ");
487 asm(" moveq lr, pc ");
488 asm(" beq poison3 ");
490 asm(" moveq lr, pc ");
491 asm(" beq poison3 ");
493 asm(" moveq lr, pc ");
494 asm(" beq poison3 ");
496 asm(" moveq lr, pc ");
497 asm(" beq poison3 ");
499 asm(" moveq lr, pc ");
500 asm(" beq poison3 ");
502 asm(" moveq lr, pc ");
503 asm(" beq poison3 ");
505 asm(" moveq lr, pc ");
506 asm(" beq poison3 ");
508 asm(" moveq lr, pc ");
509 asm(" beq poison3 ");
511 asm(" moveq lr, pc ");
512 asm(" beq poison3 ");
514 asm(" moveq lr, pc ");
515 asm(" beq poison3 ");
517 asm(" moveq lr, pc ");
518 asm(" beq poison3 ");
520 asm(" moveq lr, pc ");
521 asm(" beq poison3 ");
523 asm(" moveq lr, pc ");
524 asm(" beq poison3 ");
526 asm(" moveq lr, pc ");
527 asm(" beq poison3 ");
529 asm(" moveq lr, pc ");
530 asm(" beq poison3 ");
532 asm(" moveq lr, pc ");
533 asm(" beq poison3 ");
535 asm(" moveq lr, pc ");
536 asm(" beq poison3 ");
538 asm(" moveq lr, pc ");
539 asm(" beq poison3 ");
541 asm(" moveq lr, pc ");
542 asm(" beq poison3 ");
544 asm(" moveq lr, pc ");
545 asm(" beq poison3 ");
547 asm(" moveq lr, pc ");
548 asm(" beq poison3 ");
550 asm(" moveq lr, pc ");
551 asm(" beq poison3 ");
553 asm(" moveq lr, pc ");
554 asm(" beq poison3 ");
556 asm(" moveq lr, pc ");
557 asm(" beq poison3 ");
559 asm(" moveq lr, pc ");
560 asm(" beq poison3 ");
562 asm(" moveq lr, pc ");
563 asm(" beq poison3 ");
565 asm(" moveq lr, pc ");
566 asm(" beq poison3 ");
568 asm(" moveq lr, pc ");
569 asm(" beq poison3 ");
571 asm(" moveq lr, pc ");
572 asm(" beq poison3 ");
574 asm(" moveq lr, pc ");
575 asm(" beq poison3 ");
577 asm(" moveq lr, pc ");
578 asm(" beq poison3 ");
580 asm(" moveq lr, pc ");
581 asm(" beq poison3 ");
583 asm(" moveq lr, pc ");
584 asm(" beq poison3 ");
586 asm(" moveq lr, pc ");
587 asm(" beq poison3 ");
589 asm(" moveq lr, pc ");
590 asm(" beq poison3 ");
592 asm(" moveq lr, pc ");
593 asm(" beq poison3 ");
595 asm(" moveq lr, pc ");
596 asm(" beq poison3 ");
598 asm(" moveq lr, pc ");
599 asm(" beq poison3 ");
601 asm(" moveq lr, pc ");
602 asm(" beq poison3 ");
604 asm(" moveq lr, pc ");
605 asm(" beq poison3 ");
607 asm(" moveq lr, pc ");
608 asm(" beq poison3 ");
610 asm(" moveq lr, pc ");
611 asm(" beq poison3 ");
613 asm(" moveq lr, pc ");
614 asm(" beq poison3 ");
616 asm(" moveq lr, pc ");
617 asm(" beq poison3 ");
619 asm(" moveq lr, pc ");
620 asm(" beq poison3 ");
622 asm(" moveq lr, pc ");
623 asm(" beq poison3 ");
625 asm(" moveq lr, pc ");
626 asm(" beq poison3 ");
628 asm(" moveq lr, pc ");
629 asm(" beq poison3 ");
631 asm(" moveq lr, pc ");
632 asm(" beq poison3 ");
634 asm(" moveq lr, pc ");
635 asm(" beq poison3 ");
637 asm(" moveq lr, pc ");
638 asm(" beq poison3 ");
640 asm(" moveq lr, pc ");
641 asm(" beq poison3 ");
643 asm(" moveq lr, pc ");
644 asm(" beq poison3 ");
646 asm(" moveq lr, pc ");
647 asm(" beq poison3 ");
649 asm(" moveq lr, pc ");
650 asm(" beq poison3 ");
652 asm(" moveq lr, pc ");
653 asm(" beq poison3 ");
655 asm(" moveq lr, pc ");
656 asm(" beq poison3 ");
658 asm(" moveq lr, pc ");
659 asm(" beq poison3 ");
661 asm(" moveq lr, pc ");
662 asm(" beq poison3 ");
664 asm(" moveq lr, pc ");
665 asm(" beq poison3 ");
667 asm(" moveq lr, pc ");
668 asm(" beq poison3 ");
670 asm(" moveq lr, pc ");
671 asm(" beq poison3 ");
673 asm(" moveq lr, pc ");
674 asm(" beq poison3 ");
676 asm(" moveq lr, pc ");
677 asm(" beq poison3 ");
679 asm(" moveq lr, pc ");
680 asm(" beq poison3 ");
682 asm(" moveq lr, pc ");
683 asm(" beq poison3 ");
685 asm(" moveq lr, pc ");
686 asm(" beq poison3 ");
688 asm(" moveq lr, pc ");
689 asm(" beq poison3 ");
691 asm(" moveq lr, pc ");
692 asm(" beq poison3 ");
694 asm(" moveq lr, pc ");
695 asm(" beq poison3 ");
697 asm(" moveq lr, pc ");
698 asm(" beq poison3 ");
700 asm(" moveq lr, pc ");
701 asm(" beq poison3 ");
703 asm(" moveq lr, pc ");
704 asm(" beq poison3 ");
706 asm(" moveq lr, pc ");
707 asm(" beq poison3 ");
709 asm(" moveq lr, pc ");
710 asm(" beq poison3 ");
712 asm(" moveq lr, pc ");
713 asm(" beq poison3 ");
715 asm(" moveq lr, pc ");
716 asm(" beq poison3 ");
718 asm(" moveq lr, pc ");
719 asm(" beq poison3 ");
721 asm(" moveq lr, pc ");
722 asm(" beq poison3 ");
724 asm(" moveq lr, pc ");
725 asm(" beq poison3 ");
727 asm(" moveq lr, pc ");
728 asm(" beq poison3 ");
730 asm(" moveq lr, pc ");
731 asm(" beq poison3 ");
733 asm(" moveq lr, pc ");
734 asm(" beq poison3 ");
736 asm(" moveq lr, pc ");
737 asm(" beq poison3 ");
739 asm(" moveq lr, pc ");
740 asm(" beq poison3 ");
742 asm(" moveq lr, pc ");
743 asm(" beq poison3 ");
745 asm(" moveq lr, pc ");
746 asm(" beq poison3 ");
748 asm(" moveq lr, pc ");
749 asm(" beq poison3 ");
751 asm(" moveq lr, pc ");
752 asm(" beq poison3 ");
754 asm(" moveq lr, pc ");
755 asm(" beq poison3 ");
757 asm(" moveq lr, pc ");
758 asm(" beq poison3 ");
760 asm(" moveq lr, pc ");
761 asm(" beq poison3 ");
763 asm(" moveq lr, pc ");
764 asm(" beq poison3 ");
766 asm(" moveq lr, pc ");
767 asm(" beq poison3 ");
769 asm(" moveq lr, pc ");
770 asm(" beq poison3 ");
772 asm(" moveq lr, pc ");
773 asm(" beq poison3 ");
775 asm(" moveq lr, pc ");
776 asm(" beq poison3 ");
778 asm(" moveq lr, pc ");
779 asm(" beq poison3 ");
781 asm(" moveq lr, pc ");
782 asm(" beq poison3 ");
784 asm(" moveq lr, pc ");
785 asm(" beq poison3 ");
787 asm(" moveq lr, pc ");
788 asm(" beq poison3 ");
790 asm(" moveq lr, pc ");
791 asm(" beq poison3 ");
793 asm(" moveq lr, pc ");
794 asm(" beq poison3 ");
796 asm(" moveq lr, pc ");
797 asm(" beq poison3 ");
799 asm(" moveq lr, pc ");
800 asm(" beq poison3 ");
802 asm(" moveq lr, pc ");
803 asm(" beq poison3 ");
805 asm(" moveq lr, pc ");
806 asm(" beq poison3 ");
808 asm(" moveq lr, pc ");
809 asm(" beq poison3 ");
811 asm(" moveq lr, pc ");
812 asm(" beq poison3 ");
813 asm(" teq r3, #2 "); // did we fall through?
814 asm(" movne r0, #-1 "); // yes we did!
815 __JUMP(ne,r1); // return
816 asm(" subs r2, r2, #1 "); // no, decrement the counter and go again
817 asm(" bne loop2 "); // if there are iters left and we didn't fall through
818 __JUMP(,r1); // the end!
820 asm(" mov r3, #1 "); // woops!
823 asm(" mov r3, #2 "); // we're ok
827 __NAKED__ void BranchTest2End()
833 __NAKED__ TInt BranchTest3()
835 asm(" b entrage "); // skip the subroutine
837 asm(" mov r3, #3 "); // we're ok
840 asm(" movs r0, #0"); // return status KErrNone
841 asm(" mov r3, #3"); // this is test 3
842 asm(" mov r1, lr"); // save return address
843 asm(" mov r2, #0xff00"); // iterations
845 asm(" cmp r1, r1 "); // reset flags
846 asm(" bleq nontoxic1 "); // start test!
848 asm(" bleq nontoxic1 ");
850 asm(" bleq nontoxic1 ");
852 asm(" bleq nontoxic1 ");
854 asm(" bleq nontoxic1 ");
856 asm(" bleq nontoxic1 ");
858 asm(" bleq nontoxic1 ");
860 asm(" bleq nontoxic1 ");
862 asm(" bleq nontoxic1 ");
864 asm(" bleq nontoxic1 ");
866 asm(" bleq nontoxic1 ");
868 asm(" bleq nontoxic1 ");
870 asm(" bleq nontoxic1 ");
872 asm(" bleq nontoxic1 ");
874 asm(" bleq nontoxic1 ");
876 asm(" bleq nontoxic1 ");
878 asm(" bleq nontoxic1 ");
880 asm(" bleq nontoxic1 ");
882 asm(" bleq nontoxic1 ");
884 asm(" bleq nontoxic1 ");
886 asm(" bleq nontoxic1 ");
888 asm(" bleq nontoxic1 ");
890 asm(" bleq nontoxic1 ");
892 asm(" bleq nontoxic1 ");
894 asm(" bleq nontoxic1 ");
896 asm(" bleq nontoxic1 ");
898 asm(" bleq nontoxic1 ");
900 asm(" bleq nontoxic1 ");
902 asm(" bleq nontoxic1 ");
904 asm(" bleq nontoxic1 ");
906 asm(" bleq nontoxic1 ");
908 asm(" bleq nontoxic1 ");
910 asm(" bleq nontoxic1 ");
912 asm(" bleq nontoxic1 ");
914 asm(" bleq nontoxic1 ");
916 asm(" bleq nontoxic1 ");
918 asm(" bleq nontoxic1 ");
920 asm(" bleq nontoxic1 ");
922 asm(" bleq nontoxic1 ");
924 asm(" bleq nontoxic1 ");
926 asm(" bleq nontoxic1 ");
928 asm(" bleq nontoxic1 ");
930 asm(" bleq nontoxic1 ");
932 asm(" bleq nontoxic1 ");
934 asm(" bleq nontoxic1 ");
936 asm(" bleq nontoxic1 ");
938 asm(" bleq nontoxic1 ");
940 asm(" bleq nontoxic1 ");
942 asm(" bleq nontoxic1 ");
944 asm(" bleq nontoxic1 ");
946 asm(" bleq nontoxic1 ");
948 asm(" bleq nontoxic1 ");
950 asm(" bleq nontoxic1 ");
952 asm(" bleq nontoxic1 ");
954 asm(" bleq nontoxic1 ");
956 asm(" bleq nontoxic1 ");
958 asm(" bleq nontoxic1 ");
960 asm(" bleq nontoxic1 ");
962 asm(" bleq nontoxic1 ");
964 asm(" bleq nontoxic1 ");
966 asm(" bleq nontoxic1 ");
968 asm(" bleq nontoxic1 ");
970 asm(" bleq nontoxic1 ");
972 asm(" bleq nontoxic1 ");
974 asm(" bleq nontoxic1 ");
976 asm(" bleq nontoxic1 ");
978 asm(" bleq nontoxic1 ");
980 asm(" bleq nontoxic1 ");
982 asm(" bleq nontoxic1 ");
984 asm(" bleq nontoxic1 ");
986 asm(" bleq nontoxic1 ");
988 asm(" bleq nontoxic1 ");
990 asm(" bleq nontoxic1 ");
992 asm(" bleq nontoxic1 ");
994 asm(" bleq nontoxic1 ");
996 asm(" bleq nontoxic1 ");
998 asm(" bleq nontoxic1 ");
1000 asm(" bleq nontoxic1 ");
1001 asm(" cmp r3, #3 ");
1002 asm(" bleq nontoxic1 ");
1003 asm(" cmp r3, #3 ");
1004 asm(" bleq nontoxic1 ");
1005 asm(" cmp r3, #3 ");
1006 asm(" bleq nontoxic1 ");
1007 asm(" cmp r3, #3 ");
1008 asm(" bleq nontoxic1 ");
1009 asm(" cmp r3, #3 ");
1010 asm(" bleq nontoxic1 ");
1011 asm(" cmp r3, #3 ");
1012 asm(" bleq nontoxic1 ");
1013 asm(" cmp r3, #3 ");
1014 asm(" bleq nontoxic1 ");
1015 asm(" cmp r3, #3 ");
1016 asm(" bleq nontoxic1 ");
1017 asm(" cmp r3, #3 ");
1018 asm(" bleq nontoxic1 ");
1019 asm(" cmp r3, #3 ");
1020 asm(" bleq nontoxic1 ");
1021 asm(" cmp r3, #3 ");
1022 asm(" bleq nontoxic1 ");
1023 asm(" cmp r3, #3 ");
1024 asm(" bleq nontoxic1 ");
1025 asm(" cmp r3, #3 ");
1026 asm(" bleq nontoxic1 ");
1027 asm(" cmp r3, #3 ");
1028 asm(" bleq nontoxic1 ");
1029 asm(" cmp r3, #3 ");
1030 asm(" bleq nontoxic1 ");
1031 asm(" cmp r3, #3 ");
1032 asm(" bleq nontoxic1 ");
1033 asm(" cmp r3, #3 ");
1034 asm(" bleq nontoxic1 ");
1035 asm(" cmp r3, #3 ");
1036 asm(" bleq nontoxic1 ");
1037 asm(" cmp r3, #3 ");
1038 asm(" bleq nontoxic1 ");
1039 asm(" cmp r3, #3 ");
1040 asm(" bleq nontoxic1 ");
1041 asm(" cmp r3, #3 ");
1042 asm(" bleq nontoxic1 ");
1043 asm(" cmp r3, #3 ");
1044 asm(" bleq nontoxic1 ");
1045 asm(" cmp r3, #3 ");
1046 asm(" bleq nontoxic1 ");
1047 asm(" cmp r3, #3 ");
1048 asm(" bleq nontoxic1 ");
1049 asm(" cmp r3, #3 ");
1050 asm(" bleq nontoxic1 ");
1051 asm(" cmp r3, #3 ");
1052 asm(" bleq nontoxic1 ");
1053 asm(" cmp r3, #3 ");
1054 asm(" bleq nontoxic1 ");
1055 asm(" cmp r3, #3 ");
1056 asm(" bleq nontoxic1 ");
1057 asm(" cmp r3, #3 ");
1058 asm(" bleq nontoxic1 ");
1059 asm(" cmp r3, #3 ");
1060 asm(" bleq nontoxic1 ");
1061 asm(" cmp r3, #3 ");
1062 asm(" bleq nontoxic1 ");
1063 asm(" cmp r3, #3 ");
1064 asm(" bleq nontoxic1 ");
1065 asm(" cmp r3, #3 ");
1066 asm(" bleq nontoxic1 ");
1067 asm(" cmp r3, #3 ");
1068 asm(" bleq nontoxic1 ");
1069 asm(" cmp r3, #3 ");
1070 asm(" bleq nontoxic1 ");
1071 asm(" cmp r3, #3 ");
1072 asm(" bleq nontoxic1 ");
1073 asm(" cmp r3, #3 ");
1074 asm(" bleq nontoxic1 ");
1075 asm(" cmp r3, #3 ");
1076 asm(" bleq nontoxic1 ");
1077 asm(" cmp r3, #3 ");
1078 asm(" bleq nontoxic1 ");
1079 asm(" cmp r3, #3 ");
1080 asm(" bleq nontoxic1 ");
1081 asm(" cmp r3, #3 ");
1082 asm(" bleq nontoxic1 ");
1083 asm(" cmp r3, #3 ");
1084 asm(" bleq nontoxic1 ");
1085 asm(" cmp r3, #3 ");
1086 asm(" bleq nontoxic1 ");
1087 asm(" cmp r3, #3 ");
1088 asm(" bleq nontoxic1 ");
1089 asm(" cmp r3, #3 ");
1090 asm(" bleq nontoxic1 ");
1091 asm(" cmp r3, #3 ");
1092 asm(" bleq nontoxic1 ");
1093 asm(" cmp r3, #3 ");
1094 asm(" bleq nontoxic1 ");
1095 asm(" cmp r3, #3 ");
1096 asm(" bleq nontoxic1 ");
1097 asm(" teq r3, #3 "); // did we fall through?
1098 asm(" movne r0, #-1 "); // yes we did!
1099 __JUMP(ne,r1); // return
1100 asm(" subs r2, r2, #1 "); // no, decrement the counter and go again
1101 asm(" bne loop3 "); // if there are iters left and we didn't fall through
1102 __JUMP(,r1); // the end!
1104 asm(" mov r3, #1 "); // woops!
1108 __NAKED__ void BranchTest3End()
1113 __NAKED__ void BranchTest4(TInt)
1115 asm(" mov r2, #0xff000 "); // big number
1117 asm(" cmp r0, #0 ");
1118 asm(" beq skippy ");
1120 asm(" and r4, r4, r4 ");
1121 asm(" and r5, r5, r5 ");
1122 asm(" and r6, r6, r6 ");
1123 asm(" and r7, r7, r7 ");
1124 asm(" and r8, r8, r8 ");
1127 asm(" subs r2, r2, #1 ");
1131 __NAKED__ void BranchTest4End()