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] Fix memory alignment on AVX512VL masked floating point stores (PR target/69198)


On Fri, Jan 8, 2016 at 1:59 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Fri, Jan 8, 2016 at 1:53 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Fri, Jan 8, 2016 at 1:43 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>>> On Fri, Jan 8, 2016 at 1:38 PM, Jakub Jelinek <jakub@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:
>>
>
> This is a better example:
>
> __m256
> foo (const void *p, __m256 yy, __mmask8 m)
> {
>   return _mm256_mask_load_ps (yy, m, p);
> }
>

We have to assume proper alignment in this case.


-- 
H.J.


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