This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PING^6: [PATCH] PR target/70454: Build x86 libgomp with -march=i486 or better
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: Jakub Jelinek <jakub at redhat dot com>, Uros Bizjak <ubizjak at gmail dot com>
- Date: Fri, 1 Jul 2016 13:28:14 -0700
- Subject: PING^6: [PATCH] PR target/70454: Build x86 libgomp with -march=i486 or better
- Authentication-results: sourceware.org; auth=none
On Tue, Jun 7, 2016 at 9:03 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Sun, May 29, 2016 at 3:14 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> 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.
>
> PING.
>
PING.
--
H.J.