It sounds like you agree with the build change.  We can take a look at
bug 935 separately.  I don't think we pass any "-march" options to the
GCC FE right now.

Mike -- or any of the global gatekeepers -- have you had a chance to
review the patch at the beginning of the thread?

On Wed, Dec 7, 2011 at 9:07 PM, Jian-Xin Lai <laij...@gmail.com> wrote:
> It looks like when "-march=anyx86" is present, the similar option
> "-march=i386" needs to pass to GCC FE to detect the error?
>
> 2011/12/8 Jian-Xin Lai <laij...@gmail.com>:
>> I read the case attached in the #935. Since this problem happens in
>> the inline asm, it makes sense to remove -march=anyx86 from the
>> Makefile.
>>
>> 2011/12/8 David Coakley <dcoak...@gmail.com>:
>>> Hi Jian-Xin,
>>>
>>> You are right, there is a bug in that we should not emit bad assembly.
>>>  However, I think it is correct that this code does not compile with
>>> the options we are using and the bug doesn't change my proposed build
>>> change.
>>>
>>> I filed bug 935 ("impossible constraint error not detected") with a
>>> test case that might make things more clear:
>>>
>>> https://bugs.open64.net/show_bug.cgi?id=935
>>>
>>> Christopher, I believe SSE2 support has been cleaned up in the last
>>> few years and anything missing should be considered a bug.
>>>
>>> -David Coakley / AMD Open Source Compiler Engineering
>>>
>>> On Sat, Dec 3, 2011 at 10:49 PM, Jian-Xin Lai <laij...@gmail.com> wrote:
>>>> 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
>>
>>
>>
>> --
>> Regards,
>> Lai Jian-Xin
>
>
>
> --
> Regards,
> Lai Jian-Xin

------------------------------------------------------------------------------
Cloud Services Checklist: Pricing and Packaging Optimization
This white paper is intended to serve as a reference, checklist and point of 
discussion for anyone considering optimizing the pricing and packaging model 
of a cloud services business. Read Now!
http://www.accelacomm.com/jaw/sfnl/114/51491232/
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to