aboutsummaryrefslogtreecommitdiff
path: root/clang/test/CodeGen/ARM/build-attributes.c
blob: 2018b9ccaa5ca86070e294a2efff868b97d2b1b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// RUN: %clang_cc1 -triple arm-none-eabi -fdenormal-fp-math=positive-zero -emit-llvm -o - | FileCheck %s --check-prefix=DM-PZ
// RUN: %clang_cc1 -triple arm-none-eabi -fdenormal-fp-math=ieee -emit-llvm -o - | FileCheck %s --check-prefix=DM-IEEE
// RUN: %clang_cc1 -triple arm-none-eabi -fdenormal-fp-math=preserve-sign -emit-llvm -o - | FileCheck %s --check-prefix=DM-PS

// RUN: %clang_cc1 -triple arm-none-eabi -menable-no-infs -menable-no-nans -emit-llvm -o - | FileCheck %s --check-prefix=NM-FIN
// RUN: %clang_cc1 -triple arm-none-eabi -emit-llvm -o - | FileCheck %s --check-prefix=NM-IEEE

// RUN: %clang -target arm-none-eabi -S %s -emit-llvm -o - | FileCheck %s --check-prefix=FP-EXCEPT-IGNORE
// RUN: %clang -target arm-none-eabi -S %s -ffp-model=precise -emit-llvm -o - | FileCheck %s --check-prefix=FP-EXCEPT-IGNORE
// RUN: %clang -target arm-none-eabi -S %s -ffp-model=fast -emit-llvm -o - | FileCheck %s --check-prefix=FP-EXCEPT-IGNORE
// RUN: %clang -target arm-none-eabi -S %s -ffp-model=aggressive -emit-llvm -o - | FileCheck %s --check-prefix=FP-EXCEPT-IGNORE
// XUN: %clang -target arm-none-eabi -S %s -ffp-model=strict -emit-llvm -o - | FileCheck %s --check-prefix=FP-EXCEPT-CHECK

// DM-PZ: !{i32 7, !"arm-eabi-fp-denormal", i32 0}
// DM-IEEE: !{i32 4, !"arm-eabi-fp-denormal", i32 1}
// DM-PS: !{i32 7, !"arm-eabi-fp-denormal", i32 2}

// NM-FIN: !{i32 8, !"arm-eabi-fp-number-model", i32 1}
// NM-IEEE: !{i32 8, !"arm-eabi-fp-number-model", i32 3}

// FP-EXCEPT-IGNORE-NOT: !{i32 2, !"arm-eabi-fp-exceptions", i32 1}
// FP-EXCEPT-CHECK: !{i32 2, !"arm-eabi-fp-exceptions", i32 1}

void foo() {}