[all-commits] [llvm/llvm-project] ea685e: [X86][AVX] Update _mm256_loadu2_m128* intrinsics t...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Thu Sep 9 11:20:57 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ea685e1028c6fe9e2b0f9eb5858bcb867f75bdc8
https://github.com/llvm/llvm-project/commit/ea685e1028c6fe9e2b0f9eb5858bcb867f75bdc8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2021-09-09 (Thu, 09 Sep 2021)
Changed paths:
M clang/lib/Headers/avxintrin.h
M clang/test/CodeGen/X86/avx-builtins.c
Log Message:
-----------
[X86][AVX] Update _mm256_loadu2_m128* intrinsics to use _mm256_set_m128* (PR51796)
As reported on PR51796, the _mm256_loadu2_m128i in particular was inserting bitcasts and shuffles with different types making it trickier for some combines, and prevented the value tracker from identifying the shuffle sequences as a single insert_subvector style concat_vectors pattern.
This patch instead concatenate the 128-bit unaligned loads with _mm256_set_m128*, which was written to avoid the unnecessary bitcasts and only emits a single shuffle.
Differential Revision: https://reviews.llvm.org/D109497
More information about the All-commits
mailing list