On Mon, May 13, 2013 at 11:46 PM, H.J. Lu <hjl.to...@gmail.com> wrote:

>>>>> On Mon, Apr 29, 2013 at 10:47 AM, Sriraman Tallam <tmsri...@google.com> 
>>>>> wrote:
>>>>>> On Thu, Apr 25, 2013 at 12:41 PM, Joseph S. Myers
>>>>>> <jos...@codesourcery.com> wrote:
>>>>>>> On Tue, 16 Apr 2013, Sriraman Tallam wrote:
>>>>>>>
>>>>>>>> Ok, it is on by default now.  There is a way to turn it off, with
>>>>>>>> -mno-generate-builtins.
>>>>>>>
>>>>>>> Any new option needs documenting in invoke.texi.
>>>>>>
>>>>>> Added and new patch attached.
>>>>>>
>>>>>> Thanks
>>>>>> Sri
>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Joseph S. Myers
>>>>>>> jos...@codesourcery.com
>
> It looks good to me.  But I can't approve it.

* config/i386/i386.c (construct_container): Do not issue SSE
return error for extern gnu_inline functions.
(def_builtin): Do not generate builtins when -mno-generate-builtins
is used.
* doc/invoke.texi: Document option -mgenerate-builtins.
* config/i386/i386.opt (mgenerate-builtins): New target option.
* config/i386/i386-c.c (ix86_target_macros_internal): Define macro
__ALL_ISA__ when generate_target_builtins is true.
* testsuite/gcc.target/i386/intrinsics_1.c: New test.
* testsuite/gcc.target/i386/intrinsics_2.c: Ditto.
* testsuite/gcc.target/i386/intrinsics_3.c: Ditto.
* testsuite/gcc.target/i386/intrinsics_4.c: Ditto.
* testsuite/gcc.target/i386/intrinsics_5.c: Ditto.
* config/i386/lzcntintrin.h: Expose header when __ALL_ISA__ is defined.
* config/i386/lwpintrin.h: Ditto.
* config/i386/xopintrin.h: Ditto.
* config/i386/fmaintrin.h: Ditto.
* config/i386/bmiintrin.h: Ditto.
* config/i386/fma4intrin.h: Ditto.
* config/i386/nmmintrin.h: Ditto.
* config/i386/tbmintrin.h: Ditto.
* config/i386/smmintrin.h: Ditto.
* config/i386/wmmintrin.h: Ditto.
* config/i386/popcntintrin.h: Ditto.
* config/i386/f16cintrin.h: Ditto.
* config/i386/pmmintrin.h: Ditto.
* config/i386/bmi2intrin.h: Ditto.
* config/i386/tmmintrin.h: Ditto.
* config/i386/xmmintrin.h: Ditto.
* config/i386/mmintrin.h: Ditto.
* config/i386/ammintrin.h: Ditto.
* config/i386/emmintrin.h: Ditto.

I think that the option should be named -mtarget-builtins.

Since HJ is OK with this user-visible change, the patch is OK for
mainline (with eventually renamed option). We also have an option to
switch this new functionality off, and we are early enough in the
development cycle to find out if anything is fundamentaly broken with
this approach.

BTW, does this patch address the request in PR57202?

Thanks,
Uros.

Reply via email to