Heuristic: If the number of operands in the alias are more than the number of
[llvm/stm8.git] / test / Transforms / SimplifyCFG / switch-masked-bits.ll
blobfc83ec2078141563b8cc31b5d4f24721272b3db1
1 ; RUN: opt -S -simplifycfg < %s | FileCheck %s
3 define i32 @test1(i32 %x) nounwind {
4   %i = shl i32 %x, 1
5   switch i32 %i, label %a [
6     i32 21, label %b
7     i32 24, label %c
8   ]
11   ret i32 0
13   ret i32 3
15   ret i32 5
16 ; CHECK: @test1
17 ; CHECK: %cond = icmp eq i32 %i, 24
18 ; CHECK: %merge = select i1 %cond, i32 5, i32 0
19 ; CHECK: ret i32 %merge
23 define i32 @test2(i32 %x) nounwind {
24   %i = shl i32 %x, 1
25   switch i32 %i, label %a [
26     i32 21, label %b
27     i32 23, label %c
28   ]
31   ret i32 0
33   ret i32 3
35   ret i32 5
36 ; CHECK: @test2
37 ; CHECK: ret i32 0