xref: /llvm-project/llvm/test/CodeGen/X86/code-model-elf-text-sections.ll (revision 281d71604f418eb952e967d9dc4b26241b7f96aa)
1d8a04398SArthur Eubanks; RUN: llc < %s -relocation-model=pic -filetype=obj -code-model=small -o %t
2d8a04398SArthur Eubanks; RUN: llvm-readelf -S %t | FileCheck %s --check-prefix=SMALL
3d8a04398SArthur Eubanks; RUN: llc < %s -relocation-model=pic -filetype=obj -code-model=medium -o %t
4d8a04398SArthur Eubanks; RUN: llvm-readelf -S %t | FileCheck %s --check-prefix=SMALL
5d8a04398SArthur Eubanks; RUN: llc < %s -relocation-model=pic -filetype=obj -code-model=large -o %t
6d8a04398SArthur Eubanks; RUN: llvm-readelf -S %t | FileCheck %s --check-prefix=LARGE
7d8a04398SArthur Eubanks
8d8a04398SArthur Eubanks; RUN: llc < %s -relocation-model=pic -filetype=obj -code-model=small -function-sections -o %t
9d8a04398SArthur Eubanks; RUN: llvm-readelf -S %t | FileCheck %s --check-prefix=SMALL-DS
10d8a04398SArthur Eubanks; RUN: llc < %s -relocation-model=pic -filetype=obj -code-model=medium -function-sections -o %t
11d8a04398SArthur Eubanks; RUN: llvm-readelf -S %t | FileCheck %s --check-prefix=SMALL-DS
12d8a04398SArthur Eubanks; RUN: llc < %s -relocation-model=pic -filetype=obj -code-model=large -function-sections -o %t
13d8a04398SArthur Eubanks; RUN: llvm-readelf -S %t | FileCheck %s --check-prefix=LARGE-DS
14d8a04398SArthur Eubanks
15d8a04398SArthur Eubanks; SMALL: .text {{.*}} AX {{.*}}
16*281d7160SArthur Eubanks; SMALL: .ltext {{.*}} AXl {{.*}}
17*281d7160SArthur Eubanks; SMALL: .ltext.2 {{.*}} AXl {{.*}}
18*281d7160SArthur Eubanks; SMALL: .foo {{.*}} AX {{.*}}
19d8a04398SArthur Eubanks; SMALL-DS: .text.func {{.*}} AX {{.*}}
20*281d7160SArthur Eubanks; SMALL-DS: .ltext {{.*}} AXl {{.*}}
21*281d7160SArthur Eubanks; SMALL-DS: .ltext.2 {{.*}} AXl {{.*}}
22*281d7160SArthur Eubanks; SMALL-DS: .foo {{.*}} AX {{.*}}
23d8a04398SArthur Eubanks; LARGE: .ltext {{.*}} AXl {{.*}}
24*281d7160SArthur Eubanks; LARGE: .ltext.2 {{.*}} AXl {{.*}}
25*281d7160SArthur Eubanks; LARGE: .foo {{.*}} AX {{.*}}
26d8a04398SArthur Eubanks; LARGE-DS: .ltext.func {{.*}} AXl {{.*}}
27*281d7160SArthur Eubanks; LARGE-DS: .ltext {{.*}} AXl {{.*}}
28*281d7160SArthur Eubanks; LARGE-DS: .ltext.2 {{.*}} AXl {{.*}}
29*281d7160SArthur Eubanks; LARGE-DS: .foo {{.*}} AX {{.*}}
30d8a04398SArthur Eubanks
31d8a04398SArthur Eubankstarget datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
32d8a04398SArthur Eubankstarget triple = "x86_64--linux"
33d8a04398SArthur Eubanks
34d8a04398SArthur Eubanksdefine void @func() {
35d8a04398SArthur Eubanks  ret void
36d8a04398SArthur Eubanks}
37*281d7160SArthur Eubanks
38*281d7160SArthur Eubanksdefine void @ltext() section ".ltext" {
39*281d7160SArthur Eubanks  ret void
40*281d7160SArthur Eubanks}
41*281d7160SArthur Eubanks
42*281d7160SArthur Eubanksdefine void @ltext2() section ".ltext.2" {
43*281d7160SArthur Eubanks  ret void
44*281d7160SArthur Eubanks}
45*281d7160SArthur Eubanks
46*281d7160SArthur Eubanksdefine void @foo() section ".foo" {
47*281d7160SArthur Eubanks  ret void
48*281d7160SArthur Eubanks}
49