filename | test/sh4/ftrc.s |
changeset | 357:3592a10b3242 |
next | 358:65043a8f5785 |
author | nkeynes |
date | Tue Feb 13 08:34:27 2007 +0000 (16 years ago) |
permissions | -rw-r--r-- |
last change | Add tests for FLOAT and FTRC Comment out user-mode exception test (broken) |
file | annotate | diff | log | raw |
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +00001.2 +++ b/test/sh4/ftrc.s Tue Feb 13 08:34:27 2007 +00001.3 @@ -0,0 +1,217 @@1.4 + .section .text1.5 +.include "sh4/inc.s"1.6 +!1.7 +! Test ftrc1.8 +1.9 +.global _test_ftrc1.10 +_test_ftrc:1.11 + start_test1.12 +1.13 + xor r0,r01.14 + lds r0, fpscr1.15 +1.16 +test_ftrc_1: ! Load 1.0 single precision1.17 + add #1, r121.18 + mov.l test_ftrc_1_input, r01.19 + lds r0, fpul1.20 + fsts fpul, fr01.21 + ftrc fr0, fpul1.22 + sts fpul, r01.23 + mov.l test_ftrc_1_result, r11.24 + cmp/eq r0,r11.25 + bt test_ftrc_21.26 +test_ftrc_1_fail:1.27 + fail test_ftrc_str_k1.28 + bra test_ftrc_21.29 + nop1.30 +1.31 +.align 41.32 +test_ftrc_1_input:1.33 + .long 0x3F8000001.34 +test_ftrc_1_result:1.35 + .long 0x000000011.36 +1.37 +test_ftrc_2: ! Load -1.0 double precision1.38 + add #1, r121.39 + setpr1.40 + mov.l test_ftrc_2_input_a, r01.41 + lds r0, fpul1.42 + fsts fpul, fr01.43 + mov.l test_ftrc_2_input_b, r01.44 + lds r0, fpul1.45 + fsts fpul, fr11.46 + ftrc fr0, fpul1.47 + sts fpul, r01.48 + mov.l test_ftrc_2_result, r11.49 + cmp/eq r0,r11.50 + bt test_ftrc_31.51 +test_ftrc_2_fail:1.52 + fail test_ftrc_str_k1.53 + bra test_ftrc_31.54 + nop1.55 +1.56 +test_ftrc_2_input_a:1.57 + .long 0xBFF000001.58 +test_ftrc_2_input_b:1.59 + .long 0x000000001.60 +test_ftrc_2_result:1.61 + .long 0xFFFFFFFF1.62 +1.63 +test_ftrc_3: ! pr=0, sz=11.64 + add #1, r121.65 + clrpr1.66 + mov.l test_ftrc_3_input, r01.67 + lds r0, fpul1.68 + fsts fpul, fr01.69 + fschg1.70 + ftrc fr0, fpul1.71 + sts fpul, r01.72 + mov.l test_ftrc_3_result, r11.73 + cmp/eq r0, r11.74 + bt test_ftrc_41.75 +test_ftrc_3_fail:1.76 + fail test_ftrc_str_k1.77 + bra test_ftrc_41.78 + nop1.79 +1.80 +test_ftrc_3_input:1.81 + .long 0xCE4CCCCD1.82 +test_ftrc_3_result:1.83 + .long 0xCCCCCCC01.84 +1.85 +test_ftrc_4: ! pr=1, sz=11.86 + add #1, r121.87 + fldi0 fr01.88 + fldi1 fr11.89 + setpr1.90 + mov.l test_ftrc_4_input_a, r01.91 + lds r0, fpul1.92 + fsts fpul, fr01.93 + mov.l test_ftrc_4_input_b, r01.94 + lds r0, fpul1.95 + fsts fpul, fr11.96 + ftrc fr0, fpul1.97 + sts fpul, r01.98 + mov.l test_ftrc_4_result, r11.99 + cmp/eq r0,r11.100 + bt test_ftrc_51.101 +test_ftrc_4_fail:1.102 + fail test_ftrc_str_k1.103 + bra test_ftrc_51.104 + nop1.105 +1.106 +test_ftrc_4_input_a:1.107 + .long 0x41DFFFFF1.108 +test_ftrc_4_input_b:1.109 + .long 0xFFC000001.110 +test_ftrc_4_result:1.111 + .long 0x7FFFFFFF1.112 +1.113 +1.114 +test_ftrc_5: ! test w/ max +int, sz=0, pr=0, fr=11.115 + add #1, r121.116 + xor r0,r01.117 + lds r0, fpscr1.118 + fldi0 fr01.119 + fldi0 fr11.120 + frchg1.121 + fldi0 fr01.122 + fldi0 fr11.123 + mov.l test_ftrc_5_input, r01.124 + lds r0, fpul1.125 + fsts fpul, fr01.126 + ftrc fr0, fpul1.127 + sts fpul, r01.128 + mov.l test_ftrc_5_result, r11.129 + cmp/eq r0, r11.130 + bf test_ftrc_5_fail1.131 + flds fr1, fpul1.132 + sts fpul, r01.133 + tst r0, r01.134 + bf test_ftrc_5_fail1.135 + lds r0, fpscr1.136 + flds fr0, fpul1.137 + sts fpul, r01.138 + tst r0, r01.139 + bt test_ftrc_61.140 +test_ftrc_5_fail:1.141 + fail test_ftrc_str_k1.142 + bra test_ftrc_61.143 + nop1.144 +1.145 +test_ftrc_5_input:1.146 + .long 0x4F0000001.147 +test_ftrc_5_result:1.148 + .long 0x7FFFFFFF1.149 +1.150 +test_ftrc_6: ! Test max -int1.151 + add #1, r121.152 + mov.l test_ftrc_6_input, r01.153 + lds r0, fpul1.154 + fsts fpul, fr51.155 + ftrc fr5, fpul1.156 + sts fpul, r21.157 + mov.l test_ftrc_6_result, r11.158 + cmp/eq r1, r21.159 + bt test_ftrc_71.160 +1.161 +test_ftrc_6_fail:1.162 + fail test_ftrc_str_k1.163 + bra test_ftrc_71.164 + nop1.165 +1.166 +test_ftrc_6_input:1.167 + .long 0xCF0000001.168 +test_ftrc_6_result:1.169 + .long 0x800000001.170 +1.171 +test_ftrc_7: ! Test >max +int1.172 + add #1, r121.173 + mov.l test_ftrc_7_input, r01.174 + lds r0, fpul1.175 + fsts fpul, fr71.176 + ftrc fr7, fpul1.177 + sts fpul, r21.178 + mov.l test_ftrc_7_result, r11.179 + cmp/eq r1, r21.180 + bt test_ftrc_81.181 +test_ftrc_7_fail:1.182 + fail test_ftrc_str_k1.183 + bra test_ftrc_71.184 + nop1.185 +1.186 +test_ftrc_7_input:1.187 + .long 0x7E1111111.188 +test_ftrc_7_result:1.189 + .long 0x7FFFFFFF1.190 +1.191 +test_ftrc_8: ! test < min -int1.192 + add #1, r121.193 + mov.l test_ftrc_8_input, r01.194 + lds r0, fpul1.195 + fsts fpul, fr91.196 + ftrc fr9, fpul1.197 + sts fpul, r21.198 + mov.l test_ftrc_8_result, r11.199 + cmp/eq r1, r21.200 + bt test_ftrc_end1.201 +test_ftrc_8_fail:1.202 + fail test_ftrc_str_k1.203 + bra test_ftrc_81.204 + nop1.205 +1.206 +test_ftrc_8_input:1.207 + .long 0xFE1111111.208 +test_ftrc_8_result:1.209 + .long 0x800000001.210 +1.211 +1.212 +test_ftrc_end:1.213 + end_test test_ftrc_str_k1.214 +1.215 +test_ftrc_str:1.216 + .string "FTRC"1.217 +1.218 +.align 41.219 +test_ftrc_str_k:1.220 + .long test_ftrc_str
.