Search
lxdream.org :: lxdream/test/sh4/shld.s
lxdream 0.9.1
released Jun 29
Download Now
filename test/sh4/shld.s
changeset 364:d738f6883d4a
author nkeynes
date Tue Sep 04 08:30:22 2007 +0000 (16 years ago)
permissions -rw-r--r--
last change Add tests for CMPSTR, DIV0U, DIV0S, SHLD, and SHAD
file annotate diff log raw
nkeynes@364
     1
.section .text
nkeynes@364
     2
.include "sh4/inc.s"
nkeynes@364
     3
!
nkeynes@364
     4
! Test SHAD/SHLD operation
nkeynes@364
     5
!
nkeynes@364
     6
.global _test_shld
nkeynes@364
     7
_test_shld:	
nkeynes@364
     8
	start_test
nkeynes@364
     9
	mov.l r11, @-r15
nkeynes@364
    10
	mov.l r10, @-r15
nkeynes@364
    11
nkeynes@364
    12
test_shld_1:
nkeynes@364
    13
	mov #8, r11
nkeynes@364
    14
	mova test_shld_data, r0
nkeynes@364
    15
	mov r0, r10
nkeynes@364
    16
nkeynes@364
    17
test_shld_1_loop1:	
nkeynes@364
    18
	add #1, r12
nkeynes@364
    19
	mov.l @r10+, r2
nkeynes@364
    20
	mov.l @r10+, r3
nkeynes@364
    21
	mov.l @r10+, r4
nkeynes@364
    22
	shld r3, r2
nkeynes@364
    23
	cmp/eq r2, r4
nkeynes@364
    24
	bt test_shld_1_ok
nkeynes@364
    25
	fail test_shld_str_k
nkeynes@364
    26
test_shld_1_ok:	
nkeynes@364
    27
	dt r11
nkeynes@364
    28
	bf test_shld_1_loop1
nkeynes@364
    29
nkeynes@364
    30
test_shad_1:	! Same again, but using shad 
nkeynes@364
    31
	mov #8, r11
nkeynes@364
    32
	mova test_shad_data, r0
nkeynes@364
    33
	mov r0, r10
nkeynes@364
    34
nkeynes@364
    35
test_shad_1_loop1:	
nkeynes@364
    36
	add #1, r12
nkeynes@364
    37
	mov.l @r10+, r2
nkeynes@364
    38
	mov.l @r10+, r3
nkeynes@364
    39
	mov.l @r10+, r4
nkeynes@364
    40
	shad r3, r2
nkeynes@364
    41
	cmp/eq r2, r4
nkeynes@364
    42
	bt test_shad_1_ok
nkeynes@364
    43
	fail test_shld_str_k
nkeynes@364
    44
test_shad_1_ok:	
nkeynes@364
    45
	dt r11
nkeynes@364
    46
	bf test_shad_1_loop1
nkeynes@364
    47
nkeynes@364
    48
test_shld_end:
nkeynes@364
    49
	mov.l @r15+, r10
nkeynes@364
    50
	mov.l @r15+, r11
nkeynes@364
    51
	end_test test_shld_str_k
nkeynes@364
    52
nkeynes@364
    53
test_shld_data:
nkeynes@364
    54
	.long 0x12345678
nkeynes@364
    55
	.long 0
nkeynes@364
    56
	.long 0x12345678
nkeynes@364
    57
	
nkeynes@364
    58
	.long 0xA8B9CADB
nkeynes@364
    59
	.long 0x00000010
nkeynes@364
    60
	.long 0xCADB0000
nkeynes@364
    61
nkeynes@364
    62
	.long 0x8A9BACBD
nkeynes@364
    63
	.long 0xFFFFFFF0
nkeynes@364
    64
	.long 0x00008A9B
nkeynes@364
    65
		
nkeynes@364
    66
	.long 0x7A9BACBD
nkeynes@364
    67
	.long 0xFFFFFFF0
nkeynes@364
    68
	.long 0x00007A9B
nkeynes@364
    69
nkeynes@364
    70
	.long 0x7891ACDC
nkeynes@364
    71
	.long 0x80000000
nkeynes@364
    72
	.long 0x00000000
nkeynes@364
    73
	
nkeynes@364
    74
	.long 0x8719C010
nkeynes@364
    75
	.long 0x80000000
nkeynes@364
    76
	.long 0x00000000
nkeynes@364
    77
	
nkeynes@364
    78
	.long 0x7891ACDF
nkeynes@364
    79
	.long 0x7FFFFFFF
nkeynes@364
    80
	.long 0x80000000
nkeynes@364
    81
	
nkeynes@364
    82
	.long 0x8719C01E
nkeynes@364
    83
	.long 0x000000FF
nkeynes@364
    84
	.long 0x00000000
nkeynes@364
    85
nkeynes@364
    86
test_shad_data:	
nkeynes@364
    87
	.long 0x12345678
nkeynes@364
    88
	.long 0
nkeynes@364
    89
	.long 0x12345678
nkeynes@364
    90
	
nkeynes@364
    91
	.long 0xA8B9CADB
nkeynes@364
    92
	.long 0x00000010
nkeynes@364
    93
	.long 0xCADB0000
nkeynes@364
    94
	
nkeynes@364
    95
	.long 0x8A9BACBD
nkeynes@364
    96
	.long 0xFFFFFFF0
nkeynes@364
    97
	.long 0xFFFF8A9B
nkeynes@364
    98
nkeynes@364
    99
	.long 0x7A9BACBD
nkeynes@364
   100
	.long 0xFFFFFFF0
nkeynes@364
   101
	.long 0x00007A9B
nkeynes@364
   102
nkeynes@364
   103
	.long 0x7891ACDC
nkeynes@364
   104
	.long 0x80000000
nkeynes@364
   105
	.long 0x00000000
nkeynes@364
   106
	
nkeynes@364
   107
	.long 0x8719C010
nkeynes@364
   108
	.long 0x80000000
nkeynes@364
   109
	.long 0xFFFFFFFF
nkeynes@364
   110
	
nkeynes@364
   111
	.long 0x7891ACDF
nkeynes@364
   112
	.long 0x7FFFFFFF
nkeynes@364
   113
	.long 0x80000000
nkeynes@364
   114
	
nkeynes@364
   115
	.long 0x8719C01E
nkeynes@364
   116
	.long 0x000000FF
nkeynes@364
   117
	.long 0x00000000
nkeynes@364
   118
				
nkeynes@364
   119
test_shld_data_end:	
nkeynes@364
   120
	.align 4
nkeynes@364
   121
test_shld_data_end_k:
nkeynes@364
   122
	.long test_shld_data_end	
nkeynes@364
   123
test_shld_str_k:
nkeynes@364
   124
	.long test_shld_str
nkeynes@364
   125
test_shld_str:
nkeynes@364
   126
	.string "SHLD"
nkeynes@364
   127
	
.