Search
lxdream.org :: lxdream/test/sh4/cmpstr.s
lxdream 0.9.1
released Jun 29
Download Now
filename test/sh4/cmpstr.s
changeset 364:d738f6883d4a
author nkeynes
date Tue Feb 28 18:22:52 2012 +1000 (12 years ago)
permissions -rw-r--r--
last change Add a GL-only video driver for android usage (since the Java code is
responsible for creating the context)
file annotate diff log raw
nkeynes@364
     1
.section .text
nkeynes@364
     2
.include "sh4/inc.s"
nkeynes@364
     3
!
nkeynes@364
     4
! Test cmp/xx
nkeynes@364
     5
nkeynes@364
     6
.global _test_cmpstr
nkeynes@364
     7
_test_cmpstr:
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_cmpstr_1:	! CMP/STR r2,r2
nkeynes@364
    13
	add #1, r12
nkeynes@364
    14
	mova test_cmpstr_str, r0
nkeynes@364
    15
	cmp/str r0, r0
nkeynes@364
    16
	bt test_cmpstr_2
nkeynes@364
    17
	fail test_cmpstr_str_k
nkeynes@364
    18
nkeynes@364
    19
test_cmpstr_2:
nkeynes@364
    20
	mova test_cmpstr_data, r0
nkeynes@364
    21
	mov r0, r11
nkeynes@364
    22
	mov #6, r10
nkeynes@364
    23
nkeynes@364
    24
test_cmpstr_2_loop:
nkeynes@364
    25
	add #1, r12
nkeynes@364
    26
	mov.l @r11+, r2
nkeynes@364
    27
	mov.l @r11+, r3
nkeynes@364
    28
	mov.l @r11+, r4
nkeynes@364
    29
	cmp/str r2, r3
nkeynes@364
    30
	movt r0
nkeynes@364
    31
	cmp/eq r0, r4
nkeynes@364
    32
	bt test_cmpstr_2_ok
nkeynes@364
    33
	fail test_cmpstr_str_k
nkeynes@364
    34
test_cmpstr_2_ok:
nkeynes@364
    35
	dt r10
nkeynes@364
    36
	bf test_cmpstr_2_loop
nkeynes@364
    37
nkeynes@364
    38
test_cmpstr_end:
nkeynes@364
    39
	mov.l @r15+, r10
nkeynes@364
    40
	mov.l @r15+, r11
nkeynes@364
    41
	end_test test_cmpstr_str_k
nkeynes@364
    42
nkeynes@364
    43
test_cmpstr_data:
nkeynes@364
    44
	.long 0x81828384
nkeynes@364
    45
	.long 0x82838485
nkeynes@364
    46
	.long 0x00000000
nkeynes@364
    47
nkeynes@364
    48
	.long 0x01040302
nkeynes@364
    49
	.long 0x02010304
nkeynes@364
    50
	.long 0x00000001
nkeynes@364
    51
nkeynes@364
    52
	.long 0xAA55AA55
nkeynes@364
    53
	.long 0x55AA55AA
nkeynes@364
    54
	.long 0x00000000
nkeynes@364
    55
nkeynes@364
    56
	.long 0x12345678
nkeynes@364
    57
	.long 0x12345678
nkeynes@364
    58
	.long 0x00000001
nkeynes@364
    59
nkeynes@364
    60
	.long 0xABCD01DC
nkeynes@364
    61
	.long 0xABCD01DD
nkeynes@364
    62
	.long 0x00000001
nkeynes@364
    63
nkeynes@364
    64
	.long 0x12003423
nkeynes@364
    65
	.long 0x12342300
nkeynes@364
    66
	.long 0x00000001
nkeynes@364
    67
nkeynes@364
    68
test_cmpstr_str_k:
nkeynes@364
    69
	.long test_cmpstr_str
nkeynes@364
    70
test_cmpstr_str:
nkeynes@364
    71
	.string "CMP/STR"
nkeynes@364
    72
	
.