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] Improve _mm*loadu* intrinsics handling (PR target/59539)


On Wed, Dec 18, 2013 at 4:11 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> Hi!
>
> As discussed in the PR, this patch similarly to the recent changes
> in movmisalign expansion for TARGET_AVX for unaligned loads from
> misaligned_operand just expands those as *mov<mode>_internal pattern,
> because that pattern emits vmovdqu/vmovup[sd] too, but doesn't contain
> UNSPECs and thus can be also merged into most other AVX insns that use
> the load target if those insns accept a memory operand.
>
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
>
> 2013-12-18  Jakub Jelinek  <jakub@redhat.com>
>
>         PR target/59539
>         * config/i386/sse.md
>         (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
>         <sse2_avx_avx512f>_loaddqu<mode><mask_name>): New expanders,
>         prefix existing define_insn names with *.
>
>         * gcc.target/i386/pr59539-1.c: New test.
>         * gcc.target/i386/pr59539-2.c: New test.

OK for mainline, with a FIXME comment to review !<mask_applied>
condition once avx512f merge is finished.

Thanks,
Uros.


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