| |
| .globl _main |
| .globl call_tests |
| .globl movm_tests |
| .globl misc_tests |
| .globl mov_tests |
| .globl ext_tests |
| .globl add_tests |
| .globl sub_tests |
| .globl cmp_tests |
| .globl logical_tests |
| .globl shift_tests |
| .globl muldiv_tests |
| .globl movbu_tests |
| .globl movhu_tests |
| .globl mac_tests |
| .globl bit_tests |
| .globl dsp_add_tests |
| .globl dsp_cmp_tests |
| .globl dsp_sub_tests |
| .globl dsp_mov_tests |
| .globl dsp_logical_tests |
| .globl dsp_misc_tests |
| .globl autoincrement_tests |
| .globl dsp_autoincrement_tests |
| |
| .text |
| .am33 |
| _main: |
| call_tests: |
| call 256,[a2,a3,exreg0],9 |
| call 256,[a2,a3,exreg1],9 |
| call 256,[a2,a3,exother],9 |
| call 256,[a2,a3,all],9 |
| call 131071,[a2,a3,exreg0],9 |
| call 131071,[a2,a3,exreg1],9 |
| call 131071,[a2,a3,exother],9 |
| call 131071,[a2,a3,all],9 |
| |
| movm_tests: |
| movm (sp),[a2,a3,exreg0] |
| movm (sp),[a2,a3,exreg1] |
| movm (sp),[a2,a3,exother] |
| movm (sp),[a2,a3,all] |
| movm [a2,a3,exreg0],(sp) |
| movm [a2,a3,exreg1],(sp) |
| movm [a2,a3,exother],(sp) |
| movm [a2,a3,all],(sp) |
| movm (usp),[a2,a3,exreg0] |
| movm (usp),[a2,a3,exreg1] |
| movm (usp),[a2,a3,exother] |
| movm (usp),[a2,a3,all] |
| movm [a2,a3,exreg0],(usp) |
| movm [a2,a3,exreg1],(usp) |
| movm [a2,a3,exother],(usp) |
| movm [a2,a3,all],(usp) |
| |
| misc_tests: |
| syscall 0x4 |
| mcst9 d0 |
| mcst48 d1 |
| getchx d0 |
| getclx d1 |
| clr r9 |
| sat16 r9,r8 |
| mcste r7,r6 |
| swap r5,r4 |
| swaph r3,r2 |
| swhw r1,r0 |
| |
| |
| mov_tests: |
| mov r0,r1 |
| mov xr0, r1 |
| mov r1, xr2 |
| mov (r1),r2 |
| mov r3,(r4) |
| mov (sp),r5 |
| mov r6,(sp) |
| mov 16,r1 |
| mov 16,xr1 |
| mov (16,r1),r2 |
| mov r2,(16,r1) |
| mov (16,sp),r2 |
| mov r2,(16,sp) |
| mov 0x1ffeff,r2 |
| mov 0x1ffeff,xr2 |
| mov (0x1ffeff,r1),r2 |
| mov r2,(0x1ffeff,r1) |
| mov (0x1ffeff,sp),r2 |
| mov r2,(0x1ffeff,sp) |
| mov (0x1ffeff),r2 |
| mov r2,(0x1ffeff) |
| mov 0x7ffefdfc,r2 |
| mov 0x7ffefdfc,xr2 |
| mov (0x7ffefdfc,r1),r2 |
| mov r2,(0x7ffefdfc,r1) |
| mov (0x7ffefdfc,sp),r2 |
| mov r2,(0x7ffefdfc,sp) |
| mov (0x7ffefdfc),r2 |
| mov r2,(0x7ffefdfc) |
| movu 16,r1 |
| movu 0x1ffeff,r2 |
| movu 0x7ffefdfc,r2 |
| mov usp,a0 |
| mov ssp,a1 |
| mov msp,a2 |
| mov pc,a3 |
| mov a0,usp |
| mov a1,ssp |
| mov a2,msp |
| mov epsw,d0 |
| mov d1,epsw |
| mov a0,r1 |
| mov d2,r3 |
| mov r5,a1 |
| mov r7,d3 |
| |
| ext_tests: |
| ext r2 |
| extb r3,r4 |
| extbu r4,r5 |
| exth r6,r7 |
| exthu r7,r8 |
| |
| add_tests: |
| add r10,r11 |
| add 16,r1 |
| add 0x1ffeff,r2 |
| add 0x7ffefdfc,r2 |
| add r1,r2,r3 |
| addc r12,r13 |
| addc 16,r1 |
| addc 0x1ffeff,r2 |
| addc 0x7ffefdfc,r2 |
| inc r13 |
| inc4 r12 |
| |
| |
| sub_tests: |
| sub r14,r15 |
| sub 16,r1 |
| sub 0x1ffeff,r2 |
| sub 0x7ffefdfc,r2 |
| subc r15,r14 |
| subc 16,r1 |
| subc 0x1ffeff,r2 |
| subc 0x7ffefdfc,r2 |
| |
| cmp_tests: |
| cmp r11,r10 |
| cmp 16,r1 |
| cmp 0x1ffeff,r2 |
| cmp 0x7ffefdfc,r2 |
| |
| logical_tests: |
| and r0,r1 |
| or r2,r3 |
| xor r4,r5 |
| not r6 |
| and 16,r1 |
| or 16,r1 |
| xor 16,r1 |
| and 0x1ffeff,r2 |
| or 0x1ffeff,r2 |
| xor 0x1ffeff,r2 |
| and 0x7ffefdfc,r2 |
| or 0x7ffefdfc,r2 |
| xor 0x7ffefdfc,r2 |
| and 131072,epsw |
| or 65535,epsw |
| |
| shift_tests: |
| asr r7,r8 |
| lsr r9,r10 |
| asl r11,r12 |
| asl2 r13 |
| ror r14 |
| rol r15 |
| asr 16,r1 |
| lsr 16,r1 |
| asl 16,r1 |
| asr 0x1ffeff,r2 |
| lsr 0x1ffeff,r2 |
| asl 0x1ffeff,r2 |
| asr 0x7ffefdfc,r2 |
| lsr 0x7ffefdfc,r2 |
| asl 0x7ffefdfc,r2 |
| |
| muldiv_tests: |
| mul r1,r2 |
| mulu r3,r4 |
| mul 16,r1 |
| mulu 16,r1 |
| mul 0x1ffeff,r2 |
| mulu 0x1ffeff,r2 |
| mul 0x7ffefdfc,r2 |
| mulu 0x7ffefdfc,r2 |
| div r5,r6 |
| divu r7,r8 |
| dmulh r13,r12 |
| dmulhu r11,r10 |
| dmulh 0x7ffefdfc,r2 |
| dmulhu 0x7ffefdfc,r2 |
| mul r1,r2,r3,r4 |
| mulu r1,r2,r3,r4 |
| |
| movbu_tests: |
| movbu (r5),r6 |
| movbu r7,(r8) |
| movbu (sp),r7 |
| movbu r8,(sp) |
| movbu (16,r1),r2 |
| movbu r2,(16,r1) |
| movbu (16,sp),r2 |
| movbu r2,(16,sp) |
| movbu (0x1ffeff,r1),r2 |
| movbu r2,(0x1ffeff,r1) |
| movbu (0x1ffeff,sp),r2 |
| movbu r2,(0x1ffeff,sp) |
| movbu (0x1ffeff),r2 |
| movbu r2,(0x1ffeff) |
| movbu (0x7ffefdfc,r1),r2 |
| movbu r2,(0x7ffefdfc,r1) |
| movbu (0x7ffefdfc,sp),r2 |
| movbu r2,(0x7ffefdfc,sp) |
| movbu (0x7ffefdfc),r2 |
| movbu r2,(0x7ffefdfc) |
| |
| movhu_tests: |
| movhu (r9),r10 |
| movhu r11,(r12) |
| movhu (sp),r9 |
| movhu r10,(sp) |
| movhu (16,r1),r2 |
| movhu r2,(16,r1) |
| movhu (16,sp),r2 |
| movhu r2,(16,sp) |
| movhu (0x1ffeff,r1),r2 |
| movhu r2,(0x1ffeff,r1) |
| movhu (0x1ffeff,sp),r2 |
| movhu r2,(0x1ffeff,sp) |
| movhu (0x1ffeff),r2 |
| movhu r2,(0x1ffeff) |
| movhu (0x7ffefdfc,r1),r2 |
| movhu r2,(0x7ffefdfc,r1) |
| movhu (0x7ffefdfc,sp),r2 |
| movhu r2,(0x7ffefdfc,sp) |
| movhu (0x7ffefdfc),r2 |
| movhu r2,(0x7ffefdfc) |
| |
| |
| mac_tests: |
| mac r1,r2 |
| macu r3,r4 |
| macb r5,r6 |
| macbu r7,r8 |
| mach r9,r10 |
| machu r11,r12 |
| dmach r13,r14 |
| dmachu r15,r14 |
| mac 16,r1 |
| macu 16,r1 |
| macb 16,r1 |
| macbu 16,r1 |
| mach 16,r1 |
| machu 16,r1 |
| mac 0x1ffeff,r2 |
| macu 0x1ffeff,r2 |
| macb 0x1ffeff,r2 |
| macbu 0x1ffeff,r2 |
| mach 0x1ffeff,r2 |
| machu 0x1ffeff,r2 |
| mac 0x7ffefdfc,r2 |
| macu 0x7ffefdfc,r2 |
| macb 0x7ffefdfc,r2 |
| macbu 0x7ffefdfc,r2 |
| mach 0x7ffefdfc,r2 |
| machu 0x7ffefdfc,r2 |
| dmach 0x7ffefdfc,r2 |
| dmachu 0x7ffefdfc,r2 |
| |
| bit_tests: |
| bsch r1,r2 |
| btst 16,r1 |
| btst 0x1ffeff,r2 |
| btst 0x7ffefdfc,r2 |
| |
| |
| |
| dsp_add_tests: |
| add_add r4,r1,r2,r3 |
| add_add r4,r1,2,r3 |
| add_sub r4,r1,r2,r3 |
| add_sub r4,r1,2,r3 |
| add_cmp r4,r1,r2,r3 |
| add_cmp r4,r1,2,r3 |
| add_mov r4,r1,r2,r3 |
| add_mov r4,r1,2,r3 |
| add_asr r4,r1,r2,r3 |
| add_asr r4,r1,2,r3 |
| add_lsr r4,r1,r2,r3 |
| add_lsr r4,r1,2,r3 |
| add_asl r4,r1,r2,r3 |
| add_asl r4,r1,2,r3 |
| add_add 4,r1,r2,r3 |
| add_add 4,r1,2,r3 |
| add_sub 4,r1,r2,r3 |
| add_sub 4,r1,2,r3 |
| add_cmp 4,r1,r2,r3 |
| add_cmp 4,r1,2,r3 |
| add_mov 4,r1,r2,r3 |
| add_mov 4,r1,2,r3 |
| add_asr 4,r1,r2,r3 |
| add_asr 4,r1,2,r3 |
| add_lsr 4,r1,r2,r3 |
| add_lsr 4,r1,2,r3 |
| add_asl 4,r1,r2,r3 |
| add_asl 4,r1,2,r3 |
| |
| dsp_cmp_tests: |
| cmp_add r4,r1,r2,r3 |
| cmp_add r4,r1,2,r3 |
| cmp_sub r4,r1,r2,r3 |
| cmp_sub r4,r1,2,r3 |
| cmp_mov r4,r1,r2,r3 |
| cmp_mov r4,r1,2,r3 |
| cmp_asr r4,r1,r2,r3 |
| cmp_asr r4,r1,2,r3 |
| cmp_lsr r4,r1,r2,r3 |
| cmp_lsr r4,r1,2,r3 |
| cmp_asl r4,r1,r2,r3 |
| cmp_asl r4,r1,2,r3 |
| cmp_add 4,r1,r2,r3 |
| cmp_add 4,r1,2,r3 |
| cmp_sub 4,r1,r2,r3 |
| cmp_sub 4,r1,2,r3 |
| cmp_mov 4,r1,r2,r3 |
| cmp_mov 4,r1,2,r3 |
| cmp_asr 4,r1,r2,r3 |
| cmp_asr 4,r1,2,r3 |
| cmp_lsr 4,r1,r2,r3 |
| cmp_lsr 4,r1,2,r3 |
| cmp_asl 4,r1,r2,r3 |
| cmp_asl 4,r1,2,r3 |
| |
| dsp_sub_tests: |
| sub_add r4,r1,r2,r3 |
| sub_add r4,r1,2,r3 |
| sub_sub r4,r1,r2,r3 |
| sub_sub r4,r1,2,r3 |
| sub_cmp r4,r1,r2,r3 |
| sub_cmp r4,r1,2,r3 |
| sub_mov r4,r1,r2,r3 |
| sub_mov r4,r1,2,r3 |
| sub_asr r4,r1,r2,r3 |
| sub_asr r4,r1,2,r3 |
| sub_lsr r4,r1,r2,r3 |
| sub_lsr r4,r1,2,r3 |
| sub_asl r4,r1,r2,r3 |
| sub_asl r4,r1,2,r3 |
| sub_add 4,r1,r2,r3 |
| sub_add 4,r1,2,r3 |
| sub_sub 4,r1,r2,r3 |
| sub_sub 4,r1,2,r3 |
| sub_cmp 4,r1,r2,r3 |
| sub_cmp 4,r1,2,r3 |
| sub_mov 4,r1,r2,r3 |
| sub_mov 4,r1,2,r3 |
| sub_asr 4,r1,r2,r3 |
| sub_asr 4,r1,2,r3 |
| sub_lsr 4,r1,r2,r3 |
| sub_lsr 4,r1,2,r3 |
| sub_asl 4,r1,r2,r3 |
| sub_asl 4,r1,2,r3 |
| |
| dsp_mov_tests: |
| mov_add r4,r1,r2,r3 |
| mov_add r4,r1,2,r3 |
| mov_sub r4,r1,r2,r3 |
| mov_sub r4,r1,2,r3 |
| mov_cmp r4,r1,r2,r3 |
| mov_cmp r4,r1,2,r3 |
| mov_mov r4,r1,r2,r3 |
| mov_mov r4,r1,2,r3 |
| mov_asr r4,r1,r2,r3 |
| mov_asr r4,r1,2,r3 |
| mov_lsr r4,r1,r2,r3 |
| mov_lsr r4,r1,2,r3 |
| mov_asl r4,r1,r2,r3 |
| mov_asl r4,r1,2,r3 |
| mov_add 4,r1,r2,r3 |
| mov_add 4,r1,2,r3 |
| mov_sub 4,r1,r2,r3 |
| mov_sub 4,r1,2,r3 |
| mov_cmp 4,r1,r2,r3 |
| mov_cmp 4,r1,2,r3 |
| mov_mov 4,r1,r2,r3 |
| mov_mov 4,r1,2,r3 |
| mov_asr 4,r1,r2,r3 |
| mov_asr 4,r1,2,r3 |
| mov_lsr 4,r1,r2,r3 |
| mov_lsr 4,r1,2,r3 |
| mov_asl 4,r1,r2,r3 |
| mov_asl 4,r1,2,r3 |
| |
| dsp_logical_tests: |
| and_add r4,r1,r2,r3 |
| and_add r4,r1,2,r3 |
| and_sub r4,r1,r2,r3 |
| and_sub r4,r1,2,r3 |
| and_cmp r4,r1,r2,r3 |
| and_cmp r4,r1,2,r3 |
| and_mov r4,r1,r2,r3 |
| and_mov r4,r1,2,r3 |
| and_asr r4,r1,r2,r3 |
| and_asr r4,r1,2,r3 |
| and_lsr r4,r1,r2,r3 |
| and_lsr r4,r1,2,r3 |
| and_asl r4,r1,r2,r3 |
| and_asl r4,r1,2,r3 |
| xor_add r4,r1,r2,r3 |
| xor_add r4,r1,2,r3 |
| xor_sub r4,r1,r2,r3 |
| xor_sub r4,r1,2,r3 |
| xor_cmp r4,r1,r2,r3 |
| xor_cmp r4,r1,2,r3 |
| xor_mov r4,r1,r2,r3 |
| xor_mov r4,r1,2,r3 |
| xor_asr r4,r1,r2,r3 |
| xor_asr r4,r1,2,r3 |
| xor_lsr r4,r1,r2,r3 |
| xor_lsr r4,r1,2,r3 |
| xor_asl r4,r1,r2,r3 |
| xor_asl r4,r1,2,r3 |
| or_add r4,r1,r2,r3 |
| or_add r4,r1,2,r3 |
| or_sub r4,r1,r2,r3 |
| or_sub r4,r1,2,r3 |
| or_cmp r4,r1,r2,r3 |
| or_cmp r4,r1,2,r3 |
| or_mov r4,r1,r2,r3 |
| or_mov r4,r1,2,r3 |
| or_asr r4,r1,r2,r3 |
| or_asr r4,r1,2,r3 |
| or_lsr r4,r1,r2,r3 |
| or_lsr r4,r1,2,r3 |
| or_asl r4,r1,r2,r3 |
| or_asl r4,r1,2,r3 |
| |
| dsp_misc_tests: |
| dmach_add r4,r1,r2,r3 |
| dmach_add r4,r1,2,r3 |
| dmach_sub r4,r1,r2,r3 |
| dmach_sub r4,r1,2,r3 |
| dmach_cmp r4,r1,r2,r3 |
| dmach_cmp r4,r1,2,r3 |
| dmach_mov r4,r1,r2,r3 |
| dmach_mov r4,r1,2,r3 |
| dmach_asr r4,r1,r2,r3 |
| dmach_asr r4,r1,2,r3 |
| dmach_lsr r4,r1,r2,r3 |
| dmach_lsr r4,r1,2,r3 |
| dmach_asl r4,r1,r2,r3 |
| dmach_asl r4,r1,2,r3 |
| swhw_add r4,r1,r2,r3 |
| swhw_add r4,r1,2,r3 |
| swhw_sub r4,r1,r2,r3 |
| swhw_sub r4,r1,2,r3 |
| swhw_cmp r4,r1,r2,r3 |
| swhw_cmp r4,r1,2,r3 |
| swhw_mov r4,r1,r2,r3 |
| swhw_mov r4,r1,2,r3 |
| swhw_asr r4,r1,r2,r3 |
| swhw_asr r4,r1,2,r3 |
| swhw_lsr r4,r1,r2,r3 |
| swhw_lsr r4,r1,2,r3 |
| swhw_asl r4,r1,r2,r3 |
| swhw_asl r4,r1,2,r3 |
| sat16_add r4,r1,r2,r3 |
| sat16_add r4,r1,2,r3 |
| sat16_sub r4,r1,r2,r3 |
| sat16_sub r4,r1,2,r3 |
| sat16_cmp r4,r1,r2,r3 |
| sat16_cmp r4,r1,2,r3 |
| sat16_mov r4,r1,r2,r3 |
| sat16_mov r4,r1,2,r3 |
| sat16_asr r4,r1,r2,r3 |
| sat16_asr r4,r1,2,r3 |
| sat16_lsr r4,r1,r2,r3 |
| sat16_lsr r4,r1,2,r3 |
| sat16_asl r4,r1,r2,r3 |
| sat16_asl r4,r1,2,r3 |
| |
| autoincrement_tests: |
| mov (r1+),r2 |
| mov r3,(r4+) |
| movhu (r6+),r7 |
| movhu r8,(r9+) |
| mov (r1+,64),r2 |
| mov r1,(r2+,64) |
| movhu (r1+,64),r2 |
| movhu r1,(r2+,64) |
| mov (r1+,0x1ffef),r2 |
| mov r1,(r2+,0x1ffef) |
| movhu (r1+,0x1ffef),r2 |
| movhu r1,(r2+,0x1ffef) |
| mov (r1+,0x7ffefdfc),r2 |
| mov r1,(r2+,0x7ffefdfc) |
| movhu (r1+,0x7ffefdfc),r2 |
| movhu r1,(r2+,0x7ffefdfc) |
| |
| dsp_autoincrement_tests: |
| mov_llt (r1+,4),r2 |
| mov_lgt (r1+,4),r2 |
| mov_lge (r1+,4),r2 |
| mov_lle (r1+,4),r2 |
| mov_lcs (r1+,4),r2 |
| mov_lhi (r1+,4),r2 |
| mov_lcc (r1+,4),r2 |
| mov_lls (r1+,4),r2 |
| mov_leq (r1+,4),r2 |
| mov_lne (r1+,4),r2 |
| mov_lra (r1+,4),r2 |