llvm.org GIT mirror llvm / 7f45818
[X86] Add patterns for folding a v16i8 with the VEX vcvtph2ps intrinsics. Disable the peephole pass to prove that the pattern is working. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317547 91177308-0d34-0410-b5e6-96231b3b80d8 Craig Topper 1 year, 11 months ago
2 changed file(s) with 8 addition(s) and 6 deletion(s). Raw diff Collapse all Expand all
76917691 T8PD, VEX, Sched<[WriteCvtF2F]>;
76927692 let hasSideEffects = 0, mayLoad = 1 in
76937693 def rm : I<0x13, MRMSrcMem, (outs RC:$dst), (ins x86memop:$src),
7694 "vcvtph2ps\t{$src, $dst|$dst, $src}", []>, T8PD, VEX,
7695 Sched<[WriteCvtF2FLd]>;
7694 "vcvtph2ps\t{$src, $dst|$dst, $src}",
7695 [(set RC:$dst, (X86cvtph2ps (bc_v8i16
7696 (loadv2i64 addr:$src))))]>,
7697 T8PD, VEX, Sched<[WriteCvtF2FLd]>;
76967698 }
76977699
76987700 multiclass f16c_ps2ph {
0 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
1 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx,+f16c -show-mc-encoding | FileCheck %s --check-prefix=X32
2 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx,+f16c -show-mc-encoding | FileCheck %s --check-prefix=X64
3 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512vl -show-mc-encoding | FileCheck %s --check-prefix=X32-AVX512VL
4 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl -show-mc-encoding | FileCheck %s --check-prefix=X64-AVX512VL
1 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx,+f16c -show-mc-encoding -disable-peephole | FileCheck %s --check-prefix=X32
2 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx,+f16c -show-mc-encoding -disable-peephole | FileCheck %s --check-prefix=X64
3 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512vl -show-mc-encoding -disable-peephole | FileCheck %s --check-prefix=X32-AVX512VL
4 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl -show-mc-encoding -disable-peephole | FileCheck %s --check-prefix=X64-AVX512VL
55
66 define <4 x float> @test_x86_vcvtph2ps_128(<8 x i16> %a0) {
77 ; X32-LABEL: test_x86_vcvtph2ps_128: