1 | // Check handling -mhard-float / -msoft-float / -mfloat-abi options |
2 | // when build for MIPS platforms. |
3 | // |
4 | // Default |
5 | // RUN: %clang -c %s -### -o %t.o 2>&1 \ |
6 | // RUN: -target mips-linux-gnu \ |
7 | // RUN: | FileCheck --check-prefix=CHECK-DEF %s |
8 | // CHECK-DEF: "-mfloat-abi" "hard" |
9 | // |
10 | // -mhard-float |
11 | // RUN: %clang -c %s -### -o %t.o 2>&1 \ |
12 | // RUN: -target mips-linux-gnu -mhard-float \ |
13 | // RUN: | FileCheck --check-prefix=CHECK-HARD %s |
14 | // CHECK-HARD: "-mfloat-abi" "hard" |
15 | // |
16 | // -msoft-float |
17 | // RUN: %clang -c %s -### -o %t.o 2>&1 \ |
18 | // RUN: -target mips-linux-gnu -msoft-float \ |
19 | // RUN: | FileCheck --check-prefix=CHECK-SOFT %s |
20 | // CHECK-SOFT: "-target-feature" "+soft-float" |
21 | // CHECK-SOFT: "-msoft-float" |
22 | // CHECK-SOFT: "-mfloat-abi" "soft" |
23 | // |
24 | // -mfloat-abi=hard |
25 | // RUN: %clang -c %s -### -o %t.o 2>&1 \ |
26 | // RUN: -target mips-linux-gnu -mfloat-abi=hard \ |
27 | // RUN: | FileCheck --check-prefix=CHECK-ABI-HARD %s |
28 | // CHECK-ABI-HARD: "-mfloat-abi" "hard" |
29 | // |
30 | // -mfloat-abi=soft |
31 | // RUN: %clang -c %s -### -o %t.o 2>&1 \ |
32 | // RUN: -target mips-linux-gnu -mfloat-abi=soft \ |
33 | // RUN: | FileCheck --check-prefix=CHECK-ABI-SOFT %s |
34 | // CHECK-ABI-SOFT: "-target-feature" "+soft-float" |
35 | // CHECK-ABI-SOFT: "-msoft-float" |
36 | // CHECK-ABI-SOFT: "-mfloat-abi" "soft" |
37 | // |
38 | // -mdouble-float |
39 | // RUN: %clang -c %s -### -o %t.o 2>&1 \ |
40 | // RUN: -target mips-linux-gnu -msingle-float -mdouble-float \ |
41 | // RUN: | FileCheck --check-prefix=CHECK-ABI-DOUBLE %s |
42 | // CHECK-ABI-DOUBLE: "-mfloat-abi" "hard" |
43 | // CHECK-ABI-DOUBLE-NOT: "+single-float" |
44 | // |
45 | // -msingle-float |
46 | // RUN: %clang -c %s -### -o %t.o 2>&1 \ |
47 | // RUN: -target mips-linux-gnu -mdouble-float -msingle-float \ |
48 | // RUN: | FileCheck --check-prefix=CHECK-ABI-SINGLE %s |
49 | // CHECK-ABI-SINGLE: "-target-feature" "+single-float" |
50 | // CHECK-ABI-SINGLE: "-mfloat-abi" "hard" |
51 | // |
52 | // -msoft-float -msingle-float |
53 | // RUN: %clang -c %s -### -o %t.o 2>&1 \ |
54 | // RUN: -target mips-linux-gnu -msoft-float -msingle-float \ |
55 | // RUN: | FileCheck --check-prefix=CHECK-ABI-SOFT-SINGLE %s |
56 | // CHECK-ABI-SOFT-SINGLE: "-target-feature" "+single-float" |
57 | // CHECK-ABI-SOFT-SINGLE: "-mfloat-abi" "soft" |
58 | // |
59 | // Default -mips16 |
60 | // RUN: %clang -c %s -### -o %t.o 2>&1 \ |
61 | // RUN: -target mips-linux-gnu -mips16 \ |
62 | // RUN: | FileCheck --check-prefix=CHECK-DEF-MIPS16 %s |
63 | // CHECK-DEF-MIPS16: "-target-feature" "+mips16" |
64 | // CHECK-DEF-MIPS16: "-mfloat-abi" "hard" |
65 | // |
66 | // -mhard-float -mips16 |
67 | // RUN: %clang -c %s -### -o %t.o 2>&1 \ |
68 | // RUN: -target mips-linux-gnu -mhard-float -mips16 \ |
69 | // RUN: | FileCheck --check-prefix=CHECK-HARD-MIPS16 %s |
70 | // CHECK-HARD-MIPS16: "-target-feature" "+mips16" |
71 | // CHECK-HARD-MIPS16: "-mfloat-abi" "hard" |
72 | // |
73 | // -msoft-float -mips16 |
74 | // RUN: %clang -c %s -### -o %t.o 2>&1 \ |
75 | // RUN: -target mips-linux-gnu -msoft-float -mips16 \ |
76 | // RUN: | FileCheck --check-prefix=CHECK-SOFT-MIPS16 %s |
77 | // CHECK-SOFT-MIPS16: "-target-feature" "+soft-float" |
78 | // CHECK-SOFT-MIPS16: "-target-feature" "+mips16" |
79 | // CHECK-SOFT-MIPS16: "-msoft-float" |
80 | // CHECK-SOFT-MIPS16: "-mfloat-abi" "soft" |
81 | // |
82 | // -mfloat-abi=hard -mips16 |
83 | // RUN: %clang -c %s -### -o %t.o 2>&1 \ |
84 | // RUN: -target mips-linux-gnu -mfloat-abi=hard -mips16 \ |
85 | // RUN: | FileCheck --check-prefix=CHECK-ABI-HARD-MIPS16 %s |
86 | // CHECK-ABI-HARD-MIPS16: "-target-feature" "+mips16" |
87 | // CHECK-ABI-HARD-MIPS16: "-mfloat-abi" "hard" |
88 | // |
89 | // -mfloat-abi=soft -mips16 |
90 | // RUN: %clang -c %s -### -o %t.o 2>&1 \ |
91 | // RUN: -target mips-linux-gnu -mfloat-abi=soft -mips16 \ |
92 | // RUN: | FileCheck --check-prefix=CHECK-ABI-SOFT-MIPS16 %s |
93 | // CHECK-ABI-SOFT-MIPS16: "-target-feature" "+soft-float" |
94 | // CHECK-ABI-SOFT-MIPS16: "-target-feature" "+mips16" |
95 | // CHECK-ABI-SOFT-MIPS16: "-msoft-float" |
96 | // CHECK-ABI-SOFT-MIPS16: "-mfloat-abi" "soft" |
97 | |