|
| 1 | +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py |
| 2 | +; RUN: opt -passes=slp-vectorizer -S -slp-revec -slp-max-reg-size=1024 -slp-threshold=-100 %s | FileCheck %s |
| 3 | + |
| 4 | +define void @test1(ptr %a, ptr %b, ptr %c) { |
| 5 | +entry: |
| 6 | + %arrayidx3 = getelementptr inbounds i32, ptr %a, i64 4 |
| 7 | + %arrayidx7 = getelementptr inbounds i32, ptr %a, i64 8 |
| 8 | + %arrayidx11 = getelementptr inbounds i32, ptr %a, i64 12 |
| 9 | + %0 = load <4 x i32>, ptr %a, align 4 |
| 10 | + %1 = load <4 x i32>, ptr %arrayidx3, align 4 |
| 11 | + %2 = load <4 x i32>, ptr %arrayidx7, align 4 |
| 12 | + %3 = load <4 x i32>, ptr %arrayidx11, align 4 |
| 13 | + %arrayidx19 = getelementptr inbounds i32, ptr %b, i64 4 |
| 14 | + %arrayidx23 = getelementptr inbounds i32, ptr %b, i64 8 |
| 15 | + %arrayidx27 = getelementptr inbounds i32, ptr %b, i64 12 |
| 16 | + %4 = load <4 x i32>, ptr %b, align 4 |
| 17 | + %5 = load <4 x i32>, ptr %arrayidx19, align 4 |
| 18 | + %6 = load <4 x i32>, ptr %arrayidx23, align 4 |
| 19 | + %7 = load <4 x i32>, ptr %arrayidx27, align 4 |
| 20 | + %add.i = add <4 x i32> %4, %0 |
| 21 | + %add.i63 = add <4 x i32> %5, %1 |
| 22 | + %add.i64 = add <4 x i32> %6, %2 |
| 23 | + %add.i65 = add <4 x i32> %7, %3 |
| 24 | + %arrayidx36 = getelementptr inbounds i32, ptr %c, i64 4 |
| 25 | + %arrayidx39 = getelementptr inbounds i32, ptr %c, i64 8 |
| 26 | + %arrayidx42 = getelementptr inbounds i32, ptr %c, i64 12 |
| 27 | + store <4 x i32> %add.i, ptr %c, align 4 |
| 28 | + store <4 x i32> %add.i63, ptr %arrayidx36, align 4 |
| 29 | + store <4 x i32> %add.i64, ptr %arrayidx39, align 4 |
| 30 | + store <4 x i32> %add.i65, ptr %arrayidx42, align 4 |
| 31 | + ret void |
| 32 | +} |
0 commit comments