aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2017-10-23 21:01:38 +0200
committerUros Bizjak <uros@gcc.gnu.org>2017-10-23 21:01:38 +0200
commit33029fa9d2e4dcf510cc95d42a8bdd178ff083dd (patch)
tree2338f3d2c0afe8aca7bdf5a421d97610c54678a8 /gcc
parent5feee954e8640c104085e6e4ecf0c452e1cb588c (diff)
downloadgcc-33029fa9d2e4dcf510cc95d42a8bdd178ff083dd.zip
gcc-33029fa9d2e4dcf510cc95d42a8bdd178ff083dd.tar.gz
gcc-33029fa9d2e4dcf510cc95d42a8bdd178ff083dd.tar.bz2
re PR target/82662 (ifcvt is not performed on double-word compare)
PR target/82662 * gcc.target/i386/pr82662.c: New test. From-SVN: r254020
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/pr82662.c26
2 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9705552..0e3a0e3 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2017-10-23 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/82662
+ * gcc.target/i386/pr82662.c: New test.
+
2017-10-23 Marek Polacek <polacek@redhat.com>
PR c/82681
diff --git a/gcc/testsuite/gcc.target/i386/pr82662.c b/gcc/testsuite/gcc.target/i386/pr82662.c
new file mode 100644
index 0000000..8a9332b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr82662.c
@@ -0,0 +1,26 @@
+/* PR target/82580 */
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+#ifdef __SIZEOF_INT128__
+typedef unsigned __int128 U;
+typedef signed __int128 S;
+#else
+typedef unsigned long long U;
+typedef signed long long S;
+#endif
+void bar (void);
+int f0 (U x, U y) { return x == y; }
+int f1 (U x, U y) { return x != y; }
+int f2 (U x, U y) { return x > y; }
+int f3 (U x, U y) { return x >= y; }
+int f4 (U x, U y) { return x < y; }
+int f5 (U x, U y) { return x <= y; }
+int f6 (S x, S y) { return x == y; }
+int f7 (S x, S y) { return x != y; }
+int f8 (S x, S y) { return x > y; }
+int f9 (S x, S y) { return x >= y; }
+int f10 (S x, S y) { return x < y; }
+int f11 (S x, S y) { return x <= y; }
+
+/* { dg-final { scan-assembler-times {\mset} 12 } } */