This is the mail archive of the gcc-patches@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: [patch x86] use always_inline on all vector intrinsics



On Jun 28, 2005, at 10:51 PM, Uros Bizjak wrote:


Hello Stuart!


A mechanical patch to add "__attribute__((__always_inline__))" to every vector
intrinsic in i386/*mmintrin.h.




Bootstrapped and DejaGnu on Darwin/x86, no regressions.



2005-06-28 Stuart Hastings <stuart@apple.com>



* gcc/config/i386/mmintrin.h: Mark vector intrinsics always_inline.
* gcc/config/i386/emmintrin.h: Likewise.
* gcc/config/i386/pmmintrin.h: Likewise.
* gcc/config/i386/xmmintrin.h: Likewise.


There is a PR regarding inlining of SSE intrinsics.
(http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21195). Is your patch enough to fix
a testcase in the bugreport?

Apparently yes; my patched compiler inlined every vector intrinsic in both testcases. I'll add a comment to Bugzilla.


BTW: A related problem in area of *mmintrin.h headers is PR21408: Some #defines
are improperly guarded with #ifdef __SSE3__. Could someone with an access to
Intel's pmmintrin.h kindly check if there is an inconsistency in gcc's headers
compared to Intel one?

For ICC 8.0 on Linux/x86, the answer seems to be 'yes':


stuart@citroen:~$ egrep 'cvs_id|SSE3' /opt/intel_cc_80/include/ pmmintrin.h
*** cvs_id[] = "$Id: pmmintrin.h,v 1.2 2003/07/24 17:47:39 kbsmith1 Exp $";
stuart@citroen:~$


I've yet to install the ICC 8.1 that Intel gave to everyone at the recent GCC Summit.

Thanks,

You're very welcome.


stuart


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