filename | test/sh4/add.s |
changeset | 226:0eeeb25447d3 |
prev | 225:e5cea6125580 |
next | 231:a9e61a96a885 |
author | nkeynes |
date | Sat Sep 23 10:35:29 2006 +0000 (15 years ago) |
permissions | -rw-r--r-- |
last change | SH4 tests: Add tests for addc, addv, and |
file | annotate | diff | log | raw |
1.1 --- a/test/sh4/add.s Wed Sep 20 09:52:32 2006 +00001.2 +++ b/test/sh4/add.s Sat Sep 23 10:35:29 2006 +00001.3 @@ -1,17 +1,11 @@1.4 - .section .text1.5 +.section .text1.6 +.include "sh4/inc.s"1.7 +1.8 .global _test_add1.9 _test_add:1.10 - mov.l r14, @-r151.11 - sts.l pr, @-r151.12 - mov.l r12, @-r151.13 - mov.l r13, @-r151.14 - mov r15, r141.15 - xor r12,r121.16 - xor r13,r131.17 -# r12 is the test counter1.18 -# r13 is the failed-test counter1.19 + start_test1.21 -test_add_1: # test adding 0+0 = 01.22 +test_add_1: ! test adding 0+0 = 01.23 add #1, r121.24 xor r0,r01.25 xor r1,r11.26 @@ -19,9 +13,9 @@1.27 add r0,r11.28 cmp/eq r1, r21.29 bt test_add_21.30 - add #1, r131.31 + fail test_add_str_k1.33 -test_add_2: # test 0+ constant 1 = 11.34 +test_add_2: ! test 0+ constant 1 = 11.35 add #1, r121.36 xor r0, r01.37 xor r1, r11.38 @@ -29,7 +23,7 @@1.39 mov.l test_add_2_result, r21.40 cmp/eq r1, r21.41 bt test_add_31.42 - add #1, r131.43 + fail test_add_str_k1.44 bra test_add_31.45 nop1.47 @@ -37,7 +31,7 @@1.48 test_add_2_result:1.49 .long 0x000000011.51 -test_add_3: # test 0 + constant -1 = -11.52 +test_add_3: ! test 0 + constant -1 = -11.53 add #1, r121.54 xor r0, r01.55 xor r1, r11.56 @@ -45,7 +39,7 @@1.57 mov.l test_add_3_result, r21.58 cmp/eq r1, r21.59 bt test_add_41.60 - add #1, r131.61 + fail test_add_str_k1.62 bra test_add_41.63 nop1.65 @@ -53,7 +47,7 @@1.66 test_add_3_result:1.67 .long 0xFFFFFFFF1.69 -test_add_4: # test a+b = c w/ overflow1.70 +test_add_4: ! test a+b = c w/ overflow1.71 add #1, r121.72 mov.l test_add_4_op1, r41.73 mov.l test_add_4_op2, r51.74 @@ -61,7 +55,7 @@1.75 add r4, r51.76 cmp/eq r5, r01.77 bt test_add_51.78 - add #1, r131.79 + fail test_add_str_k1.80 bra test_add_51.81 nop1.83 @@ -73,38 +67,28 @@1.84 test_add_4_result:1.85 .long 0x399999991.87 -test_add_5: # test carry neither used nor set (ala ADDC)1.88 +test_add_5: ! test carry neither used nor set (ala ADDC)1.89 add #1, r121.90 mov.l test_add_5_op1, r81.91 mov.l test_add_5_op2, r91.92 stc sr, r101.93 xor r0,r01.94 add #1, r01.95 + stc sr, r11.96 or r0,r101.97 ldc r10, sr1.98 add r9,r81.99 mov.l test_add_5_result, r111.100 cmp/eq r11, r81.101 bt test_add_5_b1.102 - add #1, r131.103 - mov.l test_print_failure_k, r31.104 - mov r12, r51.105 - mov.l test_add_str_k, r41.106 - jsr @r31.107 - nop1.108 + fail test_add_str_k1.109 bra test_add_61.110 nop1.111 test_add_5_b:1.112 - stc sr, r11.113 and r0, r11.114 cmp/eq r0, r11.115 bt test_add_61.116 - add #1, r131.117 - mov.l test_print_failure_k, r31.118 - mov r12, r51.119 - mov.l test_add_str_k, r41.120 - jsr @r31.121 - nop1.122 + fail test_add_str_k1.123 bra test_add_61.124 nop1.126 @@ -115,31 +99,54 @@1.127 test_add_5_result:1.128 .long 0x211211101.130 -test_add_6:1.131 +test_add_6: ! test maximum negative immediate1.132 + add #1, r121.133 + xor r0,r01.134 + add #128, r01.135 + mov.l test_add_6_result, r11.136 + cmp/eq r0, r11.137 + bt test_add_71.138 + fail test_add_str_k1.139 + bra test_add_71.140 + nop1.141 +test_add_6_result:1.142 + .long 0xFFFFFF801.143 +1.144 +test_add_7: ! test maximum positive immediate1.145 + add #1, r121.146 + xor r0,r01.147 + add #127, r01.148 + mov.l test_add_7_result, r11.149 + cmp/eq r0, r11.150 + bt test_add_81.151 + fail test_add_str_k1.152 + bra test_add_81.153 + nop1.154 +test_add_7_result:1.155 + .long 0x0000007F1.156 +1.157 +test_add_8: ! Test example from manual1.158 + add #1, r121.159 + mov.l test_add_8_op1, r31.160 + add #-2, R31.161 + mov.l test_add_8_result, r11.162 + cmp/eq r3,r11.163 + bt test_add_end1.164 + fail test_add_str_k1.165 + bra test_add_end1.166 + nop1.167 +test_add_8_op1:1.168 + .long 0x000000011.169 +test_add_8_result:1.170 + .long 0xFFFFFFFF1.172 test_add_end:1.173 - mov.l test_add_str_k, r41.174 - mov r13, r51.175 - mov r12, r61.176 - mov.l test_print_result_k, r11.177 - jsr @r11.178 - mov r14, r151.179 - mov.l @r15+, r131.180 - mov.l @r15+, r121.181 - lds.l @r15+, pr1.182 - mov.l @r15+, r141.183 - rts1.184 - nop1.185 + end_test test_add_str_k1.187 - .align 21.188 test_add_str:1.189 .string "ADD"1.190 - .align 21.191 -1.192 +1.193 +.align 41.194 test_add_str_k:1.195 .long test_add_str1.196 -test_print_result_k:1.197 - .long _test_print_result1.198 -test_print_failure_k:1.199 - .long _test_print_failure1.201 \ No newline at end of file
.