source: trunk/source/lib/armenv.lisp

Last change on this file was 16685, checked in by rme, 4 years ago

Update copyright/license headers in files.

File size: 1.8 KB
Line 
1;;; -*- Mode:Lisp; Package:CCL; -*-
2;;;
3;;; Copyright 2010 Clozure Associates
4;;;
5;;; Licensed under the Apache License, Version 2.0 (the "License");
6;;; you may not use this file except in compliance with the License.
7;;; You may obtain a copy of the License at
8;;;
9;;;     http://www.apache.org/licenses/LICENSE-2.0
10;;;
11;;; Unless required by applicable law or agreed to in writing, software
12;;; distributed under the License is distributed on an "AS IS" BASIS,
13;;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14;;; See the License for the specific language governing permissions and
15;;; limitations under the License.
16
17(in-package "CCL")
18
19(defconstant $numarmsaveregs 0)
20(defconstant $numarmargregs 3)
21
22
23(defconstant arm-nonvolatile-registers-mask
24  0)
25
26(defconstant arm-arg-registers-mask
27  (logior (ash 1 arm::arg_z)
28          (ash 1 arm::arg_y)
29          (ash 1 arm::arg_x)))
30
31(defconstant arm-temp-registers-mask
32  (logior (ash 1 arm::temp0)
33          (ash 1 arm::temp1)
34          (ash 1 arm::temp2)))
35
36
37(defconstant arm-tagged-registers-mask
38  (logior arm-temp-registers-mask
39          arm-arg-registers-mask
40          arm-nonvolatile-registers-mask))
41
42
43
44(defconstant arm-temp-node-regs 
45  (make-mask arm::temp0
46             arm::temp1
47             arm::temp2
48             arm::arg_x
49             arm::arg_y
50             arm::arg_z))
51
52(defconstant arm-nonvolatile-node-regs
53  0)
54
55
56(defconstant arm-node-regs (logior arm-temp-node-regs arm-nonvolatile-node-regs))
57
58(defconstant arm-imm-regs (make-mask
59                            arm::imm0
60                            arm::imm1
61                            arm::imm2))
62
63(defconstant arm-temp-fp-regs (1- (ash 1 28)))
64
65(defconstant arm-cr-fields (make-mask 0))
66
67                               
68
69
70
71
72(defconstant $undo-arm-c-frame 16)
73
74
75(ccl::provide "ARMENV")
Note: See TracBrowser for help on using the repository browser.