Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / X86 / switch-or.ll
blobb0177e547ded83de4b1226696b44bf7ba6a47301
1 ; RUN: llc -mtriple=i686-- -asm-verbose=false < %s | FileCheck %s
3 ; Check that merging switch cases that differ in one bit works.
4 ; CHECK-LABEL: test1
5 ; CHECK: orl $2
6 ; CHECK-NEXT: cmpl $6
7 define void @test1(i32 %variable) nounwind {
8 entry:
9   switch i32 %variable, label %if.end [
10     i32 4, label %if.then
11     i32 6, label %if.then
12   ]
14 if.then:
15   %call = tail call i32 (...) @bar() nounwind
16   ret void
18 if.end:
19   ret void
22 ; CHECK-LABEL: test2
23 ; CHECK: testl $2147483647
24 define void @test2(i32 %variable) nounwind {
25 entry:
26   switch i32 %variable, label %if.end [
27     i32 0, label %if.then
28     i32 -2147483648, label %if.then
29   ]
31 if.then:
32   %call = tail call i32 (...) @bar() nounwind
33   ret void
35 if.end:
36   ret void
39 declare i32 @bar(...) nounwind