Deprecated SSE Builtins?
Balint Joo
bjoo@jlab.org
Wed Dec 21 05:03:00 GMT 2005
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