Home | History | Annotate | Line # | Download | only in h8300
      1  1.1  christos # Hitachi H8 testcase 'or.w'
      2  1.1  christos # mach(): h8300h h8300s h8sx
      3  1.1  christos # as(h8300):	--defsym sim_cpu=0
      4  1.1  christos # as(h8300h):	--defsym sim_cpu=1
      5  1.1  christos # as(h8300s):	--defsym sim_cpu=2
      6  1.1  christos # as(h8sx):	--defsym sim_cpu=3
      7  1.1  christos # ld(h8300h):	-m h8300helf
      8  1.1  christos # ld(h8300s):	-m h8300self
      9  1.1  christos # ld(h8sx):	-m h8300sxelf
     10  1.1  christos 
     11  1.1  christos 	.include "testutils.inc"
     12  1.1  christos 
     13  1.1  christos 	start
     14  1.1  christos 
     15  1.1  christos .if (sim_cpu)			; non-zero means h8300h, s, or sx
     16  1.1  christos or_w_imm16:
     17  1.1  christos 	set_grs_a5a5		; Fill all general regs with a fixed pattern
     18  1.1  christos 	;;  fixme set ccr
     19  1.1  christos 
     20  1.1  christos 	;;  or.w #xx:16,Rd
     21  1.1  christos 	or.w	#0xaaaa, r0	; Immediate 16-bit operand
     22  1.1  christos 
     23  1.1  christos 	;; fixme test ccr	; H=0 N=1 Z=0 V=0 C=0
     24  1.1  christos 	test_h_gr16 0xafaf r0	; or result:	a5a5 | aaaa
     25  1.1  christos .if (sim_cpu)			; non-zero means h8300h, s, or sx
     26  1.1  christos 	test_h_gr32 0xa5a5afaf er0	; or result:	 a5a5 | aaaa
     27  1.1  christos .endif
     28  1.1  christos 	test_gr_a5a5 1		; Make sure other general regs not disturbed
     29  1.1  christos 	test_gr_a5a5 2
     30  1.1  christos 	test_gr_a5a5 3
     31  1.1  christos 	test_gr_a5a5 4
     32  1.1  christos 	test_gr_a5a5 5
     33  1.1  christos 	test_gr_a5a5 6
     34  1.1  christos 	test_gr_a5a5 7
     35  1.1  christos .endif
     36  1.1  christos 
     37  1.1  christos or_w_reg:
     38  1.1  christos 	set_grs_a5a5		; Fill all general regs with a fixed pattern
     39  1.1  christos 	;;  fixme set ccr
     40  1.1  christos 
     41  1.1  christos 	;;  or.w Rs,Rd
     42  1.1  christos 	mov.w	#0xaaaa, r1
     43  1.1  christos 	or.w	r1, r0		; Register operand
     44  1.1  christos 
     45  1.1  christos 	;; fixme test ccr	; H=0 N=1 Z=0 V=0 C=0
     46  1.1  christos 	test_h_gr16 0xafaf r0	; or result:	a5a5 | aaaa
     47  1.1  christos 	test_h_gr16 0xaaaa r1	; Make sure r1 is unchanged
     48  1.1  christos .if (sim_cpu)			; non-zero means h8300h, s, or sx
     49  1.1  christos 	test_h_gr32 0xa5a5afaf er0	; or result:	a5a5 | aaaa
     50  1.1  christos 	test_h_gr32 0xa5a5aaaa er1	; Make sure er1 is unchanged
     51  1.1  christos .endif
     52  1.1  christos 	test_gr_a5a5 2		; Make sure other general regs not disturbed
     53  1.1  christos 	test_gr_a5a5 3
     54  1.1  christos 	test_gr_a5a5 4
     55  1.1  christos 	test_gr_a5a5 5
     56  1.1  christos 	test_gr_a5a5 6
     57  1.1  christos 	test_gr_a5a5 7
     58  1.1  christos 
     59  1.1  christos 	pass
     60  1.1  christos 
     61  1.1  christos 	exit 0
     62