]> granicus.if.org Git - llvm/commit
[X86] Add more load folding patterns for blend instructions as a follow up to r354363.
authorCraig Topper <craig.topper@intel.com>
Wed, 20 Feb 2019 20:18:20 +0000 (20:18 +0000)
committerCraig Topper <craig.topper@intel.com>
Wed, 20 Feb 2019 20:18:20 +0000 (20:18 +0000)
commitb5e360f0fbb813eaa65771ba6b9d0bf0c1614112
treeae2d37d84da4b0ea83a363ee4c56ef072012aae0
parenteb773d9b315e3a1213ca7f08ff83c40692a2bb6d
[X86] Add more load folding patterns for blend instructions as a follow up to r354363.

This avoids depending on the peephole pass to do load folding.

Also adds some load folding for some insert_subvector patterns that use blend.

All of this was found by temporarily adding TB_NO_FORWARD to the blend immediate entries in the load folding tables.

I've added -disable-peephole to some of the affected tests from that experiment to ensure we're testing isel patterns.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354511 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86InstrSSE.td
test/CodeGen/X86/avx-cvt-3.ll
test/CodeGen/X86/avx512-shuffles/partial_permute.ll
test/CodeGen/X86/commute-blend-sse41.ll
test/CodeGen/X86/insert-into-constant-vector.ll
test/CodeGen/X86/masked_load.ll
test/CodeGen/X86/merge-consecutive-loads-256.ll