; RUN: llc -mtriple=x86_64-linux-gnu %s -o - -verify-machineinstrs | FileCheck %s define i32 @tail_merge_unreachable(i32 %i) { entry: br i1 undef, label %sw, label %end sw: switch i32 %i, label %end [ i32 99, label %sw.bb i32 98, label %sw.bb i32 101, label %sw.bb i32 97, label %sw.bb2 i32 96, label %sw.bb2 i32 100, label %sw.bb2 ] sw.bb: unreachable sw.bb2: unreachable end: %p = phi i32 [ 1, %sw ], [ 0, %entry ] ret i32 %p ; CHECK-LABEL: tail_merge_unreachable: ; Range Check ; CHECK: addl $-96 ; CHECK: cmpl $5 ; CHECK: jbe [[JUMP_TABLE_BLOCK:[.][A-Za-z0-9_]+]] ; CHECK: retq ; CHECK: [[JUMP_TABLE_BLOCK]]: ; CHECK: btl ; CHECK: jae [[UNREACHABLE_BLOCK:[.][A-Za-z0-9_]+]] ; CHECK [[UNREACHABLE_BLOCK]]: ; CHECK: .Lfunc_end0 }