blob: 2ecc27905b3d35c9c01524dd1047ac00d4f6cbc2 [file] [log] [blame]
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
; RUN: opt -S --passes=slp-vectorizer -mtriple=aarch64-unknown-linux-gnu < %s -mcpu=neoverse-512tvb | FileCheck %s
define i32 @test(ptr %0, i64 %1) vscale_range(2,2) {
; CHECK-LABEL: define i32 @test(
; CHECK-SAME: ptr [[TMP0:%.*]], i64 [[TMP1:%.*]]) #[[ATTR0:[0-9]+]] {
; CHECK-NEXT: [[ENTRY:.*:]]
; CHECK-NEXT: br label %[[FOR_BODY48:.*]]
; CHECK: [[FOR_BODY48]]:
; CHECK-NEXT: [[TMP2:%.*]] = getelementptr float, ptr [[TMP0]], i64 [[TMP1]]
; CHECK-NEXT: [[ARRAYIDX52:%.*]] = getelementptr i8, ptr [[TMP2]], i64 8
; CHECK-NEXT: [[TMP3:%.*]] = load float, ptr [[ARRAYIDX52]], align 4
; CHECK-NEXT: [[TMP4:%.*]] = load float, ptr [[TMP2]], align 4
; CHECK-NEXT: [[ADD56:%.*]] = fadd float [[TMP3]], [[TMP4]]
; CHECK-NEXT: store float [[ADD56]], ptr [[TMP0]], align 4
; CHECK-NEXT: br label %[[FOR_BODY48]]
;
entry:
br label %for.body48
for.body48:
%2 = getelementptr float, ptr %0, i64 %1
%arrayidx52 = getelementptr i8, ptr %2, i64 8
%3 = load float, ptr %arrayidx52, align 4
%4 = load float, ptr %2, align 4
%add56 = fadd float %3, %4
store float %add56, ptr %0, align 4
br label %for.body48
}