diff options
Diffstat (limited to 'compiler/js/cpuinfo.pas')
-rw-r--r-- | compiler/js/cpuinfo.pas | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/compiler/js/cpuinfo.pas b/compiler/js/cpuinfo.pas new file mode 100644 index 0000000000..d4927066c3 --- /dev/null +++ b/compiler/js/cpuinfo.pas @@ -0,0 +1,75 @@ +{ + Copyright (c) 2010 by the Free Pascal development team + + Basic Processor information for the Java VM + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + 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. + + **********************************************************************} + +Unit cpuinfo; + +Interface + + uses + globtype; + +Type + bestreal = double; + ts32real = single; + ts64real = double; + ts80real = extended; + ts128real = extended; + ts64comp = comp; + + pbestreal=^bestreal; + + { possible supported processors for this target } + tcputype = + (cpu_none, + { JS for asm.js } + cpu_asmjs + ); + + tfputype = + (fpu_none, + fpu_standard + ); + + +Const + { calling conventions supported by the code generator } + supported_calling_conventions : tproccalloptions = [ + pocall_internproc + ]; + + cputypestr : array[tcputype] of string[9] = ('', + 'ASMJS' + ); + + fputypestr : array[tfputype] of string[8] = ( + 'NONE', + 'STANDARD' + ); + + { Supported optimizations, only used for information } + supported_optimizerswitches = genericlevel1optimizerswitches+ + genericlevel2optimizerswitches+ + genericlevel3optimizerswitches- + { no need to write info about those } + [cs_opt_level1,cs_opt_level2,cs_opt_level3]+ + [cs_opt_loopunroll,cs_opt_nodecse]; + + level1optimizerswitches = genericlevel1optimizerswitches; + level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches + [cs_opt_nodecse]; + level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches + [{,cs_opt_loopunroll}]; + level4optimizerswitches = genericlevel4optimizerswitches + level3optimizerswitches + []; + +Implementation + +end. |