On Fri, Jan 8, 2016 at 1:43 PM, H.J. Lu <hjl.to...@gmail.com> wrote: > On Fri, Jan 8, 2016 at 1:38 PM, Jakub Jelinek <ja...@redhat.com> wrote: >> On Fri, Jan 08, 2016 at 01:27:08PM -0800, H.J. Lu wrote: >>> > That is just wrong and will severely pessimize correct code. >>> > Please don't waste time on that. >>> > >>> >>> Do you have an example to show it will pessimize correct code? >> >> Anything where the compiler can't figure out alignment info and you use the >> aligned functions, starting from trivial tests like: >> >> void foo (float *p, __m256 q) >> { >> _mm256_store_ps (p, q); >> } >> >
Is a bad example: extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_store_ps (float *__P, __m256 __A) { *(__m256 *)__P = __A; } since it doesn't use builtin. -- H.J.