|
| 1 | +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 |
| 2 | +; RUN: opt -S --passes=slp-vectorizer -mtriple=x86_64-unknown-linux-gnu -mcpu=znver1 < %s | FileCheck %s |
| 3 | + |
| 4 | +@mbc_dbl = common global [16 x i8] zeroinitializer, align 8 |
| 5 | +@foo_int = common global [16 x i8] zeroinitializer, align 8 |
| 6 | +@foo_ptr = common local_unnamed_addr global [640 x i8] zeroinitializer, align 8 |
| 7 | + |
| 8 | +define void @test() { |
| 9 | +; CHECK-LABEL: define void @test( |
| 10 | +; CHECK-SAME: ) #[[ATTR0:[0-9]+]] { |
| 11 | +; CHECK-NEXT: [[TMP1:%.*]] = load i64, ptr getelementptr inbounds nuw (i8, ptr @foo_ptr, i64 64), align 8 |
| 12 | +; CHECK-NEXT: [[TMP2:%.*]] = getelementptr i64, ptr @foo_int, i64 [[TMP1]] |
| 13 | +; CHECK-NEXT: [[TMP3:%.*]] = load i64, ptr getelementptr inbounds nuw (i8, ptr @foo_ptr, i64 80), align 8 |
| 14 | +; CHECK-NEXT: [[TMP4:%.*]] = getelementptr i64, ptr @foo_int, i64 [[TMP3]] |
| 15 | +; CHECK-NEXT: [[TMP5:%.*]] = load i64, ptr getelementptr inbounds nuw (i8, ptr @foo_ptr, i64 192), align 8 |
| 16 | +; CHECK-NEXT: [[TMP6:%.*]] = getelementptr double, ptr @mbc_dbl, i64 [[TMP5]] |
| 17 | +; CHECK-NEXT: [[TMP7:%.*]] = load i64, ptr getelementptr inbounds nuw (i8, ptr @foo_ptr, i64 128), align 8 |
| 18 | +; CHECK-NEXT: [[TMP8:%.*]] = getelementptr double, ptr @mbc_dbl, i64 [[TMP7]] |
| 19 | +; CHECK-NEXT: [[TMP9:%.*]] = load i64, ptr getelementptr inbounds nuw (i8, ptr @foo_ptr, i64 144), align 8 |
| 20 | +; CHECK-NEXT: [[TMP10:%.*]] = getelementptr double, ptr @mbc_dbl, i64 [[TMP9]] |
| 21 | +; CHECK-NEXT: [[TMP11:%.*]] = load i64, ptr getelementptr inbounds nuw (i8, ptr @foo_ptr, i64 208), align 8 |
| 22 | +; CHECK-NEXT: [[TMP12:%.*]] = getelementptr double, ptr @mbc_dbl, i64 [[TMP11]] |
| 23 | +; CHECK-NEXT: ret void |
| 24 | +; |
| 25 | + %165 = load i64, ptr getelementptr inbounds nuw (i8, ptr @foo_ptr, i64 64), align 8 |
| 26 | + %166 = getelementptr i64, ptr @foo_int, i64 %165 |
| 27 | + %168 = load i64, ptr getelementptr inbounds nuw (i8, ptr @foo_ptr, i64 80), align 8 |
| 28 | + %169 = getelementptr i64, ptr @foo_int, i64 %168 |
| 29 | + %171 = load i64, ptr getelementptr inbounds nuw (i8, ptr @foo_ptr, i64 192), align 8 |
| 30 | + %172 = getelementptr double, ptr @mbc_dbl, i64 %171 |
| 31 | + %174 = load i64, ptr getelementptr inbounds nuw (i8, ptr @foo_ptr, i64 128), align 8 |
| 32 | + %175 = getelementptr double, ptr @mbc_dbl, i64 %174 |
| 33 | + %177 = load i64, ptr getelementptr inbounds nuw (i8, ptr @foo_ptr, i64 144), align 8 |
| 34 | + %178 = getelementptr double, ptr @mbc_dbl, i64 %177 |
| 35 | + %180 = load i64, ptr getelementptr inbounds nuw (i8, ptr @foo_ptr, i64 208), align 8 |
| 36 | + %181 = getelementptr double, ptr @mbc_dbl, i64 %180 |
| 37 | + ret void |
| 38 | +} |
0 commit comments