aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2022-06-02 11:14:09 +0200
committerJakub Jelinek <jakub@redhat.com>2022-06-02 11:17:23 +0200
commit72c605eea94065606b5ddcb5a51ef24a3d2841e9 (patch)
treeb259c855eef7909fc618726e172e55f1e2ca6155 /gcc
parentcdfc6e92b49eb722a521c1eefafcce5e0d0b19e3 (diff)
downloadgcc-72c605eea94065606b5ddcb5a51ef24a3d2841e9.zip
gcc-72c605eea94065606b5ddcb5a51ef24a3d2841e9.tar.gz
gcc-72c605eea94065606b5ddcb5a51ef24a3d2841e9.tar.bz2
testsuite: Also test swapped arguments of __builtin_mul_overflow_p [PR30314]
To test the commutativity of __builtin_mul_overflow* arguments in the optimization, I've added 2 further tests. 2022-06-02 Jakub Jelinek <jakub@redhat.com> PR middle-end/30314 * gcc.dg/tree-ssa/pr30314.c: Add tests with swapped arguments.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr30314.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr30314.c b/gcc/testsuite/gcc.dg/tree-ssa/pr30314.c
index 91388af..99e4ee2 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr30314.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr30314.c
@@ -4,6 +4,8 @@
/* { dg-final { scan-tree-dump-not "\.MUL_OVERFLOW " "optimized" } } */
/* { dg-final { scan-tree-dump " > 122713351" "optimized" { target int32 } } } */
/* { dg-final { scan-tree-dump " > 527049830677415760" "optimized" { target lp64 } } } */
+/* { dg-final { scan-tree-dump " > 102261126" "optimized" { target int32 } } } */
+/* { dg-final { scan-tree-dump " > 439208192231179800" "optimized" { target lp64 } } } */
int
foo (unsigned int x)
@@ -16,3 +18,15 @@ bar (unsigned long int x)
{
return __builtin_mul_overflow_p (x, 35UL, 0UL);
}
+
+int
+baz (unsigned int x)
+{
+ return __builtin_mul_overflow_p (42, x, 0U);
+}
+
+int
+qux (unsigned long int x)
+{
+ return __builtin_mul_overflow_p (42, x, 0UL);
+}