1 // RUN: %clang_cc1 -triple i686-pc-linux -target-feature -sse  %s
2 
3 // RUN: %clang_cc1 -triple i686-pc-linux -target-feature -sse -mfpmath 387 %s
4 
5 // RUN: %clang_cc1 -triple i686-pc-linux -target-feature +sse %s
6 
7 // RUN: %clang_cc1 -triple i686-pc-linux -target-feature +sse -mfpmath sse %s
8 
9 // RUN: not %clang_cc1 -triple i686-pc-linux -target-feature +sse \
10 // RUN: -mfpmath xyz %s 2>&1 | FileCheck --check-prefix=CHECK-XYZ %s
11 // CHECK-XYZ: error: unknown FP unit 'xyz'
12 
13 // RUN: not %clang_cc1 -triple i686-pc-linux -target-feature +sse \
14 // RUN: -mfpmath 387 %s 2>&1 | FileCheck --check-prefix=CHECK-NO-387 %s
15 // CHECK-NO-387: error: the '387' unit is not supported with this instruction set
16 
17 // RUN: not %clang_cc1 -triple i686-pc-linux -target-feature -sse \
18 // RUN: -mfpmath sse %s 2>&1 | FileCheck --check-prefix=CHECK-NO-SSE %s
19 // CHECK-NO-SSE: error: the 'sse' unit is not supported with this instruction set
20 
21 
22 // RUN: %clang_cc1 -triple arm-apple-darwin10 -mfpmath vfp %s
23 
24 // RUN: %clang_cc1 -triple arm-apple-darwin10 -mfpmath vfp2 %s
25 
26 // RUN: %clang_cc1 -triple arm-apple-darwin10 -mfpmath vfp3 %s
27 
28 // RUN: %clang_cc1 -triple arm-apple-darwin10 -mfpmath vfp4 %s
29 
30 // RUN: %clang_cc1 -triple arm-apple-darwin10 -target-cpu cortex-a9 \
31 // RUN: -mfpmath neon %s
32 
33 // RUN: not %clang_cc1 -triple arm-apple-darwin10 -mfpmath foo %s 2>&1 \
34 // RUN: FileCheck --check-prefix=CHECK-FOO %s
35 // CHECK-FOO: unknown FP unit 'foo'
36 
37 // RUN: not %clang_cc1 -triple arm-apple-darwin10 -target-cpu arm1136j-s \
38 // RUN: -mfpmath neon %s 2>&1 | FileCheck --check-prefix=CHECK-NO-NEON %s
39 
40 // RUN: not %clang_cc1 -triple arm-apple-darwin10 -target-cpu cortex-a9 \
41 // RUN: -target-feature -neon -mfpmath neon %s 2>&1 | FileCheck --check-prefix=CHECK-NO-NEON %s
42 
43 // CHECK-NO-NEON: error: the 'neon' unit is not supported with this instruction set
44