|
| 1 | +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py |
| 2 | +; RUN: opt -mtriple=x86_64-unknown-linux-gnu -mattr=+avx -passes=slp-vectorizer -S -slp-revec < %s | FileCheck %s |
| 3 | + |
| 4 | +define void @test() { |
| 5 | +entry: |
| 6 | + br label %vector.body |
| 7 | + |
| 8 | +vector.body: ; preds = %vector.body, %entry |
| 9 | + %vec.phi30 = phi <4 x i32> [ zeroinitializer, %entry ], [ %predphi, %vector.body ] |
| 10 | + %vec.phi31 = phi <4 x i32> [ zeroinitializer, %entry ], [ %predphi40, %vector.body ] |
| 11 | + %vec.phi32 = phi <4 x i32> [ zeroinitializer, %entry ], [ %predphi41, %vector.body ] |
| 12 | + %vec.phi33 = phi <4 x i32> [ zeroinitializer, %entry ], [ %predphi42, %vector.body ] |
| 13 | + %vec.phi = phi <4 x i32> [ zeroinitializer, %entry ], [ %predphi43, %vector.body ] |
| 14 | + %vec.phi27 = phi <4 x i32> [ zeroinitializer, %entry ], [ %predphi44, %vector.body ] |
| 15 | + %vec.phi28 = phi <4 x i32> [ zeroinitializer, %entry ], [ %predphi45, %vector.body ] |
| 16 | + %vec.phi29 = phi <4 x i32> [ zeroinitializer, %entry ], [ %predphi46, %vector.body ] |
| 17 | + %narrow = select <4 x i1> zeroinitializer, <4 x i1> zeroinitializer, <4 x i1> zeroinitializer |
| 18 | + %narrow66 = select <4 x i1> zeroinitializer, <4 x i1> zeroinitializer, <4 x i1> zeroinitializer |
| 19 | + %narrow67 = select <4 x i1> zeroinitializer, <4 x i1> zeroinitializer, <4 x i1> zeroinitializer |
| 20 | + %narrow68 = select <4 x i1> zeroinitializer, <4 x i1> zeroinitializer, <4 x i1> zeroinitializer |
| 21 | + %not. = xor <4 x i1> zeroinitializer, zeroinitializer |
| 22 | + %not.69 = xor <4 x i1> zeroinitializer, zeroinitializer |
| 23 | + %not.70 = xor <4 x i1> zeroinitializer, zeroinitializer |
| 24 | + %not.71 = xor <4 x i1> zeroinitializer, zeroinitializer |
| 25 | + %0 = zext <4 x i1> %narrow to <4 x i32> |
| 26 | + %1 = zext <4 x i1> %narrow66 to <4 x i32> |
| 27 | + %2 = zext <4 x i1> %narrow67 to <4 x i32> |
| 28 | + %3 = zext <4 x i1> %narrow68 to <4 x i32> |
| 29 | + %4 = zext <4 x i1> %not. to <4 x i32> |
| 30 | + %5 = zext <4 x i1> %not.69 to <4 x i32> |
| 31 | + %6 = zext <4 x i1> %not.70 to <4 x i32> |
| 32 | + %7 = zext <4 x i1> %not.71 to <4 x i32> |
| 33 | + %predphi = or <4 x i32> %vec.phi30, %0 |
| 34 | + %predphi40 = or <4 x i32> %vec.phi31, %1 |
| 35 | + %predphi41 = or <4 x i32> %vec.phi32, %2 |
| 36 | + %predphi42 = or <4 x i32> %vec.phi33, %3 |
| 37 | + %predphi43 = or <4 x i32> %vec.phi, %4 |
| 38 | + %predphi44 = or <4 x i32> %vec.phi27, %5 |
| 39 | + %predphi45 = or <4 x i32> %vec.phi28, %6 |
| 40 | + %predphi46 = or <4 x i32> %vec.phi29, %7 |
| 41 | + br label %vector.body |
| 42 | +} |
0 commit comments