xref: /llvm-project/flang/test/Lower/large-data-threshold.f90 (revision 9e6b46a9846cf5051c2aaef361af0fe1a76c856e)
1! REQUIRES: x86-registered-target
2
3! RUN: %flang_fc1 -triple x86_64-unknown-unknown -emit-llvm %s -o - -mcmodel=medium | FileCheck %s --check-prefix=IR-DEFAULT
4! RUN: %flang_fc1 -triple x86_64-unknown-unknown -emit-llvm %s -o - -mcmodel=medium -mlarge-data-threshold=200 | FileCheck %s --check-prefix=IR-CUSTOM
5! RUN: %flang_fc1 -triple x86_64-unknown-unknown -emit-llvm %s -o - -mcmodel=large -mlarge-data-threshold=200 | FileCheck %s --check-prefix=IR-CUSTOM
6! RUN: %flang_fc1 -triple x86_64-unknown-unknown -emit-llvm %s -o - -mcmodel=small -mlarge-data-threshold=200 | FileCheck %s --check-prefix=IR-SMALL
7! RUN: %flang_fc1 -triple x86_64-unknown-unknown -S %s -o - -mcmodel=medium -mlarge-data-threshold=200 | FileCheck %s --check-prefix=ASM-SMALL
8! RUN: %flang_fc1 -triple x86_64-unknown-unknown -S %s -o - -mcmodel=medium -mlarge-data-threshold=2 | FileCheck %s --check-prefix=ASM-LARGE
9
10! IR-DEFAULT: !{i32 1, !"Large Data Threshold", i64 0}
11! IR-CUSTOM: !{i32 1, !"Large Data Threshold", i64 200}
12! IR-SMALL-NOT: !"Large Data Threshold"
13
14! ASM-SMALL-NOT: movabsq
15! ASM-LARGE: movabsq
16
17function f
18  integer :: f
19  integer, save :: i
20  f = i
21end function f
22