2
$Id: cpuinfo.pas,v 1.12 2004/04/28 15:19:03 florian Exp $
2
$Id: cpuinfo.pas,v 1.16 2005/02/14 17:13:10 peter Exp $
3
3
Copyright (c) 1998-2000 by Florian Klaempfl
5
5
Basic Processor information
38
{ the ordinal type used when evaluating constant integer expressions }
39
TConstExprInt = int64;
40
{ ... the same unsigned }
41
TConstExprUInt = {$ifdef fpc}qword{$else}int64{$endif};
43
{ this must be an ordinal type with the same size as a pointer }
44
{ Note: must be unsigned!! Otherwise, ugly code like }
45
{ pointer(-1) will result in a pointer with the value }
46
{ $fffffffffffffff on a 32bit machine if the compiler uses }
47
{ int64 constants internally (JM) }
48
TConstPtrUInt = qword;
50
33
bestreal = extended;
70
53
{ Size of native extended type }
71
54
extended_size = 10;
74
55
{ Size of a multimedia register }
76
57
{ target cpu string (used by compiler options) }
77
58
target_cpu_string = 'x86_64';
78
{ size of the buffer used for setjump/longjmp
79
the size of this buffer is deduced from the
80
jmp_buf structure in setjumph.inc file
82
{$warning FIX: jmp_buf_size }
86
60
{ calling conventions supported by the code generator }
87
61
supported_calling_conventions : tproccalloptions = [
113
87
$Log: cpuinfo.pas,v $
114
Revision 1.12 2004/04/28 15:19:03 florian
115
+ syscall directive support for MorphOS added
117
Revision 1.11 2004/04/12 18:25:26 florian
120
Revision 1.10 2003/12/25 01:07:09 florian
121
+ $fputype directive support
122
+ single data type operations with sse unit
123
* fixed more x86-64 stuff
125
Revision 1.9 2003/12/22 19:00:17 florian
126
* fixed some x86-64 issues
128
Revision 1.8 2003/12/20 12:38:51 florian
129
* some x86-64 compilation fixe
131
Revision 1.7 2003/09/24 17:12:02 florian
132
* several fixes for new reg allocator
134
Revision 1.6 2003/01/05 13:36:54 florian
136
+ very basic support for float128 type (x86-64 only)
138
Revision 1.5 2002/09/07 15:25:15 peter
139
* old logs removed and tabs fixed
141
Revision 1.4 2002/08/12 15:08:45 carl
142
+ stab register indexes for powerpc (moved from gdb to cpubase)
143
+ tprocessor enumeration moved to cpuinfo
144
+ linker in target_info is now a class
145
* many many updates for m68k (will soon start to compile)
146
- removed some ifdef or correct them for correct cpu
148
Revision 1.3 2002/08/10 14:53:38 carl
149
+ moved target_cpu_string to cpuinfo
150
* renamed asmmode enum.
151
* assembler reader has now less ifdef's
152
* move from nppcmem.pas -> ncgmem.pas vec. node.
154
Revision 1.2 2002/07/25 22:55:34 florian
155
* several fixes, small test units can be compiled
157
Revision 1.1 2002/07/24 22:38:15 florian
158
+ initial release of x86-64 target code
88
Revision 1.16 2005/02/14 17:13:10 peter
91
Revision 1.15 2005/01/20 16:38:45 peter
92
* load jmp_buf_size from system unit