diff options
Diffstat (limited to 'compiler/i386/cpuinfo.pas')
| -rw-r--r-- | compiler/i386/cpuinfo.pas | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/compiler/i386/cpuinfo.pas b/compiler/i386/cpuinfo.pas new file mode 100644 index 0000000000..bfdb82727a --- /dev/null +++ b/compiler/i386/cpuinfo.pas @@ -0,0 +1,94 @@ +{ + Copyright (c) 1998-2004 by Florian Klaempfl + + Basic Processor information + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + **************************************************************************** +} +Unit cpuinfo; + +{$i fpcdefs.inc} + +Interface + + uses + globtype; + +Type + bestreal = extended; + ts32real = single; + ts64real = double; + ts80real = extended; + ts128real = type extended; + ts64comp = type extended; + + pbestreal=^bestreal; + + { possible supported processors for this target } + tprocessors = + (no_processor, + Class386, + ClassPentium, + ClassPentium2, + ClassPentium3, + ClassPentium4 + ); + + tfputype = + (no_fpuprocessor, + fpu_soft, + fpu_x87, + fpu_sse, + fpu_sse2 + ); + + +Const + { calling conventions supported by the code generator } + supported_calling_conventions : tproccalloptions = [ + pocall_internproc, + pocall_register, + pocall_safecall, + pocall_stdcall, + pocall_cdecl, + pocall_cppdecl, + pocall_far16, + pocall_pascal, + pocall_oldfpccall + ]; + + processorsstr : array[tprocessors] of string[10] = ('', + '386', + 'PENTIUM', + 'PENTIUM2', + 'PENTIUM3', + 'PENTIUM4' + ); + + fputypestr : array[tfputype] of string[6] = ('', + 'SOFT', + 'X87', + 'SSE', + 'SSE2' + ); + + sse_singlescalar : set of tfputype = [fpu_sse,fpu_sse2]; + sse_doublescalar : set of tfputype = [fpu_sse2]; + +Implementation + +end. |
