Search
lxdream.org :: lxdream/test/sh4/addv.s
lxdream 0.9.1
released Jun 29
Download Now
filename test/sh4/addv.s
changeset 231:a9e61a96a885
prev226:0eeeb25447d3
author nkeynes
date Tue Sep 26 11:05:38 2006 +0000 (14 years ago)
permissions -rw-r--r--
last change Add BT, BT/S, CMP/EQ, CMP/GE, CMP/GT, CMP/HI, CMP/HS tests
Add general slot-illegal exception test
view annotate diff log raw
     1 .section .text
     2 .include "sh4/inc.s"
     4 .global _test_addv
     5 _test_addv:
     6 	start_test
     7 	mov.l r11, @-r15
     8 	mov.l test_addv_data_k, r11
    10 test_addv_loop:
    11 	mov.l test_addv_data_end_k, r4
    12 	cmp/eq r11, r4
    13 	bt test_addv_end
    14 	add #1, r12
    16 	clc
    17 	mov.l @r11+, r0
    18 	mov.l @r11+, r1
    19 	addv r0, r1
    20 	stc sr, r4
    21 	mov.l @r11+, r2
    22 	mov.l @r11+, r3
    23 	cmp/eq r1, r2
    24 	bt test_addv_b
    25 	fail test_addv_str_k
    26 	bra test_addv_loop
    27 	nop
    28 test_addv_b:
    29 	ldc r4, sr
    30 	xor r0, r0
    31 	add #1, r0
    32 	and r0, r4
    33 	cmp/eq r3, r4
    34 	bt test_addv_loop
    35 	fail test_addv_str_k
    36 	bra test_addv_loop
    37 	nop
    39 test_addv_end:
    40 	mov.l @r15+, r11
    41 	end_test test_addv_str_k
    43 	.align 4	
    44 test_addv_data_k:
    45 	.long test_addv_data
    46 test_addv_data:
    47 test_addv_data_1:
    48 	.long 0x00000000
    49 	.long 0x00000000
    50 	.long 0x00000000
    51 	.long 0x00000000
    53 	.long 0x7FFFFFF0
    54 	.long 0x0000000F
    55 	.long 0x7FFFFFFF
    56 	.long 0x00000000
    58 	.long 0xFFFFFFF0
    59 	.long 0x0000000F
    60 	.long 0xFFFFFFFF
    61 	.long 0x00000000
    63 	.long 0xFFFFFFF0
    64 	.long 0xFFFFFFF0
    65 	.long 0xFFFFFFE0
    66 	.long 0x00000000
    68 	.long 0xFFFFFFE0
    69 	.long 0x00000040
    70 	.long 0x00000020
    71 	.long 0x00000000
    73 	.long 0x00000032
    74 	.long 0xFFFFFF80
    75 	.long 0xFFFFFFB2
    76 	.long 0x00000000
    78 	.long 0x7FFFFFFF
    79 	.long 0x00000001
    80 	.long 0x80000000
    81 	.long 0x00000001
    83 	.long 0x80000000
    84 	.long 0xFFFFFFFF
    85 	.long 0x7FFFFFFF
    86 	.long 0x00000001
    88 	.long 0x98765432
    89 	.long 0x98765432
    90 	.long 0x30ECA864
    91 	.long 0x00000001
    93 	.long 0x43214321
    94 	.long 0x43214321
    95 	.long 0x86428642
    96 	.long 0x00000001
    98 test_addv_data_end:	
    99 	.align 4
   100 test_addv_data_end_k:
   101 	.long test_addv_data_end	
   102 test_addv_str_k:
   103 	.long test_addv_str
   104 test_addv_str:
   105 	.string "ADDV"
.