brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.7 KiB · 8cab0bb Raw
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