1; RUN: llc < %s -asm-verbose=false -verify-machineinstrs | FileCheck %s 2 3target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128" 4target triple = "wasm32-unknown-unknown" 5 6; Test that switches are lowered correctly in the presence of an 7; unreachable default branch target. 8 9; CHECK-LABEL: foo: 10; CHECK-NEXT: .functype foo (i32) -> (i32) 11; CHECK-NEXT: block 12; CHECK-NEXT: block 13; CHECK-NEXT: local.get 0 14; CHECK-NEXT: br_table {0, 1, 0} 15; CHECK-NEXT: .LBB0_1: 16; CHECK-NEXT: end_block 17; CHECK-NEXT: i32.const 0 18; CHECK-NEXT: return 19; CHECK-NEXT: .LBB0_2: 20; CHECK-NEXT: end_block 21; CHECK-NEXT: i32.const 1 22; CHECK-NEXT: end_function 23define i32 @foo(i32 %x) { 24entry: 25 switch i32 %x, label %unreachable [ 26 i32 0, label %bb0 27 i32 1, label %bb1 28 ] 29 30bb0: 31 ret i32 0 32 33bb1: 34 ret i32 1 35 36unreachable: 37 unreachable 38} 39