summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/SLPVectorizer/X86/implicitfloat.ll
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2019-01-11 20:21:14 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2019-01-11 20:21:14 +0000
commitce2c8b3360c2270fb95a2a98bef2bedeef476415 (patch)
tree2c19359ac4ce3ce868395b08b1666399c946bc4a /llvm/test/Transforms/SLPVectorizer/X86/implicitfloat.ll
parent6b7f5aac7270472115ad98b56919f8dcbc48a419 (diff)
downloadbcm5719-llvm-ce2c8b3360c2270fb95a2a98bef2bedeef476415.tar.gz
bcm5719-llvm-ce2c8b3360c2270fb95a2a98bef2bedeef476415.zip
[SLP]Update test checks for the SPL vectorizer, NFC.
llvm-svn: 350967
Diffstat (limited to 'llvm/test/Transforms/SLPVectorizer/X86/implicitfloat.ll')
-rw-r--r--llvm/test/Transforms/SLPVectorizer/X86/implicitfloat.ll19
1 files changed, 16 insertions, 3 deletions
diff --git a/llvm/test/Transforms/SLPVectorizer/X86/implicitfloat.ll b/llvm/test/Transforms/SLPVectorizer/X86/implicitfloat.ll
index f7283f0d027..2fbb8f0477f 100644
--- a/llvm/test/Transforms/SLPVectorizer/X86/implicitfloat.ll
+++ b/llvm/test/Transforms/SLPVectorizer/X86/implicitfloat.ll
@@ -1,13 +1,26 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -basicaa -slp-vectorizer -dce -S -mtriple=x86_64-apple-macosx10.8.0 -mcpu=corei7-avx | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.8.0"
; Don't vectorize when noimplicitfloat is used.
-; CHECK: test1
-; CHECK-NOT: store <2 x double>
-; CHECK: ret
define void @test1(double* %a, double* %b, double* %c) noimplicitfloat { ; <------ noimplicitfloat attribute here!
+; CHECK-LABEL: @test1(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: [[I0:%.*]] = load double, double* [[A:%.*]], align 8
+; CHECK-NEXT: [[I1:%.*]] = load double, double* [[B:%.*]], align 8
+; CHECK-NEXT: [[MUL:%.*]] = fmul double [[I0]], [[I1]]
+; CHECK-NEXT: [[ARRAYIDX3:%.*]] = getelementptr inbounds double, double* [[A]], i64 1
+; CHECK-NEXT: [[I3:%.*]] = load double, double* [[ARRAYIDX3]], align 8
+; CHECK-NEXT: [[ARRAYIDX4:%.*]] = getelementptr inbounds double, double* [[B]], i64 1
+; CHECK-NEXT: [[I4:%.*]] = load double, double* [[ARRAYIDX4]], align 8
+; CHECK-NEXT: [[MUL5:%.*]] = fmul double [[I3]], [[I4]]
+; CHECK-NEXT: store double [[MUL]], double* [[C:%.*]], align 8
+; CHECK-NEXT: [[ARRAYIDX5:%.*]] = getelementptr inbounds double, double* [[C]], i64 1
+; CHECK-NEXT: store double [[MUL5]], double* [[ARRAYIDX5]], align 8
+; CHECK-NEXT: ret void
+;
entry:
%i0 = load double, double* %a, align 8
%i1 = load double, double* %b, align 8
OpenPOWER on IntegriCloud