sim: testsuite: drop most specific istarget checks
[binutils-gdb.git] / sim / testsuite / sh / fsub.s
1 # sh testcase for fsub
2 # mach: sh
3 # as(sh): -defsym sim_cpu=0
4
5 .include "testutils.inc"
6
7 start
8 fsub_single:
9 set_grs_a5a5
10 set_fprs_a5a5
11 # 0.0 - 0.0 = 0.0.
12 fldi0 fr0
13 fldi0 fr1
14 fsub fr0, fr1
15 fldi0 fr2
16 fcmp/eq fr1, fr2
17 bt .L0
18 fail
19 .L0:
20 # 1.0 - 0.0 = 1.0.
21 fldi0 fr0
22 fldi1 fr1
23 fsub fr0, fr1
24 fldi1 fr2
25 fcmp/eq fr1, fr2
26 bt .L1
27 fail
28 .L1:
29 # 1.0 - 1.0 = 0.0.
30 fldi1 fr0
31 fldi1 fr1
32 fsub fr0, fr1
33 fldi0 fr2
34 fcmp/eq fr1, fr2
35 bt .L2
36 fail
37 .L2:
38 # 0.0 - 1.0 = -1.0.
39 fldi1 fr0
40 fldi0 fr1
41 fsub fr0, fr1
42 fldi1 fr2
43 fneg fr2
44 fcmp/eq fr1, fr2
45 bt .L3
46 fail
47 .L3:
48 test_grs_a5a5
49 assert_fpreg_i 1, fr0
50 assert_fpreg_i -1, fr1
51 assert_fpreg_i -1, fr2
52 test_fpr_a5a5 fr3
53 test_fpr_a5a5 fr4
54 test_fpr_a5a5 fr5
55 test_fpr_a5a5 fr6
56 test_fpr_a5a5 fr7
57 test_fpr_a5a5 fr8
58 test_fpr_a5a5 fr9
59 test_fpr_a5a5 fr10
60 test_fpr_a5a5 fr11
61 test_fpr_a5a5 fr12
62 test_fpr_a5a5 fr13
63 test_fpr_a5a5 fr14
64 test_fpr_a5a5 fr15
65
66 fsub_double:
67 set_grs_a5a5
68 set_fprs_a5a5
69 double_prec
70 # 0.0 - 0.0 = 0.0.
71 fldi0 fr0
72 fldi0 fr2
73 _s2d fr0, dr0
74 _s2d fr2, dr2
75 fsub dr0, dr2
76 fldi0 fr4
77 _s2d fr4, dr4
78 fcmp/eq dr2, dr4
79 bt .L10
80 fail
81 .L10:
82 # 1.0 - 0.0 = 1.0.
83 fldi0 fr0
84 fldi1 fr2
85 _s2d fr0, dr0
86 _s2d fr2, dr2
87 fsub dr0, dr2
88 fldi1 fr4
89 _s2d fr4, dr4
90 fcmp/eq dr2, dr4
91 bt .L11
92 fail
93 .L11:
94 # 1.0 - 1.0 = 0.0.
95 fldi1 fr0
96 fldi1 fr2
97 _s2d fr0, dr0
98 _s2d fr2, dr2
99 fsub dr0, dr2
100 fldi0 fr4
101 _s2d fr4, dr4
102 fcmp/eq dr2, dr4
103 bt .L12
104 fail
105 .L12:
106 # 0.0 - 1.0 = -1.0.
107 fldi1 fr0
108 fldi0 fr2
109 _s2d fr0, dr0
110 _s2d fr2, dr2
111 fsub dr0, dr2
112 fldi1 fr4
113 single_prec
114 fneg fr4
115 double_prec
116 _s2d fr4, dr4
117 fcmp/eq dr2, dr4
118 bt .L13
119 fail
120 .L13:
121 test_grs_a5a5
122 assert_dpreg_i 1, dr0
123 assert_dpreg_i -1, dr2
124 assert_dpreg_i -1, dr4
125 test_fpr_a5a5 fr6
126 test_fpr_a5a5 fr7
127 test_fpr_a5a5 fr8
128 test_fpr_a5a5 fr9
129 test_fpr_a5a5 fr10
130 test_fpr_a5a5 fr11
131 test_fpr_a5a5 fr12
132 test_fpr_a5a5 fr13
133 test_fpr_a5a5 fr14
134 test_fpr_a5a5 fr15
135 pass
136 exit 0