This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PING^4: [PATCH] PR target/70454: Build x86 libgomp with -march=i486 or better


On Fri, May 20, 2016 at 8:04 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Mon, May 9, 2016 at 5:52 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Mon, May 2, 2016 at 6:46 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>>> On Mon, Apr 25, 2016 at 1:36 PM, H.J. Lu <hongjiu.lu@intel.com> wrote:
>>>> If x86 libgomp isn't compiled with -march=i486 or better, append
>>>> -march=i486 XCFLAGS for x86 libgomp build.
>>>>
>>>> Tested on i686 with and without --with-arch=i386.  Tested on
>>>> x86-64 with and without --with-arch_32=i386.  OK for trunk?
>>>>
>>>>
>>>> H.J.
>>>> ---
>>>>         PR target/70454
>>>>         * configure.tgt (XCFLAGS): Append -march=i486 to compile x86
>>>>         libgomp if needed.
>>>> ---
>>>>  libgomp/configure.tgt | 36 ++++++++++++++++--------------------
>>>>  1 file changed, 16 insertions(+), 20 deletions(-)
>>>>
>>>> diff --git a/libgomp/configure.tgt b/libgomp/configure.tgt
>>>> index 77e73f0..c876e80 100644
>>>> --- a/libgomp/configure.tgt
>>>> +++ b/libgomp/configure.tgt
>>>> @@ -67,28 +67,24 @@ if test x$enable_linux_futex = xyes; then
>>>>         ;;
>>>>
>>>>      # Note that bare i386 is not included here.  We need cmpxchg.
>>>> -    i[456]86-*-linux*)
>>>> +    i[456]86-*-linux* | x86_64-*-linux*)
>>>>         config_path="linux/x86 linux posix"
>>>> -       case " ${CC} ${CFLAGS} " in
>>>> -         *" -m64 "*|*" -mx32 "*)
>>>> -           ;;
>>>> -         *)
>>>> -           if test -z "$with_arch"; then
>>>> -             XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
>>>> +       # Need i486 or better.
>>>> +       cat > conftestx.c <<EOF
>>>> +#if defined __x86_64__ || defined __i486__ || defined __pentium__ \
>>>> +      || defined __pentiumpro__ || defined __pentium4__ \
>>>> +      || defined __geode__ || defined __SSE__
>>>> +# error Need i486 or better
>>>> +#endif
>>>> +EOF
>>>> +       if ${CC} ${CFLAGS} -c -o conftestx.o conftestx.c > /dev/null 2>&1; then
>>>> +           if test "${target_cpu}" = x86_64; then
>>>> +               XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
>>>> +           else
>>>> +               XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
>>>>             fi
>>>> -       esac
>>>> -       ;;
>>>> -
>>>> -    # Similar jiggery-pokery for x86_64 multilibs, except here we
>>>> -    # can't rely on the --with-arch configure option, since that
>>>> -    # applies to the 64-bit side.
>>>> -    x86_64-*-linux*)
>>>> -       config_path="linux/x86 linux posix"
>>>> -       case " ${CC} ${CFLAGS} " in
>>>> -         *" -m32 "*)
>>>> -           XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
>>>> -           ;;
>>>> -       esac
>>>> +       fi
>>>> +       rm -f conftestx.c conftestx.o
>>>>         ;;
>>>>
>>>>      # Note that sparcv7 and sparcv8 is not included here.  We need cas.
>>>> --
>>>> 2.5.5
>>>>
>>>
>>> PING.
>>>
>>
>> PING.
>>
>
> PING.
>

PING.


-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]