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