[LLVM][IR] Use splat syntax when printing ConstantExpr based splats. (#116856)
[llvm-project.git] / llvm / test / Transforms / NewGVN / pr33165-distribute-undef.ll
blob929c159aaf2011bb45327342d9de5c000baa77c6
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2 ; RUN: opt -passes=newgvn -S %s | FileCheck %s
4 ; Test for PR33165.
6 define i2 @f(i2, i1) {
7 ; CHECK-LABEL: @f(
8 ; CHECK-NEXT:    [[A:%.*]] = xor i2 [[TMP0:%.*]], -1
9 ; CHECK-NEXT:    [[B:%.*]] = select i1 [[TMP1:%.*]], i2 [[A]], i2 undef
10 ; CHECK-NEXT:    [[C:%.*]] = and i2 [[A]], [[B]]
11 ; CHECK-NEXT:    ret i2 [[C]]
13   %a = xor i2 %0, -1
14   %b = select i1 %1, i2 %a, i2 undef
15   %c = and i2 %a, %b
16   ret i2 %c