timesoftfloat.txt

来自「基于4个mips核的noc设计」· 文本 代码 · 共 152 行

TXT
152
字号
Documentation for the `timesoftfloat' Program of SoftFloat Release 2bJohn R. Hauser2002 May 27----------------------------------------------------------------------------IntroductionThe `timesoftfloat' program evaluates the speed of SoftFloat's floating-point routines.  Each routine can be evaluated for every relevant roundingmode, tininess mode, and/or rounding precision.----------------------------------------------------------------------------Contents    Introduction    Contents    Legal Notice    Executing `timesoftfloat'    Options        -help        -precision32, -precision64, -precision80        -nearesteven, -tozero, -down, -up        -tininessbefore, -tininessafter    Function Sets----------------------------------------------------------------------------Legal NoticeThe `timesoftfloat' program was written by John R. Hauser.THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE.  Although reasonable efforthas been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL ATTIMES RESULT IN INCORRECT BEHAVIOR.  USE OF THIS SOFTWARE IS RESTRICTED TOPERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ALLLOSSES, COSTS, OR OTHER PROBLEMS THEY INCUR DUE TO THE SOFTWARE, AND WHOFURTHERMORE EFFECTIVELY INDEMNIFY THE AUTHOR, JOHN HAUSER, (possibly viasimilar legal warning) AGAINST ALL LOSSES, COSTS, OR OTHER PROBLEMS INCURREDBY THEIR CUSTOMERS AND CLIENTS DUE TO THE SOFTWARE.----------------------------------------------------------------------------Executing `timesoftfloat'The `timesoftfloat' program is intended to be invoked from a command lineinterpreter as follows:    timesoftfloat [<option>...] <function>Here square brackets ([]) indicate optional items, while angled brackets(<>) denote parameters to be filled in.  The `<function>' argument isthe name of the SoftFloat routine to evaluate, such as `float32_add' or`float64_to_int32'.  The allowed options are detailed in the next section,_Options_.  If `timesoftfloat' is executed without any arguments, a summaryof usage is written.  It is also possible to evaluate all machine functionsin a single invocation as explained in the section _Function Sets_ later inthis document.Ordinarily, a function's speed will be evaulated separately for each ofthe four rounding modes, one after the other.  If the rounding mode is notsupposed to have any effect on the results of a function--for instance,some operations do not require rounding--only the nearest/even rounding modeis timed.  In the same way, if a function is affected by the way in whichunderflow tininess is detected, `timesoftfloat' times the function both withtininess detected before rounding and after rounding.  For extended double-precision operations affected by rounding precision control, `timesoftfloat'also times the function for all three rounding precision modes, one afterthe other.  Evaluation of a function can be limited to a single roundingmode, a single tininess mode, and/or a single rounding precision withappropriate options (see _Options_).For each function and mode evaluated, `timesoftfloat' reports the speed ofthe function in kops/s, or ``thousands of operations per second''.  Thisunit of measure differs from the traditional MFLOPS (``millions of floating-point operations per second'') only in being a factor of 1000 smaller.(1000 kops/s is exactly 1 MFLOPS.)  Speeds are reported in thousandsinstead of millions because software floating-point may execute at less than1 MFLOPS.The speeds reported by `timesoftfloat' may be affected somewhat by otherprograms executing at the same time as `timesoftfloat'.Note that the remainder operations (`float32_rem', `float64_rem',`floatx80_rem' and `float128_rem') will be markedly slower than otheroperations, particularly for extended double precision (`floatx80') andquadruple precision (`float128').  This is inherent to the remainderfunction itself and is not a failing of the SoftFloat implementation.----------------------------------------------------------------------------OptionsThe `timesoftfloat' program accepts several command options.  If mutuallycontradictory options are given, the last one has priority.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --helpThe `-help' option causes a summary of program usage to be written, afterwhich the program exits.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --precision32, -precision64, -precision80For extended double-precision functions affected by rounding precisioncontrol, the `-precision32' option restricts evaluation to only the casesin which rounding precision is equivalent to single precision.  The otherrounding precision options are not timed.  Likewise, the `-precision64'and `-precision80' options fix the rounding precision equivalent to doubleprecision or extended double precision, respectively.  These options areignored for functions not affected by rounding precision control.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --nearesteven, -tozero, -down, -upThe `-nearesteven' option restricts evaluation to only the cases in whichthe rounding mode is nearest/even.  The other rounding mode options arenot timed.  Likewise, `-tozero' forces rounding toward zero; `-down' forcesrounding down; and `-up' forces rounding up.  These options are ignored forfunctions that are exact and thus do not round.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --tininessbefore, -tininessafterThe `-tininessbefore' option restricts evaluation to only the casesdetecting underflow tininess before rounding.  Tininess after roundingis not timed.  Likewise, `-tininessafter' forces underflow tininess to bedetected after rounding only.  These options are ignored for functions notaffected by the way in which underflow tininess is detected.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -----------------------------------------------------------------------------Function SetsJust as `timesoftfloat' can test an operation for all four rounding modes insequence, multiple operations can also be tested with a single invocation.Three sets are recognized:  `-all1', `-all2', and `-all'.  The set `-all1'comprises all one-operand functions; `-all2' is all two-operand functions;and `-all' is all functions.  A function set can be used in place of afunction name in the command line, as in    timesoftfloat [<option>...] -all

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?