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