1 // RUN: %clang -Ofast -### %s 2>&1 | FileCheck -check-prefix=CHECK-OFAST %s
2 // RUN: %clang -O2 -Ofast -### %s 2>&1 | FileCheck -check-prefix=CHECK-OFAST %s
3 // RUN: %clang -fno-fast-math -Ofast -### %s 2>&1 | FileCheck -check-prefix=CHECK-OFAST %s
4 // RUN: %clang -fno-strict-aliasing -Ofast -### %s 2>&1 | FileCheck -check-prefix=CHECK-OFAST %s
5 // RUN: %clang -fno-vectorize -Ofast -### %s 2>&1 | FileCheck -check-prefix=CHECK-OFAST %s
6 // RUN: %clang -Ofast -O2 -### %s 2>&1 | FileCheck -check-prefix=CHECK-OFAST-O2 %s
7 // RUN: %clang -Ofast -fno-fast-math -### %s 2>&1 | FileCheck -check-prefix=CHECK-OFAST-NO-FAST-MATH %s
8 // RUN: %clang -Ofast -fno-strict-aliasing -### %s 2>&1 | FileCheck -check-prefix=CHECK-OFAST-NO-STRICT-ALIASING %s
9 // RUN: %clang -Ofast -fno-vectorize -### %s 2>&1 | FileCheck -check-prefix=CHECK-OFAST-NO-VECTORIZE %s
10 
11 // CHECK-OFAST: -cc1
12 // CHECK-OFAST-NOT: -relaxed-aliasing
13 // CHECK-OFAST: -ffast-math
14 // CHECK-OFAST: -Ofast
15 // CHECK-OFAST: -vectorize-loops
16 
17 // CHECK-OFAST-O2: -cc1
18 // CHECK-OFAST-O2-NOT: -relaxed-aliasing
19 // CHECK-OFAST-O2-NOT: -ffast-math
20 // CHECK-OFAST-O2-NOT: -Ofast
21 // CHECK-OFAST-O2: -vectorize-loops
22 
23 // CHECK-OFAST-NO-FAST-MATH: -cc1
24 // CHECK-OFAST-NO-FAST-MATH-NOT: -relaxed-aliasing
25 // CHECK-OFAST-NO-FAST-MATH-NOT: -ffast-math
26 // CHECK-OFAST-NO-FAST-MATH: -Ofast
27 // CHECK-OFAST-NO-FAST-MATH: -vectorize-loops
28 
29 // CHECK-OFAST-NO-STRICT-ALIASING: -cc1
30 // CHECK-OFAST-NO-STRICT-ALIASING: -relaxed-aliasing
31 // CHECK-OFAST-NO-STRICT-ALIASING: -ffast-math
32 // CHECK-OFAST-NO-STRICT-ALIASING: -Ofast
33 // CHECK-OFAST-NO-STRICT-ALIASING: -vectorize-loops
34 
35 // CHECK-OFAST-NO-VECTORIZE: -cc1
36 // CHECK-OFAST-NO-VECTORIZE-NOT: -relaxed-aliasing
37 // CHECK-OFAST-NO-VECTORIZE: -ffast-math
38 // CHECK-OFAST-NO-VECTORIZE: -Ofast
39 // CHECK-OFAST-NO-VECTORIZE-NOT: -vectorize-loops
40