- Apr 15, 2002
- 708
- 0
- 71
I think the pentiums are x586, so what are x686? and are software written for 686 backward compatible with 586/486/etc...?
Thanks
Thanks
Software compiled for x686 is not backwards compatible(it is forward compatible though); it will use features not found in older CPUsOriginally posted by: hypeMarked
I think the pentiums are x586, so what are x686? and are software written for 686 backward compatible with 586/486/etc...?
Thanks
Originally posted by: ViRGE
Software compiled for x686 is not backwards compatible(it is forward compatible though); it will use features not found in older CPUsOriginally posted by: hypeMarked
I think the pentiums are x586, so what are x686? and are software written for 686 backward compatible with 586/486/etc...?
Thanks
Originally posted by: Sunner
Originally posted by: ViRGE
Software compiled for x686 is not backwards compatible(it is forward compatible though); it will use features not found in older CPUsOriginally posted by: hypeMarked
I think the pentiums are x586, so what are x686? and are software written for 686 backward compatible with 586/486/etc...?
Thanks
There's also the difference between -march and -mcpu.
If you do -march=i686 the code will use specific instructions from said family, and won't work on CPU's that lack them, say a 386.
-mcpu=i686 on the other hand will just tune the code for i686, but it will still run on lesser CPU's.
So, "-march=i383 -mcpu=i686" will run on any i386 compatible CPU but will be optimized for 686 class CPU's.
Originally posted by: n0cmonkey
Originally posted by: Sunner
Originally posted by: ViRGE
Software compiled for x686 is not backwards compatible(it is forward compatible though); it will use features not found in older CPUsOriginally posted by: hypeMarked
I think the pentiums are x586, so what are x686? and are software written for 686 backward compatible with 586/486/etc...?
Thanks
There's also the difference between -march and -mcpu.
If you do -march=i686 the code will use specific instructions from said family, and won't work on CPU's that lack them, say a 386.
-mcpu=i686 on the other hand will just tune the code for i686, but it will still run on lesser CPU's.
So, "-march=i383 -mcpu=i686" will run on any i386 compatible CPU but will be optimized for 686 class CPU's.
And the benefits of either for most operations is negligable.![]()
Originally posted by: Sunner
So, "-march=i386 -mcpu=i686" will run on any i386 compatible CPU but will be optimized for 686 class CPU's.
It's either optimized for i686 CPUs, or it's flat out built for i686 CPUs(you can't absolutely tell without asking the dev or running it), but since your target machine is a P3 anyhow, it makes no difference. The P3 is a 686 class CPU.Originally posted by: hypeMarked
Thanks you for the informative info everyone. I'm asking this question because I plan to run postgresql on my old computer which will have redhat9 install on it pretty soon. The old computer's cpu is a pIII, and the postgresql build available for redhat seems to be built for i686. Here's what I mean:
http://bt.postgresql.org/redhat/redhat-9/
The file names there contains "i686" does this mean it is build for i686 cpus?
Originally posted by: Childs
Originally posted by: Sunner
So, "-march=i386 -mcpu=i686" will run on any i386 compatible CPU but will be optimized for 686 class CPU's.