OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-6.8/] [sim/] [testsuite/] [sim/] [sh/] [fsqrt.s] - Blame information for rev 450

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.