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