View previous topic :: View next topic |
Author |
Message |
JohnCampbell
Joined: 16 Feb 2006 Posts: 2615 Location: Sydney
|
Posted: Wed Feb 29, 2012 11:57 pm Post subject: use of /p6 option |
|
|
Paul,
I was reviwing my .bat files for compiling and was wondering if the /pentium or /p6 option are still relevant ?
When using /opt, I sometimes include /p6 but do not observe any change.
Most processors I use are Xeon or more recent I5.
There was a time when I thought the math processor was 80-bit, while SSE instructions were 64-bit. Is this something to still consider or also lost in the past ?
I had assumed that real*8 dot_product was calculated to 80-bit precision, as the accumulator was an 80-bit register. Is this also lost in the past ?
John |
|
Back to top |
|
 |
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8210 Location: Salford, UK
|
Posted: Thu Mar 01, 2012 10:24 am Post subject: |
|
|
John
I am not an expert on assembly code but here is what I can glean from a search through the compiler.
/p6 is still relevant. It provides optimisation without /opt being ON but only when /check is OFF.
/pentium has no effect.
You should be able to see the difference in the assembly code produced with /explist when you omit both /check and /opt. That is, compare the assembly code produced with and without /p6 but leaving off both /check and /opt. |
|
Back to top |
|
 |
mecej4
Joined: 31 Oct 2006 Posts: 1899
|
Posted: Sat Mar 03, 2012 6:45 pm Post subject: Re: use of /p6 option |
|
|
The Pentium-Pro and Pentium-II (P6) did not have SSE instructions, let alone SSE2. The first processor to have SSE was the Pentium-III.
As far as I can tell, Salford/Silverfrost Fortran does not produce SSE or SSE2 instructions, no matter which compiler options are used. Therefore, to answer John's question: nothing is lost, but FTN95 is stuck in the past as far as instruction sets are concerned. A saving grace may be that, because of the ABI convention that functions of type REAL*n return the function result in the 80x87 register ST0, processors will need to continue to provide 80x87 support to avoid breaking older libraries. I do not know of a single x86/x64 CPU dated beyond the turn of the millennium that does not provide the 80x87 registers and instruction set. |
|
Back to top |
|
 |
|