119 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 72; RUN: opt < %s -S | FileCheck %s3 4; Test whether the UTC format the switch-cases correctly, which requires TWO extra spaces.5 6define i8 @testi8(i8 %x) {7; CHECK-LABEL: define i8 @testi8(8; CHECK-SAME: i8 [[X:%.*]]) {9; CHECK-NEXT: switch i8 [[X]], label %[[DEFAULT:.*]] [10; CHECK-NEXT: i8 0, label %[[CASE1:.*]]11; CHECK-NEXT: i8 1, label %[[CASE2:.*]]12; CHECK-NEXT: i8 2, label %[[CASE3:.*]]13; CHECK-NEXT: i8 3, label %[[CASE3]]14; CHECK-NEXT: ]15; CHECK-EMPTY:16; CHECK-NEXT: [[DEFAULT]]:17; CHECK-NEXT: ret i8 018; CHECK-EMPTY:19; CHECK-NEXT: [[CASE1]]:20; CHECK-NEXT: ret i8 121; CHECK-EMPTY:22; CHECK-NEXT: [[CASE2]]:23; CHECK-NEXT: ret i8 224; CHECK-EMPTY:25; CHECK-NEXT: [[CASE3]]:26; CHECK-NEXT: ret i8 327;28 switch i8 %x, label %default [29 i8 0, label %case130 i8 1, label %case231 i8 2, label %case332 i8 3, label %case333 ]34default:35 ret i8 036case1:37 ret i8 138case2:39 ret i8 240case3:41 ret i8 342}43 44define i32 @testi32(i32 %x) {45; CHECK-LABEL: define i32 @testi32(46; CHECK-SAME: i32 [[X:%.*]]) {47; CHECK-NEXT: switch i32 [[X]], label %[[DEFAULT:.*]] [48; CHECK-NEXT: i32 0, label %[[CASE1:.*]]49; CHECK-NEXT: i32 1, label %[[CASE2:.*]]50; CHECK-NEXT: i32 2, label %[[CASE3:.*]]51; CHECK-NEXT: i32 3, label %[[CASE3]]52; CHECK-NEXT: ]53; CHECK-EMPTY:54; CHECK-NEXT: [[DEFAULT]]:55; CHECK-NEXT: ret i32 056; CHECK-EMPTY:57; CHECK-NEXT: [[CASE1]]:58; CHECK-NEXT: ret i32 159; CHECK-EMPTY:60; CHECK-NEXT: [[CASE2]]:61; CHECK-NEXT: ret i32 262; CHECK-EMPTY:63; CHECK-NEXT: [[CASE3]]:64; CHECK-NEXT: ret i32 365;66 switch i32 %x, label %default [67 i32 0, label %case168 i32 1, label %case269 i32 2, label %case370 i32 3, label %case371 ]72default:73 ret i32 074case1:75 ret i32 176case2:77 ret i32 278case3:79 ret i32 380}81 82define i128 @testi128(i128 %x) {83; CHECK-LABEL: define i128 @testi128(84; CHECK-SAME: i128 [[X:%.*]]) {85; CHECK-NEXT: switch i128 [[X]], label %[[DEFAULT:.*]] [86; CHECK-NEXT: i128 0, label %[[CASE1:.*]]87; CHECK-NEXT: i128 1, label %[[CASE2:.*]]88; CHECK-NEXT: i128 2, label %[[CASE3:.*]]89; CHECK-NEXT: i128 3, label %[[CASE3]]90; CHECK-NEXT: ]91; CHECK-EMPTY:92; CHECK-NEXT: [[DEFAULT]]:93; CHECK-NEXT: ret i128 094; CHECK-EMPTY:95; CHECK-NEXT: [[CASE1]]:96; CHECK-NEXT: ret i128 197; CHECK-EMPTY:98; CHECK-NEXT: [[CASE2]]:99; CHECK-NEXT: ret i128 2100; CHECK-EMPTY:101; CHECK-NEXT: [[CASE3]]:102; CHECK-NEXT: ret i128 3103;104 switch i128 %x, label %default [105 i128 0, label %case1106 i128 1, label %case2107 i128 2, label %case3108 i128 3, label %case3109 ]110default:111 ret i128 0112case1:113 ret i128 1114case2:115 ret i128 2116case3:117 ret i128 3118}119