40 lines · plain
1; RUN: llc -mtriple=i686-- -asm-verbose=false < %s | FileCheck %s2 3; Check that merging switch cases that differ in one bit works.4; CHECK-LABEL: test15; CHECK: orl $26; CHECK-NEXT: cmpl $67define void @test1(i32 %variable) nounwind {8entry:9 switch i32 %variable, label %if.end [10 i32 4, label %if.then11 i32 6, label %if.then12 ]13 14if.then:15 %call = tail call i32 (...) @bar() nounwind16 ret void17 18if.end:19 ret void20}21 22; CHECK-LABEL: test223; CHECK: testl $214748364724define void @test2(i32 %variable) nounwind {25entry:26 switch i32 %variable, label %if.end [27 i32 0, label %if.then28 i32 -2147483648, label %if.then29 ]30 31if.then:32 %call = tail call i32 (...) @bar() nounwind33 ret void34 35if.end:36 ret void37}38 39declare i32 @bar(...) nounwind40