[PATCH] D30415: Fix -mno-altivec cannot overwrite -maltivec option

Hal Finkel via cfe-commits cfe-commits at lists.llvm.org
Thu Mar 16 19:20:37 PDT 2017


On 03/16/2017 08:11 PM, Eric Christopher wrote:
>
>
> On Thu, Mar 16, 2017 at 5:45 PM Hal Finkel <hfinkel at anl.gov 
> <mailto:hfinkel at anl.gov>> wrote:
>
>
>     On 03/16/2017 07:40 PM, Eric Christopher wrote:
>>
>>
>>     On Thu, Mar 16, 2017 at 5:37 PM Hal Finkel via Phabricator
>>     <reviews at reviews.llvm.org <mailto:reviews at reviews.llvm.org>> wrote:
>>
>>         hfinkel added a comment.
>>
>>         In https://reviews.llvm.org/D30415#703398, @echristo wrote:
>>
>>         > Different suggestion:
>>         >
>>         > Remove the faltivec option. Even gcc doesn't support it
>>         anymore afaict.
>>
>>
>>         What are you suggesting? Always having the language
>>         extensions on? Or explicitly tying the language extensions to
>>         the underlying target feature?
>>
>>
>>     I was thinking the latter.
>
>     Is that what GCC now does?
>
>
> That would be my guess given the option isn't listed anymore, but what 
> it does is this:
>
> echristo at dzur ~/s/gcc-git> grep -r faltivec *
> gcc/testsuite/gcc.target/powerpc/stabs-attrib-vect-darwin.c:/* { 
> dg-options "-gstabs+ -fno-eliminate-unused-debug-types -faltivec" } */
> gcc/testsuite/ChangeLog-1993-2007:* g++.dg/ext/altivec-8.C: Use 
> '-maltivec' instead of '-faltivec';
> gcc/config/rs6000/darwin.h:   the kernel or some such. The "-faltivec" 
> option should have been
> gcc/config/rs6000/darwin.h:  %{faltivec:-maltivec -include altivec.h} 
> %{fno-altivec:-mno-altivec} \
> gcc/config/rs6000/darwin.h:  %<faltivec %<fno-altivec " \
> gcc/config/rs6000/darwin.opt:faltivec
> gcc/ChangeLog-2003:-maltivec is specified, not the non-existent -faltivec.
> gcc/ChangeLog-2010:* config/rs6000/darwin.h (CC1_SPEC): Handle 
> -faltivec and -fno-altivec.
> gcc/ChangeLog-2010:* config/rs6000/darwin.opt 
> (Waltivec-long-deprecated, faltivec,
>
> and only on darwin. I don't see anything that treats the faltivec 
> alias as anything language specific anywhere. It basically just says 
> "pass the include and turn on maltivec".
>
> At this point I'm pretty sure that -faltivec can just be ignored.

It is certainly fair to say that having the ability to use -fno-altivec 
was much more important when -faltivec included altivec.h (which 
injected names like vec_add into the global namespace). I'm fine with 
enabling the vector syntax extensions when targeting altivec is enabled 
(they're extensions to extensions anyway).

  -Hal

>
> -eric
>
>      -Hal
>
>
>>
>>     -eric
>>
>>         > (Go ahead and commit the zvector part if you'd like).
>>         >
>>         > -eric
>>
>>
>>
>>
>>         https://reviews.llvm.org/D30415
>>
>>
>>
>
>     -- 
>     Hal Finkel
>     Lead, Compiler Technology and Programming Languages
>     Leadership Computing Facility
>     Argonne National Laboratory
>

-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170316/6267d8ad/attachment.html>


More information about the cfe-commits mailing list