xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/sh/fsca.s (revision 4b169a6ba595ae283ca507b26b15fdff40495b1c)
1# sh testcase for fsca
2# mach: sh
3# as(sh):	-defsym sim_cpu=0
4# xerror: test hasn't been run in a long time
5
6	.include "testutils.inc"
7
8	start
9fsca:
10	set_grs_a5a5
11	set_fprs_a5a5
12	# Start with angle zero
13	mov.l	zero, r0
14	lds	r0, fpul
15	fsca	fpul, dr2
16	assert_fpreg_i 0, fr2
17	assert_fpreg_i 1, fr3
18
19	mov.l	plus_90, r0
20	lds	r0, fpul
21	fsca	fpul, dr2
22	assert_fpreg_i 1, fr2
23	assert_fpreg_i 0, fr3
24
25	mov.l	plus_180, r0
26	lds	r0, fpul
27	fsca	fpul, dr2
28	assert_fpreg_i 0, fr2
29	assert_fpreg_i -1, fr3
30
31	mov.l	plus_270, r0
32	lds	r0, fpul
33	fsca	fpul, dr2
34	assert_fpreg_i -1, fr2
35	assert_fpreg_i 0, fr3
36
37	mov.l	plus_360, r0
38	lds	r0, fpul
39	fsca	fpul, dr2
40	assert_fpreg_i 0, fr2
41	assert_fpreg_i 1, fr3
42
43	mov.l	minus_90, r0
44	lds	r0, fpul
45	fsca	fpul, dr2
46	assert_fpreg_i -1, fr2
47	assert_fpreg_i 0, fr3
48
49	mov.l	minus_180, r0
50	lds	r0, fpul
51	fsca	fpul, dr2
52	assert_fpreg_i 0, fr2
53	assert_fpreg_i -1, fr3
54
55	mov.l	minus_270, r0
56	lds	r0, fpul
57	fsca	fpul, dr2
58	assert_fpreg_i 1, fr2
59	assert_fpreg_i 0, fr3
60
61	mov.l	minus_360, r0
62	lds	r0, fpul
63	fsca	fpul, dr2
64	assert_fpreg_i 0, fr2
65	assert_fpreg_i 1, fr3
66
67	assertreg0      0xffff0000
68	set_greg        0xa5a5a5a5, r0
69	test_grs_a5a5
70	test_fpr_a5a5	fr0
71	test_fpr_a5a5	fr1
72	test_fpr_a5a5	fr4
73	test_fpr_a5a5	fr5
74	test_fpr_a5a5	fr6
75	test_fpr_a5a5	fr7
76	test_fpr_a5a5	fr8
77	test_fpr_a5a5	fr9
78	test_fpr_a5a5	fr10
79	test_fpr_a5a5	fr11
80	test_fpr_a5a5	fr12
81	test_fpr_a5a5	fr13
82	test_fpr_a5a5	fr14
83	test_fpr_a5a5	fr15
84	pass
85	exit 0
86
87		.align 2
88zero:		.long	0
89one_bitty:	.long	1
90plus_90:	.long	0x04000
91plus_180:	.long	0x08000
92plus_270:	.long	0x0c000
93plus_360:	.long	0x10000
94minus_90:	.long	0xffffc000
95minus_180:	.long	0xffff8000
96minus_270:	.long	0xffff4000
97minus_360:	.long	0xffff0000
98minus_1_bitty:	.long	0xffffffff
99