xref: /llvm-project/flang/test/Lower/mcmodel.f90 (revision b5864988b3230324f5426036f45aab43d20a5b94)
1*b5864988SMats Petersson! REQUIRES:  aarch64-registered-target && x86-registered-target
2*b5864988SMats Petersson
39e6b46a9SDavid Truby! RUN: %flang_fc1 -triple aarch64 -emit-llvm -mcmodel=tiny %s -o - | FileCheck %s -check-prefix=CHECK-TINY
49e6b46a9SDavid Truby! RUN: %flang_fc1 -emit-llvm -mcmodel=small %s -o - | FileCheck %s -check-prefix=CHECK-SMALL
59e6b46a9SDavid Truby! RUN: %flang_fc1 -triple x86_64-unknown-linux-gnu -emit-llvm -mcmodel=kernel %s -o - | FileCheck %s -check-prefix=CHECK-KERNEL
69e6b46a9SDavid Truby! RUN: %flang_fc1 -triple x86_64-unknown-linux-gnu -emit-llvm -mcmodel=medium %s -o - | FileCheck %s -check-prefix=CHECK-MEDIUM
79e6b46a9SDavid Truby! RUN: %flang_fc1 -emit-llvm -mcmodel=large %s -o - | FileCheck %s -check-prefix=CHECK-LARGE
89e6b46a9SDavid Truby
99e6b46a9SDavid Truby! CHECK-TINY: !llvm.module.flags = !{{{.*}}}
109e6b46a9SDavid Truby! CHECK-TINY: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 0}
119e6b46a9SDavid Truby! CHECK-SMALL: !llvm.module.flags = !{{{.*}}}
129e6b46a9SDavid Truby! CHECK-SMALL: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 1}
139e6b46a9SDavid Truby! CHECK-KERNEL: !llvm.module.flags = !{{{.*}}}
149e6b46a9SDavid Truby! CHECK-KERNEL: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 2}
159e6b46a9SDavid Truby! CHECK-MEDIUM: !llvm.module.flags = !{{{.*}}}
169e6b46a9SDavid Truby! CHECK-MEDIUM: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 3}
179e6b46a9SDavid Truby! CHECK-LARGE: !llvm.module.flags = !{{{.*}}}
189e6b46a9SDavid Truby! CHECK-LARGE: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 4}
19