Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / diag / assembly / isa3 / isa3_fp_excIeee_1215_0x21.s
CommitLineData
86530b38
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: isa3_fp_excIeee_1215_0x21.s
5* Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved
6* 4150 Network Circle, Santa Clara, California 95054, U.S.A.
7*
8* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
9*
10* This program is free software; you can redistribute it and/or modify
11* it under the terms of the GNU General Public License as published by
12* the Free Software Foundation; version 2 of the License.
13*
14* This program is distributed in the hope that it will be useful,
15* but WITHOUT ANY WARRANTY; without even the implied warranty of
16* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17* GNU General Public License for more details.
18*
19* You should have received a copy of the GNU General Public License
20* along with this program; if not, write to the Free Software
21* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22*
23* For the avoidance of doubt, and except that if any non-GPL license
24* choice is available it will apply instead, Sun elects to use only
25* the General Public License version 2 (GPLv2) at this time for any
26* software where a choice of GPL license versions is made
27* available with the language indicating that GPLv2 or any later version
28* may be used, or where a choice of which version of the GPL is applied is
29* otherwise unspecified.
30*
31* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
32* CA 95054 USA or visit www.sun.com if you need additional information or
33* have any questions.
34*
35*
36* ========== Copyright Header End ============================================
37*/
38#define MAIN_PAGE_HV_ALSO
39#define MAIN_PAGE_NUCLEUS_ALSO
40
41#define H_T0_Fp_exception_ieee_754_0x21
42#define My_T0_Fp_exception_ieee_754_0x21 EXIT_GOOD
43
44#include "hboot.s"
45
46.text
47.global main
48
49main:
50
51 wr %g0, 0x4, %fprs ! make sure fef (FlPt enable) is 1
52
53 ! By default, tem mask is disabled
54 setx fsr_tem_en, %l0, %l3 ! fsr tem enable value
55 ld [%l3+0x0], %fsr ! Read it from memory - enable all traps
56
57 setx newdata, %l0, %l6 ! Double precision data
58
59 ldd [%l6+%g0], %f18 ! double precision
60 add %g0, 0x8, %g4
61 ldd [%l6+%g4], %f20 ! double precision
62
63 fdivd %f18, %f20, %f30 ! double precision
64
65 nop
66
67
68/*******************************************************
69 * Exit code
70 *******************************************************/
71
72test_fail:
73 ta T_BAD_TRAP
74
75/*******************************************************
76 * Data section
77 *******************************************************/
78
79.data
80
81.align 256
82
83newdata:
84 .xword 0x0211000000abcd01 ! f18
85 .xword 0x0000000000000000 ! f20
86 .xword 0x3ff0000000000001 ! was f18
87
88.align 256
89
90fsr_tem_en:
91 .word 0x0f800000 ! TEM - all enabled - rd 0
92 .word 0x4f800000 ! TEM - all enabled - rd 1
93 .word 0x8f800000 ! TEM - all enabled - rd 2
94 .word 0xcf800000 ! TEM - all enabled - rd 3
95 .word 0x00000000 ! TEM - walk through all values
96 .word 0x0f800000
97 .word 0x01000000 ! DZM set (+0x30)
98 .word 0x01800000
99 .word 0x02000000 ! UFM set (+0x40)
100 .word 0x02800000
101 .word 0x03000000 ! OFM set (+0x50)
102 .word 0x03800000
103 .word 0x04000000 ! NVM set (+0x60)
104 .word 0x04800000
105 .word 0x05000000
106 .word 0x05800000
107 .word 0x06000000
108 .word 0x06800000
109 .word 0x07000000
110 .word 0x07800000
111 .word 0x08000000 ! NXM set (+0xa0)
112 .word 0x08800000
113 .word 0x09000000
114 .word 0x09800000
115 .word 0x0a000000
116 .word 0x0a800000
117 .word 0x0b000000
118 .word 0x0b800000
119 .word 0x0c000000
120 .word 0x0c800000
121 .word 0x0d000000
122 .word 0x0d800000
123 .word 0x0e000000
124 .word 0x0e800000
125 .word 0x0f000000
126 .word 0x0f800000
127 .word 0x01800000
128 .word 0x02800000
129 .word 0x03800000
130 .word 0x04800000