|  | // Note: %s must be preceded by --, otherwise it may be interpreted as a | 
|  | // command-line option, e.g. on Mac where %s is commonly under /Users. | 
|  |  | 
|  | // RUN: %clang -### --target=i386 -fexcess-precision=fast -c %s 2>&1  \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-FAST %s | 
|  | // RUN: %clang_cl -### --target=i386 -fexcess-precision=fast -c -- %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-FAST %s | 
|  |  | 
|  | // RUN: %clang -### --target=i386 -fexcess-precision=standard -c %s 2>&1  \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-STD %s | 
|  | // RUN: %clang_cl -### --target=i386 -fexcess-precision=standard -c -- %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-STD %s | 
|  |  | 
|  | // RUN: %clang -### --target=i386 -fexcess-precision=16 -c %s 2>&1  \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-NONE %s | 
|  | // RUN: %clang_cl -### --target=i386 -fexcess-precision=16 -c -- %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-NONE %s | 
|  |  | 
|  | // RUN: not %clang -### --target=i386 -fexcess-precision=none -c %s 2>&1  \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-ERR-NONE %s | 
|  | // RUN: not %clang_cl -### --target=i386 -fexcess-precision=none -c -- %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-ERR-NONE %s | 
|  |  | 
|  | // RUN: %clang -### --target=x86_64 -fexcess-precision=fast -c %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-FAST %s | 
|  | // RUN: %clang_cl -### --target=x86_64 -fexcess-precision=fast -c -- %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-FAST %s | 
|  |  | 
|  | // RUN: %clang -### --target=x86_64 -fexcess-precision=standard -c %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-STD %s | 
|  | // RUN: %clang_cl -### --target=x86_64 -fexcess-precision=standard -c \ | 
|  | // RUN: -- %s 2>&1 | FileCheck --check-prefix=CHECK-STD %s | 
|  |  | 
|  | // RUN: %clang -### --target=x86_64 -fexcess-precision=16 -c %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-NONE %s | 
|  | // RUN: %clang_cl -### --target=x86_64 -fexcess-precision=16 -c -- %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-NONE %s | 
|  |  | 
|  | // RUN: not %clang -### --target=x86_64 -fexcess-precision=none -c %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefixes=CHECK-ERR-NONE %s | 
|  | // RUN: not %clang_cl -### --target=x86_64 -fexcess-precision=none -c -- %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefixes=CHECK-ERR-NONE %s | 
|  |  | 
|  | // RUN: %clang -### --target=aarch64 -fexcess-precision=fast -c %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK %s | 
|  | // RUN: %clang_cl -### --target=aarch64 -fexcess-precision=fast -c -- %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK %s | 
|  |  | 
|  | // RUN: %clang -### --target=aarch64 -fexcess-precision=standard -c %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK %s | 
|  | // RUN: %clang_cl -### --target=aarch64 -fexcess-precision=standard -c \ | 
|  | // RUN: -- %s 2>&1 | FileCheck --check-prefix=CHECK %s | 
|  |  | 
|  | // RUN: not %clang -### --target=aarch64 -fexcess-precision=16 -c %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-ERR-16 %s | 
|  | // RUN: not %clang_cl -### --target=aarch64 -fexcess-precision=16 -c -- %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-ERR-16 %s | 
|  |  | 
|  | // RUN: not %clang -### --target=aarch64 -fexcess-precision=none -c %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-ERR-NONE %s | 
|  | // RUN: not %clang_cl -### --target=aarch64 -fexcess-precision=none -c -- %s 2>&1 \ | 
|  | // RUN:   | FileCheck --check-prefix=CHECK-ERR-NONE %s | 
|  |  | 
|  | // CHECK-FAST: "-ffloat16-excess-precision=fast" | 
|  | // CHECK-FAST: "-fbfloat16-excess-precision=fast" | 
|  | // CHECK-STD: "-ffloat16-excess-precision=standard" | 
|  | // CHECK-STD: "-fbfloat16-excess-precision=standard" | 
|  | // CHECK-NONE: "-ffloat16-excess-precision=none" | 
|  | // CHECK-NONE: "-fbfloat16-excess-precision=none" | 
|  | // CHECK-ERR-NONE: unsupported argument 'none' to option '-fexcess-precision=' | 
|  | // CHECK: "-cc1" | 
|  | // CHECK-NOT: "-ffloat16-excess-precision=fast" | 
|  | // CHECK-NOT: "-fbfloat16-excess-precision=fast" | 
|  | // CHECK-ERR-16: unsupported argument '16' to option '-fexcess-precision=' |