I haven't tried to build the compiler on Fedora 16. But it looks like a bug in CG when generate the x87 instructions. Why not fix the error?
2011/12/4 David Coakley <dcoak...@gmail.com>: > Hi all, > > I recently tried building on Fedora 16 64-bit and ran into the same > error others have seen: > > /tmp/ccspin#.BqR0xk.s: Assembler messages: > /tmp/ccspin#.BqR0xk.s:1662: Error: bad register name `%st2' > /tmp/ccspin#.BqR0xk.s:1732: Error: operand type mismatch for `divss' > make[3]: *** [ieee_module_support.o] Error 1 > > The conflict occurs because the system include files assume SSE2 > support while the Open64 build is set up to target the most generic > cpu possible -- for 32-bit code, it's i386 which does not support > SSE2. > > My proposed fix follows -- we remove the restrictive options and just > let the compiler use the default options according to the host system. > With this change I'm able to build on Fedora 16 since we > automatically tune for a cpu that supports SSE2 for any 64-bit host. > The only negative effect I can think of is that those who build binary > releases of Open64 will need to be careful about selecting a build > machine that matches the minimum target cpu requirements. > > -David Coakley / AMD Open Source Compiler Engineering > > > Index: osprey/linux/make/gcommondefs > =================================================================== > --- osprey/linux/make/gcommondefs (revision 3843) > +++ osprey/linux/make/gcommondefs (working copy) > @@ -166,16 +166,6 @@ > CCNAME = pathcc > C++NAME = pathCC > F90 = pathf90 > - ifeq ($(BUILD_TARGET), X8664) > - CCNAME += -march=anyx86 > - C++NAME += -march=anyx86 > - F90 += -march=anyx86 > - endif > - ifeq ($(BUILD_TARGET), IA32) > - CCNAME += -march=anyx86 > - C++NAME += -march=anyx86 > - F90 += -march=anyx86 > - endif > F77 = $(F90) > AR = ar > endif > > @@ -186,23 +176,6 @@ > C++NAME = openCC > F90 = openf90 > F90_RTLIBS = -Wl,-Bstatic -lfortran -Wl,-Bdynamic > - > - ifeq ($(BUILD_TARGET), X8664) > - CCNAME += -march=anyx86 > - C++NAME += -march=anyx86 > - F90 += -march=anyx86 > - endif > - ifeq ($(BUILD_TARGET), IA32) > - CCNAME += -march=anyx86 > - C++NAME += -march=anyx86 > - F90 += -march=anyx86 > - endif > - ifeq ($(BUILD_TARGET), IA64) > - # only 64bit libraries set the BUILD_ARCH to X8664 > - CCNAME += > - C++NAME += > - F90 += > - endif > F77 = $(F90) > AR = ar > endif > @@ -218,32 +191,15 @@ > CCNAME += -run-build=$(TOP_BUILDDIR) -L$(BUILD_AREA)/libopen64rt > -L$(BUILD_AREA)/libacml_mv > C++NAME += -run-build=$(TOP_BUILDDIR) > F90 += -run-build=$(TOP_BUILDDIR) > - > - ifeq ($(BUILD_TARGET), X8664) > - CCNAME += -march=anyx86 > - C++NAME += -march=anyx86 > - F90 += -march=anyx86 > - endif > - ifeq ($(BUILD_TARGET), IA32) > - CCNAME += -march=anyx86 > - C++NAME += -march=anyx86 > - F90 += -march=anyx86 > - endif > - ifeq ($(BUILD_TARGET), IA64) > - # only 64bit libraries set the BUILD_ARCH to X8664 > - CCNAME += > - C++NAME += > - F90 += > - endif > F77 = $(F90) > AR = ar > endif > > ifeq ($(BUILD_ARCH), IA32) > # only 32bit libraries set the BUILD_TARGET to IA32 > - CCNAME += -m32 -mno-sse2 > - C++NAME += -m32 -mno-sse2 > - F90 += -m32 -mno-sse2 > + CCNAME += -m32 > + C++NAME += -m32 > + F90 += -m32 > endif > > ifeq ($(BUILD_ARCH), X8664) > > ------------------------------------------------------------------------------ > All the data continuously generated in your IT infrastructure > contains a definitive record of customers, application performance, > security threats, fraudulent activity, and more. Splunk takes this > data and makes sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-novd2d > _______________________________________________ > Open64-devel mailing list > Open64-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/open64-devel -- Regards, Lai Jian-Xin ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d _______________________________________________ Open64-devel mailing list Open64-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open64-devel