Deprecated SSE Builtins?

Brian Budge brian.budge@gmail.com
Wed Dec 21 15:55:00 GMT 2005


I believe they are in fact borrowed from Intel, and those should be
the correct corresponding functions.

  Brian

On 12/20/05, Balint Joo <bjoo@jlab.org> wrote:
> Dear Brian,
>         Thank you for pointing me to this file. I found it earlier and
> thought it didn't contain what I wanted, but now that you mention
> it, I may just be looking at renaming of functions.
>
> Would you agree with the following correspondences?
>
> Was:                            xmmintrin.h version:
> __builtin_ia32_loadaps          __mm_load_ps
> __builtin_ia32_storeaps         __mm_store_ps
> __builtin_ia32_loadss           __mm_load_ss
> __builtin_ia32_storess          __mm_store_ss
>
> I also see a bunch of other __mm_ operations that are implemented
> with __builtin_ia32_ operations, but the above 4 are different
> since essentially they can be done with direct pointer ops mostly.
>
> If these do the job, they may also work with the intel compiler too
> since I note in the header file the comment:
>
> /* Implemented from the specification included in the Intel C++ Compiler
>     User Guide and Reference, version 8.0.  */
>
>         Thank you for pointing me (back) to this file.
>
>         With best wishes,
>                 Balint
>
>
> Brian Budge wrote:
> >  Correct me if I'm wrong, but these were deprecated in favor of the
> > xmmintrinsics?
> >
> > The equivalent of all the functions you mention exist in the
> > xmmintrin.h file that comes with gcc.  There are also files for SSE2,
> > etc...
> >
> >   Brian
> >
> >
> >
> >
> >>On 12/19/05, Balint Joo <bjoo@jlab.org> wrote:
> >>
> >>>Dear All,
> >>>        I note from a comment on bug ID 20049
> >>>
> >>>(link: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20049 )
> >>>
> >>>that certain SSE related builtin functions have been removed
> >>>from GCC as of version 4.0. I quote from the comments on the bug report
> >>>which merely noted that loadss was spelled loadsss in the documentation.
> >>>
> >>>
> >>>>------- Comment #1 From Andrew Pinski 2005-02-18 04:50 [reply] -------
> >>>>
> >>>>Well this builtin function now has been removed.
> >>>>
> >>>>
> >>>>------- Comment #2 From Kelley Cook 2005-04-20 18:03 [reply] -------
> >>>>
> >>>>The obvious typo in the docs would still apply to  3.x though.
> >>>>
> >>>>4.x has the seperate issue that the following functions are no longer available
> >>>>(I assume intentionally, though it really wasn't announced) yet still documented:
> >>>>
> >>>>__builtin_ia32_loadaps
> >>>>__builtin_ia32_loadddup
> >>>>__builtin_ia32_loadsss [__builtin_ia32_loadss]
> >>>>__builtin_ia32_movddup
> >>>>__builtin_ia32_pextrw
> >>>>__builtin_ia32_pfrsqrtit1
> >>>>__builtin_ia32_pinsrw
> >>>>__builtin_ia32_storeaps
> >>>>__builtin_ia32_storess
> >>>>
> >>>
> >>>We have some code, which uses these builtins, especially the
> >>>loadaps, loadss and storeaps. Not being able to find the builtins is
> >>>stopping us from moving from gcc-3.x series to the  gcc-4.x series.
> >>>
> >>>Could anyone suggest alternative functionality that we could use?
> >>>Should we be considering inline assembler, ro rewrite these
> >>>routines or is there a better way? I tried to RTFM, but
> >>>as the very same bug report shows, it has not been updated
> >>>to cover the deprecation. Googling didn't help me much either.
> >>>
> >>>If there is a new way, is it backward compatible with gcc-3.x series? The
> >>>best would be a way that is also portable to a recent Intel C++ compiler too.
> >>>  That would really help us.
> >>>
> >>>I would appreciate any help on this issue.
> >>>        With best wishes,
> >>>                Balint Joo
> >>>--
> >>>-------------------------------------------------------------------
> >>> Dr Balint Joo              High Performance Computational Scientist
> >>>Jefferson Lab
> >>>12000 Jefferson Ave, Mail Stop 16A, Room TC 166,
> >>>Newport News, VA 23606, USA
> >>>Tel: +1-757-269-5339,      Fax: +1-757-269-6248
> >>>email:  bjoo@jlab.org       (old email: bj@ph.ed.ac.uk)
> >>>-------------------------------------------------------------------
> >>>
> >>
> >>
> >
>
>
> --
> -------------------------------------------------------------------
> Dr Balint Joo              High Performance Computational Scientist
> Jefferson Lab
> 12000 Jefferson Ave, Mail Stop 16A, Room TC 166,
> Newport News, VA 23606, USA
> Tel: +1-757-269-5339,      Fax: +1-757-269-6248
> email: bjoo@jlab.org       (old email: bj@ph.ed.ac.uk)
> -------------------------------------------------------------------
>



More information about the Gcc-help mailing list