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

Subversion Repositories core_arm

[/] [core_arm/] [trunk/] [soft/] [cdef/] [sparc.el] - Blame information for rev 6

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

Line No. Rev Author Line
1 2 tarookumic
(progn
2
  (load "cdef_lib_b1")
3
  (load "cdef_lib_c1")
4
  (load "cdef_lib_g1")
5
  (load "cdef_lib_l1")
6
  (load "cdef_lib_m1")
7
  (load "cdef_lib_i1")
8
  (load "cdef_lib_h1")
9
  (load "cdef_lib_pc")
10
  (load "cdef_lib_pv")
11
)
12
 
13
(progn
14
  (if (load "cdef_lib_b1") ()(message "You have to set your elisp load-path variable, i.e: (setq load-path
15
      (append (list nil \"/home/eiselekd/vhdl_0.8/soft/cdef\") load-path)))"))
16
  (load "cdef_lib_c1")
17
  (load "cdef_lib_g1")
18
  (load "cdef_lib_l1")
19
  (load "cdef_lib_m1")
20
  (load "cdef_lib_i1")
21
  (load "cdef_lib_h1")
22
  (load "cdef_lib_pc")
23
  (load "cdef_lib_pv")
24
 
25
(setq insn-help '((rd "Destination register")
26
                  (rs1 "Source register 1")
27
                  (a  "Alternate space '1'=alternate space")
28
                  (ls "Load/Store '1'=Store")
29
                  (cc "Modify icc '1'=modify")
30
                  (xx "Use carry '1'=use")
31
                  (sa "Sub/Add '1'=Sub")
32
                  (n "Not '1'=not")
33
                  (sig "Signed '1'=Signed")
34
                  (d30 "Offset 30bit")
35
                  (i22 "Immidiate 22")
36
                  (c "Condition code")
37
                  (i "Select s2i '1'=sim13")
38
                  (s2i "op2: simm13 or rs2")
39
 
40
                  (insn_ldsb "Load|Store signed byte")
41
                  (insn_ldsh "Load|Store signed halfword")
42
                  (insn_ldst_ub "Load|Store unsigned byte")
43
                  (insn_ldst_uh "Load|Store unsigned halfword")
44
                  (insn_ldst "Load|Store word")
45
                  (insn_ldst_d "Load|Store doubleword")
46
 
47
                  (insn_ldst_f "Load|Sore floating point register")
48
                  (insn_ldst_df "Load|Sore double floating point register")
49
                  (insn_ldst_fsr "Load|Sore floating point state register")
50
                  (insn_stdfq "Store floating point deferred trap queue")
51
 
52
                  (insn_ldst_c "Load|Sore coprocessor register")
53
                  (insn_ldst_dc "Load|Sore double coprocessor register")
54
                  (insn_ldst_csr "Load|Sore double coprocessor state register")
55
                  (insn_stdcq "Store coprocessor deferred trap queue")
56
 
57
                  (insn_ldstb "Atomic Load-Store unsigned byte")
58
                  (insn_swp "Swap register into memory")
59
 
60
                  (insn_sethi "Set upper 22 bits")
61
                  (insn_nop "No op")
62
 
63
                  (insn_and "logical and")
64
                  (insn_or "logical or")
65
                  (insn_xor "logical xor")
66
 
67
                  (insn_sll "shieft left logical")
68
                  (insn_srl "shieft right logical")
69
                  (insn_sra "shieft right arith")
70
 
71
                  (insn_sadd "Sub|Add")
72
                  (insn_tsadd "Tagged Sub|Add")
73
                  (insn_tsaddtv "Tagged Sub|Add with trap on overflow")
74
 
75
                  (insn_mulscc "Multiply")
76
                  (insn_divscc "Divide")
77
 
78
                  (insn_sv "Save")
79
                  (insn_rest "Restore")
80
 
81
                  (insn_bra "Branch on condition")
82
                  (insn_fbra "Branch on floating point condition")
83
                  (insn_cbra "Branch on coprocessor condition")
84
 
85
                  (insn_jmp "Call and link offset")
86
                  (insn_jml "Jump and link")
87
                  (insn_ret "Return from trap")
88
                  (insn_trap "Trap on condition code")
89
 
90
                  (insn_rd "Read state registers")
91
                  (insn_rdp "Read processor state register (rdpsr)")
92
                  (insn_rdw "Read windows invalid mask")
93
                  (insn_rdt "Read trap base register")
94
 
95
                  (insn_wd "Write state registers")
96
                  (insn_wdp "Write processor state register (rdpsr)")
97
                  (insn_wdw "Write windows invalid mask")
98
                  (insn_wdt "Write trap base register")
99
 
100
                  (insn_stbar "Store barrier")
101
 
102
                  (insn_unimp "Unimplemented")
103
 
104
                 )
105
)
106
 
107
 
108
 
109
 
110
 
111
 
112
 
113
;;      list order     0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31
114
;;                    31  30  29  28  27  26  25  24  23  22  21  20  19  18  17  16  15  14  13  12  11  10  09  08  07  06  05  04  03  02  01  00
115
(setq insn_ldsb     '( 1   1  rd  rd  rd  rd  rd   0   a   1   0   0   1  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i ))
116
(setq insn_ldsh     '( 1   1  rd  rd  rd  rd  rd   0   a   1   0   1   0  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i ))
117
(setq insn_ldst_ub  '( 1   1  rd  rd  rd  rd  rd   0   a   0   ls  0   1  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i ))
118
(setq insn_ldst_uh  '( 1   1  rd  rd  rd  rd  rd   0   a   0   ls  1   0  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i ))
119
(setq insn_ldst     '( 1   1  rd  rd  rd  rd  rd   0   a   0   ls  0   0  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i ))
120
(setq insn_ldst_d   '( 1   1  rd  rd  rd  rd  rd   0   a   0   ls  1   1  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i ))
121
 
122
(setq insn_ldst_f   '( 1   1  rd  rd  rd  rd  rd   1   0   0   ls  0   0  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i ))
123
(setq insn_ldst_df  '( 1   1  rd  rd  rd  rd  rd   1   0   0   ls  1   1  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i ))
124
(setq insn_ldst_fsr '( 1   1  rd  rd  rd  rd  rd   1   0   0   ls  0   1  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i ))
125
(setq insn_stdfq    '( 1   1  rd  rd  rd  rd  rd   1   0   0   1   1   0  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i ))
126
 
127
(setq insn_ldst_c   '( 1   1  rd  rd  rd  rd  rd   1   1   0   ls  0   0  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i ))
128
(setq insn_ldst_dc  '( 1   1  rd  rd  rd  rd  rd   1   1   0   ls  1   1  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i ))
129
(setq insn_ldst_csr '( 1   1  rd  rd  rd  rd  rd   1   1   0   ls  0   1  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i ))
130
(setq insn_stdcq    '( 1   1  rd  rd  rd  rd  rd   1   1   0   1   1   1  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i ))
131
 
132
(setq insn_ldstb    '( 1   1  rd  rd  rd  rd  rd   0   a   1   1   0   1  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i ))
133
(setq insn_swp      '( 1   1  rd  rd  rd  rd  rd   0   a   1   1   1   1  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i ))
134
 
135
(setq insn_sethi    '( 0   0  rd  rd  rd  rd  rd   1   0   0  i22 i22 i22 i22 i22 i22 i22 i22 i22 i22 i22 i22 i22 i22 i22 i22 i22 i22 i22 i22 i22 i22  ))
136
(setq insn_nop      '( 0   0  0   0   0   0   0    1   0   0   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x    ))
137
 
138
(setq insn_and      '( 1   0  rd  rd  rd  rd  rd   0  cc   0   n   0   1  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i  ))
139
(setq insn_or       '( 1   0  rd  rd  rd  rd  rd   0  cc   0   n   1   0  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i  ))
140
(setq insn_xor      '( 1   0  rd  rd  rd  rd  rd   0  cc   0   n   1   1  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i  ))
141
 
142
(setq insn_sll      '( 1   0  rd  rd  rd  rd  rd   1   0   0   1   0   1  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i  ))
143
(setq insn_srl      '( 1   0  rd  rd  rd  rd  rd   1   0   0   1   1   0  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i  ))
144
(setq insn_sra      '( 1   0  rd  rd  rd  rd  rd   1   0   0   1   1   1  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i  ))
145
 
146
(setq insn_sadd     '( 1   0  rd  rd  rd  rd  rd   0  cc  xx  sa   0   0  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i  ))
147
(setq insn_tsadd    '( 1   0  rd  rd  rd  rd  rd   1   0   0   0   0  sa  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i  ))
148
(setq insn_tsaddtv  '( 1   0  rd  rd  rd  rd  rd   1   0   0   0   1  sa  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i  ))
149
 
150
(setq insn_mulscc   '( 1   0  rd  rd  rd  rd  rd   0  cc   1   0   1  sig  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i  ))
151
(setq insn_divscc   '( 1   0  rd  rd  rd  rd  rd   0  cc   1   1   1  sig  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i  ))
152
 
153
(setq insn_sv       '( 1   0  rd  rd  rd  rd  rd   1   1   1   1   0   0  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i  ))
154
(setq insn_rest     '( 1   0  rd  rd  rd  rd  rd   1   1   1   1   0   1  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i  ))
155
 
156
(setq insn_bra      '( 0   0   a   c   c   c   c   0   1   0  d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22  ))
157
(setq insn_fbra     '( 0   0   a   c   c   c   c   1   1   0  d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22  ))
158
(setq insn_cbra     '( 0   0   a   c   c   c   c   1   1   1  d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22 d22  ))
159
 
160
(setq insn_jmp      '( 0   1  d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 d30 ))
161
(setq insn_jml      '( 1   0  rd  rd  rd  rd  rd   1   1   1   0   0   0  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i  ))
162
(setq insn_ret      '( 1   0  rd  rd  rd  rd  rd   1   1   1   0   0   1  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i  ))
163
(setq insn_trap     '( 1   0  rvd  c   c   c   c   1   1   1   0   1   0  rs1 rs1 rs1 rs1 rs1  i  s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i s2i  ))
164
 
165
(setq insn_rd       '( 1   0  rd  rd  rd  rd  rd   1   0   1   0   0   0  rs1 rs1 rs1 rs1 rs1  x   x   x   x   x   x   x   x   x   x   x   x   x   x   ))
166
(setq insn_rdp      '( 1   0  rd  rd  rd  rd  rd   1   0   1   0   0   1  rs1 rs1 rs1 rs1 rs1  x   x   x   x   x   x   x   x   x   x   x   x   x   x   ))
167
(setq insn_rdw      '( 1   0  rd  rd  rd  rd  rd   1   0   1   0   1   0  rs1 rs1 rs1 rs1 rs1  x   x   x   x   x   x   x   x   x   x   x   x   x   x   ))
168
(setq insn_rdt      '( 1   0  rd  rd  rd  rd  rd   1   0   1   0   1   1  rs1 rs1 rs1 rs1 rs1  x   x   x   x   x   x   x   x   x   x   x   x   x   x   ))
169
 
170
(setq insn_wd       '( 1   0  rd  rd  rd  rd  rd   1   1   0   0   0   0  rs1 rs1 rs1 rs1 rs1  x   x   x   x   x   x   x   x   x   x   x   x   x   x   ))
171
(setq insn_wdp      '( 1   0  rd  rd  rd  rd  rd   1   1   0   0   0   1  rs1 rs1 rs1 rs1 rs1  x   x   x   x   x   x   x   x   x   x   x   x   x   x   ))
172
(setq insn_wdw      '( 1   0  rd  rd  rd  rd  rd   1   1   0   0   1   0  rs1 rs1 rs1 rs1 rs1  x   x   x   x   x   x   x   x   x   x   x   x   x   x   ))
173
(setq insn_wdt      '( 1   0  rd  rd  rd  rd  rd   1   1   0   0   1   1  rs1 rs1 rs1 rs1 rs1  x   x   x   x   x   x   x   x   x   x   x   x   x   x   ))
174
 
175
(setq insn_stbar    '( 1   0   0   0   0   0   0   1   0   1   0   0   0   0   1   1   1   1   0   x   x   x   x   x   x   x   x   x   x   x   x   x   ))
176
 
177
(setq insn_unimp    '( 0   0  rvd rvd rvd rvd rvd  0   0   0  cst cst cst cst cst cst cst cst cst cst cst cst cst cst cst cst cst cst cst cst cst cst  ))
178
 
179
(setq insn '(
180
  insn_ldsb  insn_ldsh  insn_ldst_ub  insn_ldst_uh
181
  insn_ldst  insn_ldst_d  insn_ldst_f  insn_ldst_df
182
  insn_ldst_fsr  insn_stdfq  insn_ldst_c  insn_ldst_dc
183
  insn_ldst_csr  insn_stdcq  insn_ldstb  insn_swp
184
  insn_sethi  insn_nop  insn_and  insn_or  insn_xor
185
  insn_sll  insn_srl  insn_sra  insn_sadd  insn_tsadd
186
  insn_tsaddtv insn_mulscc insn_divscc insn_sv
187
  insn_rest insn_bra insn_fbra insn_cbra insn_jmp
188
  insn_jml insn_ret insn_trap
189
  insn_rd insn_rdp insn_rdw insn_rdt insn_wd insn_wdp
190
  insn_wdw insn_wdt insn_stbar insn_unimp
191
 ))
192
 
193
(setq h (create-decoder-setenc (or-insn-set insn) insn 0))
194
;(insert (print-decoder h 0))
195
;(insert (print-decoder-c-pre h))
196
;(insert (print-decoder-c-structs insn insn-help))
197
(insert (print-decoder-vhd-pre h))
198
 
199
)
200
 

powered by: WebSVN 2.1.0

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