author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Wed, 15 Jun 2016 23:46:29 +0100 | |
changeset 23 | d2d9a2d4d6bf |
parent 17 | 54798ae989cc |
permissions | -rw-r--r-- |
23
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
1 |
" |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
2 |
Copyright (c) 2012-2016 Igor Stasenko |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
3 |
Martin McClure |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
4 |
Damien Pollet |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
5 |
Camillo Bruni |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
6 |
Guido Chari |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
7 |
2016-now Jan Vrany <jan.vrany [at] fit . cvut . cz> |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
8 |
|
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
9 |
Permission is hereby granted, free of charge, to any person obtaining a copy |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
10 |
of this software and associated documentation files (the 'Software'), to deal |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
11 |
in the Software without restriction, including without limitation the rights |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
12 |
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
13 |
copies of the Software, and to permit persons to whom the Software is |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
14 |
furnished to do so, subject to the following conditions: |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
15 |
|
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
16 |
The above copyright notice and this permission notice shall be included in all |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
17 |
copies or substantial portions of the Software. |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
18 |
|
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
19 |
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
20 |
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
21 |
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
22 |
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
23 |
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
24 |
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
25 |
SOFTWARE. |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
26 |
" |
3
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
"{ Package: 'jv:dragonfly/asm' }" |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
"{ NameSpace: Smalltalk }" |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
SharedPool subclass:#AJConstants |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
instanceVariableNames:'' |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
classVariableNames:'CcA CcABOVE CcABOVEEQUAL CcAE CcB CcBE CcBELOW CcBELOWEQUAL CcC |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
CcE CcEQUAL CcFPNOTUNORDERED CcFPUNORDERED CcG CcGE CcGREATER |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
35 |
CcGREATEREQUAL CcL CcLE CcLESS CcLESSEQUAL CcNA CcNAE CcNB CcNBE |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
CcNC CcNE CcNEGATIVE CcNG CcNGE CcNL CcNLE CcNO CcNOCONDITION |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
CcNOOVERFLOW CcNOTEQUAL CcNOTSIGN CcNOTZERO CcNP CcNS CcNZ CcO |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
CcOVERFLOW CcP CcPARITYEVEN CcPARITYODD CcPE CcPO CcPOSITIVE CcS |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
39 |
CcSIGN CcZ CcZERO InstCMOVA InstJA O64Only OFM1 OFM10 OFM2 OFM24 |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
40 |
OFM248 OFM4 OFM48 OFM4810 OFM8 OG16 OG163264 OG32 OG3264 OG64 OG8 |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
OG8163264 OIMM OMEM OMM OMMMEM OMMXMM OMMXMMMEM ONOREX OXMM |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
OXMMMEM OpImm OpLabel OpMem OpNONE OpREG PrefetchNTA PrefetchT0 |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
PrefetchT1 PrefetchT2 RIDEAX RIDEBP RIDEBX RIDECX RIDEDI RIDEDX |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
44 |
RIDESI RIDESP RegCodeMask RegGPB RegGPD RegGPQ RegGPW |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
45 |
RegHighByteMask RegMM RegProhibitsRexMask RegRequiresRexMask |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
46 |
RegTypeMask RegX87 RegXMM SegmentCS SegmentDS SegmentES SegmentFS |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
47 |
SegmentGS SegmentNONE SegmentSS SizeByte SizeDQWord SizeDWord |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
48 |
SizeQWord SizeTWord SizeWord' |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
49 |
poolDictionaries:'' |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
50 |
category:'AsmJit-Core' |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
51 |
! |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
52 |
|
23
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
53 |
!AJConstants class methodsFor:'documentation'! |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
54 |
|
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
55 |
copyright |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
56 |
" |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
57 |
Copyright (c) 2012-2016 Igor Stasenko |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
58 |
Martin McClure |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
59 |
Damien Pollet |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
60 |
Camillo Bruni |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
61 |
Guido Chari |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
62 |
2016-now Jan Vrany <jan.vrany [at] fit . cvut . cz> |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
63 |
|
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
64 |
Permission is hereby granted, free of charge, to any person obtaining a copy |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
65 |
of this software and associated documentation files (the 'Software'), to deal |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
66 |
in the Software without restriction, including without limitation the rights |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
67 |
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
68 |
copies of the Software, and to permit persons to whom the Software is |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
69 |
furnished to do so, subject to the following conditions: |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
70 |
|
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
71 |
The above copyright notice and this permission notice shall be included in all |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
72 |
copies or substantial portions of the Software. |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
73 |
|
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
74 |
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
75 |
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
76 |
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
77 |
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
78 |
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
79 |
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
80 |
SOFTWARE. |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
81 |
|
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
82 |
" |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
83 |
! ! |
d2d9a2d4d6bf
Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
84 |
|
3
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
!AJConstants class methodsFor:'initialization'! |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
initOpCodes |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
88 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
90 |
" x86 " |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
91 |
OG8 := 16r01. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
92 |
OG16 := 16r02. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
OG32 := 16r04. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
OG64 := 16r08. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
95 |
OMEM := 16r40. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
96 |
OIMM := 16r80. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
97 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
98 |
O64Only := 16r100. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
99 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
100 |
OG8163264 := OG64 + OG32 + OG16 + OG8. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
101 |
OG163264 := OG64 + OG32 + OG16. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
102 |
OG3264 := OG64 + OG32. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
103 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
104 |
" x87" |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
105 |
OFM1 := 16r01. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
106 |
OFM2 := 16r02. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
107 |
OFM4 := 16r04. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
108 |
OFM8 := 16r08. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
109 |
OFM10 := 16r10. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
110 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
111 |
OFM24 := OFM2 + OFM4. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
112 |
OFM248 := OFM2 + OFM4 + OFM8. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
113 |
OFM48 := OFM4 + OFM8. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
114 |
OFM4810 := OFM4 + OFM8 + OFM10. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
115 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
116 |
" mm|xmm" |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
117 |
ONOREX := 16r01. " Used by MMX/SSE instructions. OG8 is never used for them " |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
118 |
OMM := 16r10. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
119 |
OXMM := 16r20. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
120 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
121 |
OMMMEM := OMM + OMEM. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
122 |
OXMMMEM := OXMM + OMEM. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
123 |
OMMXMM := OMM + OXMM. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
124 |
OMMXMMMEM := OMM + OXMM + OMEM. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
125 |
! |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
126 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
127 |
initialize |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
128 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
129 |
"AJConstants initialize" |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
130 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
131 |
"Operand is none, used only internally." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
132 |
OpNONE := 0. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
133 |
"Operand is register" |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
134 |
OpREG := 1. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
135 |
"Operand is memory" |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
136 |
OpMem := 2. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
137 |
"Operand is immediate." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
138 |
OpImm := 3. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
139 |
"Operand is label. " |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
140 |
OpLabel := 4. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
141 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
142 |
RegTypeMask := 16rF0. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
143 |
RegCodeMask := 16r0F. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
144 |
RegRequiresRexMask := 16r100. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
145 |
RegProhibitsRexMask := 16r200. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
146 |
RegHighByteMask := 2r111100. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
147 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
148 |
"1 byte size." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
149 |
SizeByte := 1. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
150 |
"2 bytes size." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
151 |
SizeWord := 2. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
152 |
"4 bytes size." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
153 |
SizeDWord := 4. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
154 |
"8 bytes size." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
155 |
SizeQWord := 8. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
156 |
"10 bytes size." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
157 |
SizeTWord := 10. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
158 |
"16 bytes size." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
159 |
SizeDQWord := 16. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
160 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
161 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
162 |
"ID for AX/EAX/RAX registers." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
163 |
RIDEAX := 0. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
164 |
"ID for CX/ECX/RCX registers." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
165 |
RIDECX := 1. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
166 |
"ID for DX/EDX/RDX registers." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
167 |
RIDEDX := 2. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
168 |
"ID for BX/EBX/RBX registers." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
169 |
RIDEBX := 3. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
170 |
"ID for SP/ESP/RSP registers." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
171 |
RIDESP := 4. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
172 |
"ID for BP/EBP/RBP registers." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
173 |
RIDEBP := 5. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
174 |
"ID for SI/ESI/RSI registers." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
175 |
RIDESI := 6. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
176 |
"ID for DI/EDI/RDI registers." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
177 |
RIDEDI := 7. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
178 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
179 |
"8 bit general purpose register type." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
180 |
RegGPB := 16r00. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
181 |
"16 bit general purpose register type." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
182 |
RegGPW := 16r10. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
183 |
"32 bit general purpose register type." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
184 |
RegGPD := 16r20. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
185 |
"64 bit general purpose register type. " |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
186 |
RegGPQ := 16r30. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
187 |
"X87 (FPU) register type. " |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
188 |
RegX87 := 16r50. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
189 |
"64 bit mmx register type." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
190 |
RegMM := 16r60. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
191 |
"128 bit sse register type." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
192 |
RegXMM := 16r70. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
193 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
194 |
"Segment override prefixes." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
195 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
196 |
"No segment override prefix." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
197 |
SegmentNONE := 0. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
198 |
"Use 'cs' segment override prefix." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
199 |
SegmentCS := 1. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
200 |
"Use 'ss' segment override prefix." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
201 |
SegmentSS := 2. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
202 |
"Use 'ds' segment override prefix." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
203 |
SegmentDS := 3. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
204 |
"Use 'es' segment override prefix." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
205 |
SegmentES := 4. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
206 |
"Use 'fs' segment override prefix." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
207 |
SegmentFS := 5. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
208 |
"Use 'gs' segment override prefix." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
209 |
SegmentGS := 6. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
210 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
211 |
self initializePrefetchHints. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
212 |
self initializeConditionCodes. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
213 |
self initOpCodes. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
214 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
215 |
! |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
216 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
217 |
initializeConditionCodes |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
218 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
219 |
"Condition codes." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
220 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
221 |
"No condition code." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
222 |
CcNOCONDITION := -1. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
223 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
224 |
"Condition codes from processor manuals." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
225 |
CcA := 16r7. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
226 |
CcAE := 16r3. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
227 |
CcB := 16r2. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
228 |
CcBE := 16r6. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
229 |
CcC := 16r2. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
230 |
CcE := 16r4. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
231 |
CcG := 16rF. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
232 |
CcGE := 16rD. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
233 |
CcL := 16rC. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
234 |
CcLE := 16rE. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
235 |
CcNA := 16r6. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
236 |
CcNAE := 16r2. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
237 |
CcNB := 16r3. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
238 |
CcNBE := 16r7. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
239 |
CcNC := 16r3. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
240 |
CcNE := 16r5. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
241 |
CcNG := 16rE. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
242 |
CcNGE := 16rC. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
243 |
CcNL := 16rD. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
244 |
CcNLE := 16rF. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
245 |
CcNO := 16r1. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
246 |
CcNP := 16rB. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
247 |
CcNS := 16r9. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
248 |
CcNZ := 16r5. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
249 |
CcO := 16r0. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
250 |
CcP := 16rA. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
251 |
CcPE := 16rA. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
252 |
CcPO := 16rB. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
253 |
CcS := 16r8. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
254 |
CcZ := 16r4. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
255 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
256 |
" Simplified condition codes" |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
257 |
CcOVERFLOW := 16r0. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
258 |
CcNOOVERFLOW := 16r1. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
259 |
CcBELOW := 16r2. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
260 |
CcABOVEEQUAL := 16r3. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
261 |
CcEQUAL := 16r4. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
262 |
CcNOTEQUAL := 16r5. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
263 |
CcBELOWEQUAL := 16r6. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
264 |
CcABOVE := 16r7. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
265 |
CcSIGN := 16r8. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
266 |
CcNOTSIGN := 16r9. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
267 |
CcPARITYEVEN := 16rA. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
268 |
CcPARITYODD := 16rB. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
269 |
CcLESS := 16rC. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
270 |
CcGREATEREQUAL := 16rD. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
271 |
CcLESSEQUAL := 16rE. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
272 |
CcGREATER := 16rF. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
273 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
274 |
"aliases" |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
275 |
CcZERO := 16r4. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
276 |
CcNOTZERO := 16r5. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
277 |
CcNEGATIVE := 16r8. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
278 |
CcPOSITIVE := 16r9. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
279 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
280 |
"x87 floating point only" |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
281 |
CcFPUNORDERED := 16. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
282 |
CcFPNOTUNORDERED := 17. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
283 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
284 |
! |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
285 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
286 |
initializePrefetchHints |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
287 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
288 |
"Prefetch hints." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
289 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
290 |
"Prefetch to L0 cache." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
291 |
PrefetchT0 := 1. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
292 |
"Prefetch to L1 cache." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
293 |
PrefetchT1 := 2. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
294 |
"Prefetch to L2 cache." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
295 |
PrefetchT2 := 3. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
296 |
"Prefetch using NT hint." |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
297 |
PrefetchNTA := 0. |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
298 |
! ! |
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
299 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
300 |
|
483729eb4432
Initial port ot Igor Stasenko's AsmJit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
301 |
AJConstants initialize! |