From c7b815a5108683525a98309d391a3f076a7bd456 Mon Sep 17 00:00:00 2001 From: Alexey Bataev Date: Fri, 26 Aug 2022 10:21:35 -0700 Subject: [PATCH] [SLP][NFC]Add a test for vectorization of stores with float constants, NFC. --- .../SLPVectorizer/X86/stores_constant_float.ll | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 llvm/test/Transforms/SLPVectorizer/X86/stores_constant_float.ll diff --git a/llvm/test/Transforms/SLPVectorizer/X86/stores_constant_float.ll b/llvm/test/Transforms/SLPVectorizer/X86/stores_constant_float.ll new file mode 100644 index 0000000..64cc63b --- /dev/null +++ b/llvm/test/Transforms/SLPVectorizer/X86/stores_constant_float.ll @@ -0,0 +1,19 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py +; RUN: opt -mtriple=x86_64-unknown-linux-gnu -slp-vectorizer -mcpu=skylake -S -o - %s | FileCheck %s + +define void @foo() { +; CHECK-LABEL: @foo( +; CHECK-NEXT: entry: +; CHECK-NEXT: [[C:%.*]] = alloca { double, double }, align 8 +; CHECK-NEXT: [[C_IMAGP:%.*]] = getelementptr inbounds { double, double }, ptr [[C]], i64 0, i32 1 +; CHECK-NEXT: store double 0.000000e+00, ptr [[C]], align 8 +; CHECK-NEXT: store double 1.000000e+00, ptr [[C_IMAGP]], align 8 +; CHECK-NEXT: ret void +; +entry: + %c = alloca { double, double }, align 8 + %c.imagp = getelementptr inbounds { double, double }, ptr %c, i64 0, i32 1 + store double 0.000000e+00, ptr %c, align 8 + store double 1.000000e+00, ptr %c.imagp, align 8 + ret void +} -- 2.7.4