Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / obp / obp / cpu / sparc / ultra / implasm.fth
CommitLineData
920dae64
AT
1\ ========== Copyright Header Begin ==========================================
2\
3\ Hypervisor Software File: implasm.fth
4\
5\ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
6\
7\ - Do no alter or remove copyright notices
8\
9\ - Redistribution and use of this software in source and binary forms, with
10\ or without modification, are permitted provided that the following
11\ conditions are met:
12\
13\ - Redistribution of source code must retain the above copyright notice,
14\ this list of conditions and the following disclaimer.
15\
16\ - Redistribution in binary form must reproduce the above copyright notice,
17\ this list of conditions and the following disclaimer in the
18\ documentation and/or other materials provided with the distribution.
19\
20\ Neither the name of Sun Microsystems, Inc. or the names of contributors
21\ may be used to endorse or promote products derived from this software
22\ without specific prior written permission.
23\
24\ This software is provided "AS IS," without a warranty of any kind.
25\ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
26\ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
27\ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
28\ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
29\ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
30\ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN
31\ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR
32\ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
33\ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
34\ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
35\ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
36\
37\ You acknowledge that this software is not designed, licensed or
38\ intended for use in the design, construction, operation or maintenance of
39\ any nuclear facility.
40\
41\ ========== Copyright Header End ============================================
42\ implasm.fth 1.2 01/04/06
43purpose:
44copyright: Copyright 1988-2001 Sun Microsystems, Inc. All Rights Reserved
45
46\ This file can be empty if the processor does not have any implementation
47\ specific instructions.
48
49
50also srassembler definitions
51
52headerless
53
54: set-spit-opf ( apf -- ) 36 set-op2 w@ 5 << addbits ;
55
56: sfop \ name ( opcode -- )
57 createw, does> set-spit-opf ( frs1 frs2 frd ) ?freg rd ?freg rs2 ?freg rs
58;
59
60: sfop2 \ name ( opcode -- )
61 createw, does> set-spit-opf ( frs2 frd ) ?freg rd ?freg rs2
62;
63
64: sfop3 \ name ( opcode -- )
65 createw, does> set-spit-opf ( frs1 frd ) ?freg rd ?freg rs
66;
67
68: sfop4 \ name ( opcode -- )
69 createw, does> set-spit-opf ( rs1 rs2 rd ) ?ireg rd ?ireg rs2 ?ireg rs
70;
71
72: sfop5 \ name ( opcode -- )
73 createw, does> set-spit-opf ( frs1 frs2 rd ) ?ireg rd ?freg rs2 ?freg rs
74;
75
76: sfop6 \ name ( opcode -- )
77 createw, does> set-spit-opf ( frd ) ?freg rd
78;
79
80hex
81
82headers
83
8410 register %pcr
8511 register %pic
8612 register %dcr
8713 register %gsr
8814 register %set_softint
8915 register %clear_softint
9016 register %softint
9117 register %tick_cmpr
92
93000 sfop4 edge8 002 sfop4 edge8l
94004 sfop4 edge16 006 sfop4 edge16l
95008 sfop4 edge32 00a sfop4 edge32l
96010 sfop4 array8 012 sfop4 array16
97014 sfop4 array32
98018 sfop4 alignaddr 01a sfop4 alignaddrl
99020 sfop5 fcmple16 022 sfop5 fcmpne16
100024 sfop5 fcmple32 026 sfop5 fcmpne32
101028 sfop5 fcmpgt16 02a sfop5 fcmpeq16
10202c sfop5 fcmpgt32 02e sfop5 fcmpeq32
103 031 sfop fmul8x16 033 sfop fmul8x16au
104 035 sfop fmul8x16al 036 sfop fmul8sux16 037 sfop fmul8ulx16
105038 sfop fmuld8sux16 039 sfop fmuld8ulx16 03a sfop fpack32 03b sfop2 fpack16
106 03d sfop2 fpackfix 03e sfop pdist
107048 sfop faligndata 04b sfop fpmerge
108 04d sfop2 fexpand
109050 sfop fpadd16 051 sfop fpadd16s 052 sfop fpadd32 053 sfop fpadd32s
110054 sfop fpsub16 055 sfop fpsub16s 056 sfop fpsub32 057 sfop fpsub32s
111060 sfop6 fzero 061 sfop6 fzeros 062 sfop fnor 063 sfop fnors
112064 sfop fandnot2 065 sfop fandnot2s 066 sfop2 fnot2 067 sfop2 fnot2s
113068 sfop fandnot1 069 sfop fandnot1s 06a sfop3 fnot1 06b sfop3 fnot1s
11406c sfop fxor 06d sfop fxors 06e sfop fnand 06f sfop fnands
115070 sfop fand 071 sfop fands 072 sfop fxnor 073 sfop fxnors
116074 sfop3 fsrc1 075 sfop3 fsrc1s 076 sfop fornot2 077 sfop fornot2s
117078 sfop2 fsrc2 079 sfop2 fsrc2s 07a sfop fornot1 07b sfop fornot1s
11807c sfop for 07d sfop fors 07e sfop6 fone 07f sfop6 fones
119080 sfop4 shutdown
120
121overload: shutdown ( -- ) %g0 %g0 %g0 shutdown ;
122
123previous definitions