================
@@ -1,47 +1,56 @@
-// RUN: %clang -c -Ofast -### %s 2>&1 | FileCheck -check-prefix=CHECK-OFAST %s
-// RUN: %clang -c -O2 -Ofast -### %s 2>&1 | FileCheck
-check-prefix=CHECK-OFAST %s
-// RUN: %clang -c -fno-fast-math -Ofast -### %s 2>&1 | FileCheck
-check-prefix=CHECK-OFAST %s
-// RUN: %clang -c -fno-strict-aliasing -Ofast -### %s 2>&1 | FileCheck
-check-prefix=CHECK-OFAST %s
-// RUN: %clang -c -fno-vectorize -Ofast -### %s 2>&1 | FileCheck
-check-prefix=CHECK-OFAST-NO-VECTORIZE %s
-// RUN: %clang -c -Ofast -O2 -### -Werror %s 2>&1 | FileCheck
-check-prefix=CHECK-OFAST-O2 \
-// RUN: %if target={{.*-windows-msvc.*}} %{
--check-prefix=CHECK-OFAST-O2-ALIASING-MSVC %} \
-// RUN: %else %{ --check-prefix=CHECK-OFAST-O2-ALIASING %} %s
-// RUN: %clang -c -Ofast -fno-fast-math -### %s 2>&1 | FileCheck
-check-prefix=CHECK-OFAST-NO-FAST-MATH %s
-// RUN: %clang -c -Ofast -fno-strict-aliasing -### %s 2>&1 | FileCheck
-check-prefix=CHECK-OFAST-NO-STRICT-ALIASING %s
-// RUN: %clang -c -Ofast -fno-vectorize -### %s 2>&1 | FileCheck
-check-prefix=CHECK-OFAST-NO-VECTORIZE %s
-
-// CHECK-OFAST: use '-O3 -ffast-math' for the same behavior, or '-O3' to
enable only conforming optimizations
-// CHECK-OFAST: -cc1
-// CHECK-OFAST: -Ofast
-// CHECK-OFAST-NOT: -relaxed-aliasing
-// CHECK-OFAST: -ffast-math
-// CHECK-OFAST: -vectorize-loops
-
-// Lack of warning about '-Ofast' deprecation is checked via -Werror
-// CHECK-OFAST-O2: -cc1
-// CHECK-OFAST-O2-NOT: -Ofast
-// CHECK-OFAST-O2-ALIASING-NOT: -relaxed-aliasing
-// CHECK-OFAST-O2-ALIASING-MSVC: -relaxed-aliasing
-// CHECK-OFAST-O2-NOT: -ffast-math
-// CHECK-OFAST-O2: -vectorize-loops
-
-// CHECK-OFAST-NO-FAST-MATH: use '-O3 -ffast-math' for the same behavior, or
'-O3' to enable only conforming optimizations
-// CHECK-OFAST-NO-FAST-MATH: -cc1
-// CHECK-OFAST-NO-FAST-MATH: -Ofast
-// CHECK-OFAST-NO-FAST-MATH-NOT: -relaxed-aliasing
-// CHECK-OFAST-NO-FAST-MATH-NOT: -ffast-math
-// CHECK-OFAST-NO-FAST-MATH: -vectorize-loops
-
-// CHECK-OFAST-NO-STRICT-ALIASING: use '-O3 -ffast-math' for the same
behavior, or '-O3' to enable only conforming optimizations
-// CHECK-OFAST-NO-STRICT-ALIASING: -cc1
-// CHECK-OFAST-NO-STRICT-ALIASING: -Ofast
-// CHECK-OFAST-NO-STRICT-ALIASING: -relaxed-aliasing
-// CHECK-OFAST-NO-STRICT-ALIASING: -ffast-math
-// CHECK-OFAST-NO-STRICT-ALIASING: -vectorize-loops
-
-// CHECK-OFAST-NO-VECTORIZE: use '-O3 -ffast-math' for the same behavior, or
'-O3' to enable only conforming optimizations
-// CHECK-OFAST-NO-VECTORIZE: -cc1
-// CHECK-OFAST-NO-VECTORIZE: -Ofast
-// CHECK-OFAST-NO-VECTORIZE-NOT: -relaxed-aliasing
-// CHECK-OFAST-NO-VECTORIZE: -ffast-math
-// CHECK-OFAST-NO-VECTORIZE-NOT: -vectorize-loops
+// RUN: %clang --target=x86_64-unknown-linux-gnu -c -Ofast -### %s 2>&1 |
FileCheck -check-prefixes=OFAST,WARN-NO-WIN %s
+// RUN: %clang --target=x86_64-unknown-linux-gnu -c -O2 -Ofast -### %s 2>&1 |
FileCheck -check-prefixes=OFAST,WARN-NO-WIN %s
+// RUN: %clang --target=x86_64-unknown-linux-gnu -c -fno-fast-math -Ofast -###
%s 2>&1 | FileCheck -check-prefixes=OFAST,WARN-NO-WIN %s
+// RUN: %clang --target=x86_64-unknown-linux-gnu -c -fno-strict-aliasing
-Ofast -### %s 2>&1 | FileCheck -check-prefixes=OFAST,WARN-NO-WIN %s
+// RUN: %clang --target=x86_64-unknown-linux-gnu -c -fno-vectorize -Ofast -###
%s 2>&1 | FileCheck -check-prefixes=NO-VECTORIZE,WARN-NO-WIN %s
+// RUN: %clang --target=x86_64-unknown-linux-gnu -c -Ofast -O2 -### -Werror %s
2>&1 | FileCheck -check-prefixes=O2,O2-ALIASING %s
+// RUN: %clang --target=x86_64-unknown-linux-gnu -c -Ofast -fno-fast-math -###
%s 2>&1 | FileCheck -check-prefixes=NO-FAST-MATH,WARN-NO-WIN %s
+// RUN: %clang --target=x86_64-unknown-linux-gnu -c -Ofast
-fno-strict-aliasing -### %s 2>&1 | FileCheck
-check-prefixes=NO-STRICT-ALIASING,WARN-NO-WIN %s
+// RUN: %clang --target=x86_64-unknown-linux-gnu -c -Ofast -fno-vectorize -###
%s 2>&1 | FileCheck -check-prefixes=NO-VECTORIZE,WARN-NO-WIN %s
+
+// RUN: %clang --target=x86_64-windows-msvc -c -Ofast -### %s 2>&1 | FileCheck
-check-prefixes=OFAST,WARN-WIN %s
+// RUN: %clang --target=x86_64-windows-msvc -c -O2 -Ofast -### %s 2>&1 |
FileCheck -check-prefixes=OFAST,WARN-WIN %s
+// RUN: %clang --target=x86_64-windows-msvc -c -fno-fast-math -Ofast -### %s
2>&1 | FileCheck -check-prefixes=OFAST,WARN-WIN %s
+// RUN: %clang --target=x86_64-windows-msvc -c -fno-strict-aliasing -Ofast
-### %s 2>&1 | FileCheck -check-prefixes=OFAST,WARN-WIN %s
+// RUN: %clang --target=x86_64-windows-msvc -c -fno-vectorize -Ofast -### %s
2>&1 | FileCheck -check-prefixes=NO-VECTORIZE,WARN-WIN %s
+// RUN: %clang --target=x86_64-windows-msvc -c -Ofast -O2 -### -Werror %s 2>&1
| FileCheck -check-prefixes=O2,O2-ALIASING-MSVC %s
+// RUN: %clang --target=x86_64-windows-msvc -c -Ofast -fno-fast-math -### %s
2>&1 | FileCheck -check-prefixes=NO-FAST-MATH,WARN-WIN %s
+// RUN: %clang --target=x86_64-windows-msvc -c -Ofast -fno-strict-aliasing
-### %s 2>&1 | FileCheck -check-prefixes=NO-STRICT-ALIASING,WARN-WIN %s
+// RUN: %clang --target=x86_64-windows-msvc -c -Ofast -fno-vectorize -### %s
2>&1 | FileCheck -check-prefixes=NO-VECTORIZE,WARN-WIN %s
+
+
+// WARN-NO-WIN: use '-O3 -ffast-math -fstrict-aliasing' for the same behavior,
or '-O3' to enable only conforming optimizations
+// WARN-WIN: use '-O3 -ffast-math' for the same behavior, or '-O3' to enable
only conforming optimizations
----------------
efriedma-quic wrote:
Isn't this backwards? (We want to show `-fstrict-aliasing` on Windows, right?)
https://github.com/llvm/llvm-project/pull/183002
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits