xref: /qemu/tests/tcg/cris/bare/testutils.inc (revision d4f6e58f)
1*d4f6e58fSAlex Bennée	.syntax	no_register_prefix
2*d4f6e58fSAlex Bennée
3*d4f6e58fSAlex Bennée	.macro	start
4*d4f6e58fSAlex Bennée	.text
5*d4f6e58fSAlex Bennée	.global	main
6*d4f6e58fSAlex Bennéemain:
7*d4f6e58fSAlex Bennée	.endm
8*d4f6e58fSAlex Bennée
9*d4f6e58fSAlex Bennée	.macro	quit
10*d4f6e58fSAlex Bennée	jump	pass
11*d4f6e58fSAlex Bennée	nop
12*d4f6e58fSAlex Bennée	.endm
13*d4f6e58fSAlex Bennée
14*d4f6e58fSAlex Bennée	.macro	pass
15*d4f6e58fSAlex Bennée	jump	pass
16*d4f6e58fSAlex Bennée	nop
17*d4f6e58fSAlex Bennée	.endm
18*d4f6e58fSAlex Bennée
19*d4f6e58fSAlex Bennée	.macro	startnostack
20*d4f6e58fSAlex Bennée	start
21*d4f6e58fSAlex Bennée	.endm
22*d4f6e58fSAlex Bennée
23*d4f6e58fSAlex Bennée	.macro	fail
24*d4f6e58fSAlex Bennée	.data
25*d4f6e58fSAlex Bennée99:
26*d4f6e58fSAlex Bennée	.asciz " checkr3 failed\n"
27*d4f6e58fSAlex Bennée	.text
28*d4f6e58fSAlex Bennée	move.d	99b, $r10
29*d4f6e58fSAlex Bennée	jsr	_fail
30*d4f6e58fSAlex Bennée	nop
31*d4f6e58fSAlex Bennée	.endm
32*d4f6e58fSAlex Bennée
33*d4f6e58fSAlex Bennée	.macro	checkr3 val
34*d4f6e58fSAlex Bennée	cmp.d	0x\val, $r3
35*d4f6e58fSAlex Bennée	beq	100f
36*d4f6e58fSAlex Bennée	nop
37*d4f6e58fSAlex Bennée	.data
38*d4f6e58fSAlex Bennée99:
39*d4f6e58fSAlex Bennée	.asciz "checkr3 failed\n"
40*d4f6e58fSAlex Bennée	.text
41*d4f6e58fSAlex Bennée	move.d	99b, $r10
42*d4f6e58fSAlex Bennée	jsr	_fail
43*d4f6e58fSAlex Bennée	nop
44*d4f6e58fSAlex Bennée100:
45*d4f6e58fSAlex Bennée	.endm
46*d4f6e58fSAlex Bennée
47*d4f6e58fSAlex Bennée; Test the condition codes
48*d4f6e58fSAlex Bennée        .macro test_cc N Z V C
49*d4f6e58fSAlex Bennée        .if \N
50*d4f6e58fSAlex Bennée        bpl 9f
51*d4f6e58fSAlex Bennée        nop
52*d4f6e58fSAlex Bennée        .else
53*d4f6e58fSAlex Bennée        bmi 9f
54*d4f6e58fSAlex Bennée        nop
55*d4f6e58fSAlex Bennée        .endif
56*d4f6e58fSAlex Bennée        .if \Z
57*d4f6e58fSAlex Bennée        bne 9f
58*d4f6e58fSAlex Bennée        nop
59*d4f6e58fSAlex Bennée        .else
60*d4f6e58fSAlex Bennée        beq 9f
61*d4f6e58fSAlex Bennée        nop
62*d4f6e58fSAlex Bennée        .endif
63*d4f6e58fSAlex Bennée        .if \V
64*d4f6e58fSAlex Bennée        bvc 9f
65*d4f6e58fSAlex Bennée        nop
66*d4f6e58fSAlex Bennée        .else
67*d4f6e58fSAlex Bennée        bvs 9f
68*d4f6e58fSAlex Bennée        nop
69*d4f6e58fSAlex Bennée        .endif
70*d4f6e58fSAlex Bennée        .if \C
71*d4f6e58fSAlex Bennée        bcc 9f
72*d4f6e58fSAlex Bennée        nop
73*d4f6e58fSAlex Bennée        .else
74*d4f6e58fSAlex Bennée        bcs 9f
75*d4f6e58fSAlex Bennée        nop
76*d4f6e58fSAlex Bennée        .endif
77*d4f6e58fSAlex Bennée        ba 8f
78*d4f6e58fSAlex Bennée        nop
79*d4f6e58fSAlex Bennée9:
80*d4f6e58fSAlex Bennée	.data
81*d4f6e58fSAlex Bennée99:
82*d4f6e58fSAlex Bennée	.asciz "test_move_cc failed\n"
83*d4f6e58fSAlex Bennée	.text
84*d4f6e58fSAlex Bennée	move.d	99b, $r10
85*d4f6e58fSAlex Bennée	jsr	_fail
86*d4f6e58fSAlex Bennée	nop
87*d4f6e58fSAlex Bennée8:
88*d4f6e58fSAlex Bennée        .endm
89*d4f6e58fSAlex Bennée
90*d4f6e58fSAlex Bennée
91*d4f6e58fSAlex Bennée        .macro test_move_cc N Z V C
92*d4f6e58fSAlex Bennée        .if \N
93*d4f6e58fSAlex Bennée        bpl 9f
94*d4f6e58fSAlex Bennée        nop
95*d4f6e58fSAlex Bennée        .else
96*d4f6e58fSAlex Bennée        bmi 9f
97*d4f6e58fSAlex Bennée        nop
98*d4f6e58fSAlex Bennée        .endif
99*d4f6e58fSAlex Bennée        .if \Z
100*d4f6e58fSAlex Bennée        bne 9f
101*d4f6e58fSAlex Bennée        nop
102*d4f6e58fSAlex Bennée        .else
103*d4f6e58fSAlex Bennée        beq 9f
104*d4f6e58fSAlex Bennée        nop
105*d4f6e58fSAlex Bennée        .endif
106*d4f6e58fSAlex Bennée        ba 8f
107*d4f6e58fSAlex Bennée        nop
108*d4f6e58fSAlex Bennée9:
109*d4f6e58fSAlex Bennée	.data
110*d4f6e58fSAlex Bennée99:
111*d4f6e58fSAlex Bennée	.asciz "test_move_cc failed\n"
112*d4f6e58fSAlex Bennée	.text
113*d4f6e58fSAlex Bennée	move.d	99b, $r10
114*d4f6e58fSAlex Bennée	jsr	_fail
115*d4f6e58fSAlex Bennée	nop
116*d4f6e58fSAlex Bennée8:
117*d4f6e58fSAlex Bennée        .endm
118