mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 02:05:57 +01:00
ieee 754: start section
This commit is contained in:
27
README.adoc
27
README.adoc
@@ -12063,7 +12063,7 @@ Particularly important numerical analysis instruction, that is used in particula
|
||||
* Dot product
|
||||
* Matrix multiplication
|
||||
|
||||
FMA is so important that IEEE 754 specifies it with single precision drop compared to a separate add and multiply!
|
||||
FMA is so important that <<ieee-754>> specifies it with single precision drop compared to a separate add and multiply!
|
||||
|
||||
Micro-op fun: http://stackoverflow.com/questions/28630864/how-is-fma-implemented
|
||||
|
||||
@@ -12990,6 +12990,19 @@ Old floating point unit that you should likely not use anymore, prefer instead t
|
||||
** link:userland/arch/x86_64/fsqrt.S[] FSQRT: square root
|
||||
** link:userland/arch/x86_64/fxch.S[] FXCH: swap ST0 and another register
|
||||
|
||||
The ST0-ST7 x87 FPU registers are actually 80-bits wide, this can be seen from GDB with:
|
||||
|
||||
....
|
||||
i r st0 st1
|
||||
....
|
||||
|
||||
By counting the number of hex digits, we have 20 digits instead of 16!
|
||||
|
||||
Instructions such as FLDL convert standard <<ieee-754>> 64-bit values from memory into this custom 80-bit format.
|
||||
|
||||
* https://stackoverflow.com/questions/3206101/extended-80-bit-double-floating-point-in-x87-not-sse2-we-dont-miss-it
|
||||
* https://en.wikipedia.org/wiki/Extended_precision#x86_extended_precision_format
|
||||
|
||||
==== x86 x87 FPU vs SIMD
|
||||
|
||||
http://stackoverflow.com/questions/1844669/benefits-of-x87-over-sse
|
||||
@@ -14177,6 +14190,18 @@ http://infocenter.arm.com/help/topic/com.arm.doc.ddi0438i/DDI0438I_cortex_a15_r4
|
||||
|
||||
2013.
|
||||
|
||||
== IEEE 754
|
||||
|
||||
https://en.wikipedia.org/wiki/IEEE_754
|
||||
|
||||
Examples:
|
||||
|
||||
* link:userland/arch/x86_64/ieee754.S[]
|
||||
* link:lkmc/float.h[]
|
||||
* https://stackoverflow.com/questions/8341395/what-is-a-subnormal-floating-point-number/53203428#53203428
|
||||
* https://stackoverflow.com/questions/18118408/what-is-difference-between-quiet-nan-and-signaling-nan/55648118#55648118
|
||||
* https://stackoverflow.com/questions/2618059/in-java-what-does-nan-mean/55673220#55673220
|
||||
|
||||
== Baremetal
|
||||
|
||||
Getting started at: <<baremetal-setup>>
|
||||
|
||||
Reference in New Issue
Block a user