Skip to content

Commit

Permalink
[X86] Add additional patterns for folding loads with 128-bit VCVTDQ2P…
Browse files Browse the repository at this point in the history
…D and VCVTUDQ2PD.

This matches the patterns we have for the SSE/AVX version.

This is a prerequisite for D38714.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315797 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
topperc committed Oct 14, 2017
1 parent 3207cbf commit 60273a8
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions lib/Target/X86/X86InstrAVX512.td
Original file line number Diff line number Diff line change
Expand Up @@ -7055,6 +7055,16 @@ let Predicates = [HasAVX512, HasVLX] in {
(v4i32 (X86cvttp2ui (v2f64 VR128X:$src)))))))),
(VCVTTPD2UDQZ128rr VR128X:$src)>;
}

def : Pat<(v2f64 (X86VSintToFP (bc_v4i32 (v2i64 (scalar_to_vector (loadi64 addr:$src)))))),
(VCVTDQ2PDZ128rm addr:$src)>;
def : Pat<(v2f64 (X86VSintToFP (bc_v4i32 (v2i64 (X86vzload addr:$src))))),
(VCVTDQ2PDZ128rm addr:$src)>;

def : Pat<(v2f64 (X86VUintToFP (bc_v4i32 (v2i64 (scalar_to_vector (loadi64 addr:$src)))))),
(VCVTUDQ2PDZ128rm addr:$src)>;
def : Pat<(v2f64 (X86VUintToFP (bc_v4i32 (v2i64 (X86vzload addr:$src))))),
(VCVTUDQ2PDZ128rm addr:$src)>;
}

let Predicates = [HasAVX512] in {
Expand Down

0 comments on commit 60273a8

Please sign in to comment.