Search
lxdream.org :: lxdream/test/sh4/subc.s
lxdream 0.9.1
released Jun 29
Download Now
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
	
.