aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2015-11-24 13:35:56 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2015-11-24 13:35:56 +0000
commita4fb29bc4dfe9bf87fec8907616ad6a26e95e627 (patch)
tree4a9c38057571f14e51bec8f6b712e94dfb64f605 /gcc
parentef3a75060e229740b5de8b25e9b90484bc2702ae (diff)
downloadgcc-a4fb29bc4dfe9bf87fec8907616ad6a26e95e627.zip
gcc-a4fb29bc4dfe9bf87fec8907616ad6a26e95e627.tar.gz
gcc-a4fb29bc4dfe9bf87fec8907616ad6a26e95e627.tar.bz2
Testcase for PR rtl-optimization/68381
PR rtl-optimization/68381 * gcc.c-torture/execute/pr68381.c: New test. From-SVN: r230809
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr68381.c22
2 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 47f7ea5..9f327b3 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+ PR rtl-optimization/68381
+ * gcc.c-torture/execute/pr68381.c: New test.
+
+2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
* gcc.target/aarch64/cmpimm_branch_1.c: New test.
* gcc.target/aarch64/cmpimm_cset_1.c: Likewise.
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr68381.c b/gcc/testsuite/gcc.c-torture/execute/pr68381.c
new file mode 100644
index 0000000..cb6abcb
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr68381.c
@@ -0,0 +1,22 @@
+/* { dg-options "-O -fexpensive-optimizations -fno-tree-bit-ccp" } */
+
+__attribute__ ((noinline, noclone))
+int
+foo (unsigned short x, unsigned short y)
+{
+ int r;
+ if (__builtin_mul_overflow (x, y, &r))
+ __builtin_abort ();
+ return r;
+}
+
+int
+main (void)
+{
+ int x = 1;
+ int y = 2;
+ if (foo (x, y) != x * y)
+ __builtin_abort ();
+ return 0;
+}
+