This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Deprecated SSE Builtins?


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)
-------------------------------------------------------------------


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]