Search
lxdream.org :: lxdream/test/sh4/subv.s
lxdream 0.9.1
released Jun 29
Download Now
filename test/sh4/subv.s
changeset 1083:34895c8bab20
author nkeynes
date Fri Dec 02 18:18:04 2011 +1000 (12 years ago)
permissions -rw-r--r--
last change SH4 shadow-mode tweaks
- Fix exceptions generated by the translator to account for the excepting
instruction(s) in the cycle counts.
- Compare floating point regs bitwise rather than with FP comparisons
(otherwise can fail due to nan != nan)
- Dump the translated block when we abort with an inconsistency
file annotate diff log raw
nkeynes@1083
     1
.section .text
nkeynes@1083
     2
.include "sh4/inc.s"
nkeynes@1083
     3
nkeynes@1083
     4
.global _test_subv
nkeynes@1083
     5
_test_subv:
nkeynes@1083
     6
	start_test
nkeynes@1083
     7
	mov.l r11, @-r15
nkeynes@1083
     8
	mov.l test_subv_data_k, r11
nkeynes@1083
     9
	
nkeynes@1083
    10
test_subv_loop:
nkeynes@1083
    11
	mov.l test_subv_data_end_k, r4
nkeynes@1083
    12
	cmp/eq r11, r4
nkeynes@1083
    13
	bt test_subv_end
nkeynes@1083
    14
	add #1, r12
nkeynes@1083
    15
nkeynes@1083
    16
	clc
nkeynes@1083
    17
	mov.l @r11+, r0
nkeynes@1083
    18
	mov.l @r11+, r1
nkeynes@1083
    19
	subv r0, r1
nkeynes@1083
    20
	stc sr, r4
nkeynes@1083
    21
	mov.l @r11+, r2
nkeynes@1083
    22
	mov.l @r11+, r3
nkeynes@1083
    23
	cmp/eq r1, r2
nkeynes@1083
    24
	bt test_subv_b
nkeynes@1083
    25
	fail test_subv_str_k
nkeynes@1083
    26
	bra test_subv_loop
nkeynes@1083
    27
	nop
nkeynes@1083
    28
test_subv_b:
nkeynes@1083
    29
	ldc r4, sr
nkeynes@1083
    30
	xor r0, r0
nkeynes@1083
    31
	add #1, r0
nkeynes@1083
    32
	and r0, r4
nkeynes@1083
    33
	cmp/eq r3, r4
nkeynes@1083
    34
	bt test_subv_loop
nkeynes@1083
    35
	fail test_subv_str_k
nkeynes@1083
    36
	bra test_subv_loop
nkeynes@1083
    37
	nop
nkeynes@1083
    38
nkeynes@1083
    39
test_subv_end:
nkeynes@1083
    40
	mov.l @r15+, r11
nkeynes@1083
    41
	end_test test_subv_str_k
nkeynes@1083
    42
nkeynes@1083
    43
	.align 4	
nkeynes@1083
    44
test_subv_data_k:
nkeynes@1083
    45
	.long test_subv_data
nkeynes@1083
    46
test_subv_data:
nkeynes@1083
    47
test_subv_data_1:
nkeynes@1083
    48
	.long 0x00000000
nkeynes@1083
    49
	.long 0x00000000
nkeynes@1083
    50
	.long 0x00000000
nkeynes@1083
    51
	.long 0x00000000
nkeynes@1083
    52
nkeynes@1083
    53
	.long 0x0000000F
nkeynes@1083
    54
	.long 0x7FFFFFFF
nkeynes@1083
    55
	.long 0x7FFFFFF0
nkeynes@1083
    56
	.long 0x00000000
nkeynes@1083
    57
	
nkeynes@1083
    58
	.long 0x0000000F
nkeynes@1083
    59
	.long 0xFFFFFFFF
nkeynes@1083
    60
	.long 0xFFFFFFF0
nkeynes@1083
    61
	.long 0x00000000
nkeynes@1083
    62
nkeynes@1083
    63
	.long 0xFFFFFFF0
nkeynes@1083
    64
	.long 0xFFFFFFE0
nkeynes@1083
    65
	.long 0xFFFFFFF0
nkeynes@1083
    66
	.long 0x00000000
nkeynes@1083
    67
nkeynes@1083
    68
	.long 0x00000040
nkeynes@1083
    69
	.long 0x00000020
nkeynes@1083
    70
	.long 0xFFFFFFE0
nkeynes@1083
    71
	.long 0x00000000
nkeynes@1083
    72
nkeynes@1083
    73
	.long 0xFFFFFF80
nkeynes@1083
    74
	.long 0xFFFFFFB2
nkeynes@1083
    75
	.long 0x00000032
nkeynes@1083
    76
	.long 0x00000000
nkeynes@1083
    77
nkeynes@1083
    78
	.long 0x00000001
nkeynes@1083
    79
	.long 0x80000000
nkeynes@1083
    80
	.long 0x7FFFFFFF
nkeynes@1083
    81
	.long 0x00000001
nkeynes@1083
    82
nkeynes@1083
    83
	.long 0xFFFFFFFF
nkeynes@1083
    84
	.long 0x7FFFFFFF
nkeynes@1083
    85
	.long 0x80000000
nkeynes@1083
    86
	.long 0x00000001
nkeynes@1083
    87
nkeynes@1083
    88
	.long 0x98765432
nkeynes@1083
    89
	.long 0x30ECA864
nkeynes@1083
    90
	.long 0x98765432
nkeynes@1083
    91
	.long 0x00000001
nkeynes@1083
    92
nkeynes@1083
    93
	.long 0x43214321
nkeynes@1083
    94
	.long 0x86428642
nkeynes@1083
    95
	.long 0x43214321
nkeynes@1083
    96
	.long 0x00000001
nkeynes@1083
    97
	
nkeynes@1083
    98
test_subv_data_end:	
nkeynes@1083
    99
	.align 4
nkeynes@1083
   100
test_subv_data_end_k:
nkeynes@1083
   101
	.long test_subv_data_end	
nkeynes@1083
   102
test_subv_str_k:
nkeynes@1083
   103
	.long test_subv_str
nkeynes@1083
   104
test_subv_str:
nkeynes@1083
   105
	.string "SUBV"
nkeynes@1083
   106
	
.