filename | test/sh4/subc.s |
changeset | 393:5e5335b61373 |
author | nkeynes |
date | Tue Nov 20 08:31:34 2007 +0000 (16 years ago) |
permissions | -rw-r--r-- |
last change | Fix TRAPA (translator) and add test case |
file | annotate | diff | log | raw |
nkeynes@393 | 1 | .section .text |
nkeynes@393 | 2 | .include "sh4/inc.s" |
nkeynes@393 | 3 | |
nkeynes@393 | 4 | .global _test_subc |
nkeynes@393 | 5 | _test_subc: |
nkeynes@393 | 6 | start_test |
nkeynes@393 | 7 | |
nkeynes@393 | 8 | test_subc_1: ! test subing 0+0 = 0 |
nkeynes@393 | 9 | add #1, r12 |
nkeynes@393 | 10 | |
nkeynes@393 | 11 | xor r3, r3 |
nkeynes@393 | 12 | clrt |
nkeynes@393 | 13 | subc r3, r3 |
nkeynes@393 | 14 | bt test_subc_1_fail |
nkeynes@393 | 15 | tst r3, r3 |
nkeynes@393 | 16 | bt test_subc_2 |
nkeynes@393 | 17 | test_subc_1_fail: |
nkeynes@393 | 18 | fail test_subc_str_k |
nkeynes@393 | 19 | |
nkeynes@393 | 20 | test_subc_2: ! test subing 0+0+T = -1 |
nkeynes@393 | 21 | add #1, r12 |
nkeynes@393 | 22 | |
nkeynes@393 | 23 | xor r3, r3 |
nkeynes@393 | 24 | sett |
nkeynes@393 | 25 | subc r3, r3 |
nkeynes@393 | 26 | bf test_subc_2_fail |
nkeynes@393 | 27 | mov.l test_subc_2_result, r2 |
nkeynes@393 | 28 | cmp/eq r2, r3 |
nkeynes@393 | 29 | bt test_subc_3 |
nkeynes@393 | 30 | test_subc_2_fail: |
nkeynes@393 | 31 | fail test_subc_str_k |
nkeynes@393 | 32 | bra test_subc_3 |
nkeynes@393 | 33 | nop |
nkeynes@393 | 34 | test_subc_2_result: |
nkeynes@393 | 35 | .long 0xFFFFFFFF |
nkeynes@393 | 36 | test_subc_3: |
nkeynes@393 | 37 | add #1, r12 |
nkeynes@393 | 38 | |
nkeynes@393 | 39 | xor r3, r3 |
nkeynes@393 | 40 | mov.l test_subc_3_input, r2 |
nkeynes@393 | 41 | clrt |
nkeynes@393 | 42 | subc r2, r3 |
nkeynes@393 | 43 | bf test_subc_3_fail |
nkeynes@393 | 44 | mov.l test_subc_3_result, r1 |
nkeynes@393 | 45 | cmp/eq r1, r3 |
nkeynes@393 | 46 | bt test_subc_4 |
nkeynes@393 | 47 | test_subc_3_fail: |
nkeynes@393 | 48 | fail test_subc_str_k |
nkeynes@393 | 49 | bra test_subc_4 |
nkeynes@393 | 50 | nop |
nkeynes@393 | 51 | test_subc_3_input: |
nkeynes@393 | 52 | .long 0x00000001 |
nkeynes@393 | 53 | test_subc_3_result: |
nkeynes@393 | 54 | .long 0xFFFFFFFF |
nkeynes@393 | 55 | |
nkeynes@393 | 56 | test_subc_4: |
nkeynes@393 | 57 | add #1, r12 |
nkeynes@393 | 58 | |
nkeynes@393 | 59 | xor r3, r3 |
nkeynes@393 | 60 | mov.l test_subc_4_input, r2 |
nkeynes@393 | 61 | sett |
nkeynes@393 | 62 | subc r3, r2 |
nkeynes@393 | 63 | bt test_subc_4_fail |
nkeynes@393 | 64 | tst r2, r2 |
nkeynes@393 | 65 | bt test_subc_5 |
nkeynes@393 | 66 | test_subc_4_fail: |
nkeynes@393 | 67 | fail test_subc_str_k |
nkeynes@393 | 68 | bra test_subc_5 |
nkeynes@393 | 69 | nop |
nkeynes@393 | 70 | test_subc_4_input: |
nkeynes@393 | 71 | .long 0x00000001 |
nkeynes@393 | 72 | |
nkeynes@393 | 73 | test_subc_5: |
nkeynes@393 | 74 | test_subc_end: |
nkeynes@393 | 75 | end_test test_subc_str_k |
nkeynes@393 | 76 | |
nkeynes@393 | 77 | test_subc_str: |
nkeynes@393 | 78 | .string "SUBC" |
nkeynes@393 | 79 | |
nkeynes@393 | 80 | .align 4 |
nkeynes@393 | 81 | test_subc_str_k: |
nkeynes@393 | 82 | .long test_subc_str |
nkeynes@393 | 83 |
.