This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Built-in functions for aligned SSE loads
- From: Brian Budge <brian dot budge at gmail dot com>
- To: Konstantin Schauwecker <konstantin dot schauwecker at wsii dot uni-tuebingen dot de>
- Cc: gcc-help at gcc dot gnu dot org
- Date: Sat, 3 Mar 2012 10:34:14 -0800
- Subject: Re: Built-in functions for aligned SSE loads
- Authentication-results: mr.google.com; spf=pass (google.com: domain of brian.budge@gmail.com designates 10.204.136.207 as permitted sender) smtp.mail=brian.budge@gmail.com; dkim=pass header.i=brian.budge@gmail.com
- References: <34CDFE45-A809-4715-97B6-B37BE0EE129C@wsii.uni-tuebingen.de>
On Sat, Mar 3, 2012 at 10:04 AM, Konstantin Schauwecker
<konstantin.schauwecker@wsii.uni-tuebingen.de> wrote:
> Hi everyone,
>
> GCC has the following built-in function for performing unaligned SSE integer loads:
>
> v16qi __builtin_ia32_loaddqu (const char *)
>
> However, there does not seem to be any function for performing aligned loads, as by the movdqa instruction. I've googled a bit and I found the following bug report about this, which has been marked fixed 10 years ago:
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8075
>
> The same applies for aligned stores. Will the aligned store/load functions ever be added to gcc? In the mean time: Is there any good work around I could use instead?
>
> Thanks,
> Konstantin
_mm_load_si128. If you know you have SSE, it may make sense to use
the SSE intrinsics in xmmintrin.h, emmintrin.h, etc...
Brian