1# sh testcase for fcmpgt
2# mach: sh
3# as(sh):	-defsym sim_cpu=0
4
5	.include "testutils.inc"
6
7	start
8fcmpgt_single:
9	set_grs_a5a5
10	set_fprs_a5a5
11	# 1.0 !> 1.0.
12	fldi1	fr0
13	fldi1	fr1
14	fcmp/gt	fr0, fr1
15	bf	.L0
16	fail
17.L0:
18	# 0.0 !> 1.0.
19	fldi0	fr0
20	fldi1	fr1
21	fcmp/gt	fr0, fr1
22	bt	.L1
23	fail
24.L1:
25	# 1.0 > 0.0.
26	fldi1	fr0
27	fldi0	fr1
28	fcmp/gt	fr0, fr1
29	bf	.L2
30	fail
31.L2:
32	# 2.0 > 1.0
33	fldi1	fr0
34	fadd	fr0, fr0
35	fldi1	fr1
36	fcmp/gt	fr0, fr1
37	bf	.L3
38	fail
39.L3:
40	test_grs_a5a5
41	assert_fpreg_i	2, fr0
42	assert_fpreg_i	1, fr1
43	test_fpr_a5a5	fr2
44	test_fpr_a5a5	fr3
45	test_fpr_a5a5	fr4
46	test_fpr_a5a5	fr5
47	test_fpr_a5a5	fr6
48	test_fpr_a5a5	fr7
49	test_fpr_a5a5	fr8
50	test_fpr_a5a5	fr9
51	test_fpr_a5a5	fr10
52	test_fpr_a5a5	fr11
53	test_fpr_a5a5	fr12
54	test_fpr_a5a5	fr13
55	test_fpr_a5a5	fr14
56	test_fpr_a5a5	fr15
57
58fcmpgt_double:
59	# double precision tests.
60	set_grs_a5a5
61	set_fprs_a5a5
62	double_prec
63	# 1.0 !> 1.0.
64	fldi1	fr0
65	fldi1	fr2
66	_s2d	fr0, dr0
67	_s2d	fr2, dr2
68	fcmp/gt	dr0, dr2
69	bf	.L10
70	fail
71.L10:
72	# 0.0 !> 1.0.
73	fldi0	fr0
74	fldi1	fr2
75	_s2d	fr0, dr0
76	_s2d	fr2, dr2
77	fcmp/gt	dr0, dr2
78	bt	.L11
79	fail
80.L11:
81	# 1.0 > 0.0.
82	fldi1	fr0
83	fldi0	fr2
84	_s2d	fr0, dr0
85	_s2d	fr2, dr2
86	fcmp/gt	dr0, dr2
87	bf	.L12
88	fail
89.L12:
90	# 2.0 > 1.0.
91	fldi1	fr0
92	single_prec
93	fadd	fr0, fr0
94	double_prec
95	fldi1	fr2
96	_s2d	fr0, dr0
97	_s2d	fr2, dr2
98	fcmp/gt	dr0, dr2
99	bf	.L13
100	fail
101.L13:
102	test_grs_a5a5
103	assert_dpreg_i	2, dr0
104	assert_dpreg_i	1, dr2
105	test_fpr_a5a5	fr4
106	test_fpr_a5a5	fr5
107	test_fpr_a5a5	fr6
108	test_fpr_a5a5	fr7
109	test_fpr_a5a5	fr8
110	test_fpr_a5a5	fr9
111	test_fpr_a5a5	fr10
112	test_fpr_a5a5	fr11
113	test_fpr_a5a5	fr12
114	test_fpr_a5a5	fr13
115	test_fpr_a5a5	fr14
116	test_fpr_a5a5	fr15
117
118	pass
119	exit 0
120