xref: /llvm-project/llvm/test/MC/COFF/x86-64-jumptable-rdata.ll (revision 3fd533fd33f394e256a8ae38a3eabd7e998b68a0)
1; RUN: llc -mtriple x86_64-pc-win32 < %s | FileCheck %s
2; RUN: llc -mtriple x86_64-pc-win32 -jumptable-in-function-section < %s | FileCheck --check-prefixes=CHECK-OPT %s
3
4define void @f(i32 %x) {
5entry:
6  switch i32 %x, label %sw.epilog [
7    i32 0, label %sw.bb
8    i32 1, label %sw.bb1
9    i32 2, label %sw.bb2
10    i32 3, label %sw.bb3
11  ]
12
13sw.bb:
14  tail call void @g(i32 0, i32 4)
15  br label %sw.epilog
16
17sw.bb1:
18  tail call void @g(i32 1, i32 5)
19  br label %sw.epilog
20
21sw.bb2:
22  tail call void @g(i32 2, i32 6)
23  br label %sw.epilog
24
25sw.bb3:
26  tail call void @g(i32 3, i32 7)
27  br label %sw.epilog
28
29sw.epilog:
30  tail call void @g(i32 10, i32 8)
31  ret void
32}
33
34declare void @g(i32, i32)
35; CHECK: .section        .rdata
36; CHECK-OPT-NOT: .section        .rdata
37