Quote:
The question is: ¿does intel E5 has coprocessor?
Yes. All x86 based CPUs have a build-in x87 FPU and vector units (SSE, AVX).
Quote:
Can I use a compiler directive to run it faster?
Yes, but it depends on the compiler and if you can accept reduced error handling and not being strict IEEE compliant. Most compilers have some kind of
fast-math options for this purpose. Depending on the used CPU, you can also enable the usage of scalar instructions (SSE) instead of the FPU.
Quote:
It would work faster in a I7 processor?
It depends on the clock rate of the x87 FPU / x86 CPU (for SSE). Each instruction requires a defined number of clock cycles.
Floating point divisions require far more clock cycles than additions or multiplications (8 - 20 times compared with multiplications). This applies to all kind of FPUs, not only to x86 types. They should be avoided when high performance is required (e.g. by multiplying with the reciprocal value within loops).
From the
Intel® 64 and IA-32 Architectures Optimization Reference Manual
Quote:
Assembly/Compiler Coding Rule 4. (M impact, M generality) Favor SSE floating-point instructions over x87 floating point instructions.
Assembly/Compiler Coding Rule 5. (MH impact, M generality) Run with exceptions masked and the DAZ and FTZ flags set (whenever possible).
Tuning Suggestion 5. Use the perfmon counters MACHINE_CLEARS.FP_ASSIST to see if floating exceptions are impacting program performance