| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py | |
| ; RUN: opt -mtriple=x86_64-unknown-linux-gnu -passes=slp-vectorizer -S %s | FileCheck %s | |
| define void @test() { | |
| ; CHECK-LABEL: @test( | |
| ; CHECK-NEXT: entry: | |
| ; CHECK-NEXT: [[UMIN124:%.*]] = call i64 @llvm.umin.i64(i64 0, i64 0) | |
| ; CHECK-NEXT: ret void | |
| ; | |
| entry: | |
| %0 = mul i64 0, 0 | |
| %1 = lshr i64 %0, 0 | |
| %2 = sub i64 0, 1 | |
| %3 = lshr i64 %2, 0 | |
| %umin120 = call i64 @llvm.umin.i64(i64 %1, i64 %3) | |
| %4 = sub i64 0, 0 | |
| %5 = lshr i64 %4, 0 | |
| %umin122 = call i64 @llvm.umin.i64(i64 %umin120, i64 %5) | |
| %6 = add i64 0, 1 | |
| %7 = lshr i64 %6, 0 | |
| %umin123 = call i64 @llvm.umin.i64(i64 %umin122, i64 %7) | |
| %umin124 = call i64 @llvm.umin.i64(i64 %umin123, i64 0) | |
| ret void | |
| } | |
| declare i64 @llvm.umin.i64(i64, i64) |