From c82ad72f63369bc462e59458f09960d66daa58a9 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Wed, 4 Jan 2017 22:11:11 +0000 Subject: Vendor import of llvm trunk r291012: https://llvm.org/svn/llvm-project/llvm/trunk@291012 --- test/CodeGen/X86/MergeConsecutiveStores.ll | 34 + test/CodeGen/X86/avx2-vbroadcast.ll | 233 +--- test/CodeGen/X86/avx512-any_extend_load.ll | 6 +- test/CodeGen/X86/avx512-extract-subvector.ll | 12 +- test/CodeGen/X86/avx512-insert-extract.ll | 32 +- test/CodeGen/X86/avx512-intrinsics-upgrade.ll | 184 +++ test/CodeGen/X86/avx512-intrinsics.ll | 127 -- test/CodeGen/X86/avx512-skx-insert-subvec.ll | 6 +- test/CodeGen/X86/avx512-vbroadcasti128.ll | 6 +- test/CodeGen/X86/avx512bwvl-intrinsics.ll | 8 +- test/CodeGen/X86/avx512dq-intrinsics-upgrade.ll | 136 ++ test/CodeGen/X86/avx512dq-intrinsics.ll | 121 -- test/CodeGen/X86/avx512dqvl-intrinsics-upgrade.ll | 59 + test/CodeGen/X86/avx512dqvl-intrinsics.ll | 60 - test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll | 60 + test/CodeGen/X86/avx512vl-intrinsics.ll | 61 - .../X86/frame-lowering-debug-intrinsic-2.ll | 72 + test/CodeGen/X86/frame-lowering-debug-intrinsic.ll | 41 +- test/CodeGen/X86/i64-to-float.ll | 20 +- test/CodeGen/X86/masked_memop.ll | 56 +- test/CodeGen/X86/stack-folding-fp-avx512vl.ll | 8 +- test/CodeGen/X86/stack-folding-int-avx512vl.ll | 8 +- test/CodeGen/X86/subvector-broadcast.ll | 263 ++-- test/CodeGen/X86/vec_fp_to_int.ll | 158 +-- test/CodeGen/X86/vec_int_to_fp.ll | 28 +- test/CodeGen/X86/vector-half-conversions.ll | 64 +- test/CodeGen/X86/vector-lzcnt-256.ll | 86 +- test/CodeGen/X86/vector-shuffle-256-v16.ll | 834 ++++------- test/CodeGen/X86/vector-shuffle-256-v32.ll | 90 +- test/CodeGen/X86/vector-shuffle-256-v4.ll | 68 +- test/CodeGen/X86/vector-shuffle-256-v8.ll | 530 +++---- test/CodeGen/X86/vector-shuffle-512-v16.ll | 72 +- test/CodeGen/X86/vector-shuffle-512-v8.ll | 196 +++ test/CodeGen/X86/vector-trunc-math.ll | 1467 ++++++++------------ test/CodeGen/X86/vector-trunc.ll | 6 +- 35 files changed, 2288 insertions(+), 2924 deletions(-) create mode 100644 test/CodeGen/X86/avx512dq-intrinsics-upgrade.ll create mode 100644 test/CodeGen/X86/frame-lowering-debug-intrinsic-2.ll (limited to 'test/CodeGen/X86') diff --git a/test/CodeGen/X86/MergeConsecutiveStores.ll b/test/CodeGen/X86/MergeConsecutiveStores.ll index b50253bf2b03..4d7cb765d7b9 100644 --- a/test/CodeGen/X86/MergeConsecutiveStores.ll +++ b/test/CodeGen/X86/MergeConsecutiveStores.ll @@ -370,6 +370,40 @@ define void @MergeLoadStoreBaseIndexOffset(i64* %a, i8* %b, i8* %c, i32 %n) { ret void } +; Make sure that we merge the consecutive load/store sequence below and use a +; word (16 bit) instead of a byte copy for complicated address calculation. +; . +; CHECK-LABEL: MergeLoadStoreBaseIndexOffsetComplicated: +; BWON: movzwl (%{{.*}},%{{.*}}), %e[[REG:[a-z]+]] +; BWOFF: movw (%{{.*}},%{{.*}}), %[[REG:[a-z]+]] +; CHECK: movw %[[REG]], (%{{.*}}) +define void @MergeLoadStoreBaseIndexOffsetComplicated(i8* %a, i8* %b, i8* %c, i64 %n) { + br label %1 + +;