blob: 8cab0bbf304f3a61fd7db0a10b78d6f927a7aeb5 [file]
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 7
; RUN: opt < %s -S | FileCheck %s
; Test whether the UTC format the switch-cases correctly, which requires TWO extra spaces.
define i8 @testi8(i8 %x) {
; CHECK-LABEL: define i8 @testi8(
; CHECK-SAME: i8 [[X:%.*]]) {
; CHECK-NEXT: switch i8 [[X]], label %[[DEFAULT:.*]] [
; CHECK-NEXT: i8 0, label %[[CASE1:.*]]
; CHECK-NEXT: i8 1, label %[[CASE2:.*]]
; CHECK-NEXT: i8 2, label %[[CASE3:.*]]
; CHECK-NEXT: i8 3, label %[[CASE3]]
; CHECK-NEXT: ]
; CHECK-EMPTY:
; CHECK-NEXT: [[DEFAULT]]:
; CHECK-NEXT: ret i8 0
; CHECK-EMPTY:
; CHECK-NEXT: [[CASE1]]:
; CHECK-NEXT: ret i8 1
; CHECK-EMPTY:
; CHECK-NEXT: [[CASE2]]:
; CHECK-NEXT: ret i8 2
; CHECK-EMPTY:
; CHECK-NEXT: [[CASE3]]:
; CHECK-NEXT: ret i8 3
;
switch i8 %x, label %default [
i8 0, label %case1
i8 1, label %case2
i8 2, label %case3
i8 3, label %case3
]
default:
ret i8 0
case1:
ret i8 1
case2:
ret i8 2
case3:
ret i8 3
}
define i32 @testi32(i32 %x) {
; CHECK-LABEL: define i32 @testi32(
; CHECK-SAME: i32 [[X:%.*]]) {
; CHECK-NEXT: switch i32 [[X]], label %[[DEFAULT:.*]] [
; CHECK-NEXT: i32 0, label %[[CASE1:.*]]
; CHECK-NEXT: i32 1, label %[[CASE2:.*]]
; CHECK-NEXT: i32 2, label %[[CASE3:.*]]
; CHECK-NEXT: i32 3, label %[[CASE3]]
; CHECK-NEXT: ]
; CHECK-EMPTY:
; CHECK-NEXT: [[DEFAULT]]:
; CHECK-NEXT: ret i32 0
; CHECK-EMPTY:
; CHECK-NEXT: [[CASE1]]:
; CHECK-NEXT: ret i32 1
; CHECK-EMPTY:
; CHECK-NEXT: [[CASE2]]:
; CHECK-NEXT: ret i32 2
; CHECK-EMPTY:
; CHECK-NEXT: [[CASE3]]:
; CHECK-NEXT: ret i32 3
;
switch i32 %x, label %default [
i32 0, label %case1
i32 1, label %case2
i32 2, label %case3
i32 3, label %case3
]
default:
ret i32 0
case1:
ret i32 1
case2:
ret i32 2
case3:
ret i32 3
}
define i128 @testi128(i128 %x) {
; CHECK-LABEL: define i128 @testi128(
; CHECK-SAME: i128 [[X:%.*]]) {
; CHECK-NEXT: switch i128 [[X]], label %[[DEFAULT:.*]] [
; CHECK-NEXT: i128 0, label %[[CASE1:.*]]
; CHECK-NEXT: i128 1, label %[[CASE2:.*]]
; CHECK-NEXT: i128 2, label %[[CASE3:.*]]
; CHECK-NEXT: i128 3, label %[[CASE3]]
; CHECK-NEXT: ]
; CHECK-EMPTY:
; CHECK-NEXT: [[DEFAULT]]:
; CHECK-NEXT: ret i128 0
; CHECK-EMPTY:
; CHECK-NEXT: [[CASE1]]:
; CHECK-NEXT: ret i128 1
; CHECK-EMPTY:
; CHECK-NEXT: [[CASE2]]:
; CHECK-NEXT: ret i128 2
; CHECK-EMPTY:
; CHECK-NEXT: [[CASE3]]:
; CHECK-NEXT: ret i128 3
;
switch i128 %x, label %default [
i128 0, label %case1
i128 1, label %case2
i128 2, label %case3
i128 3, label %case3
]
default:
ret i128 0
case1:
ret i128 1
case2:
ret i128 2
case3:
ret i128 3
}