summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr45764.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg/torture/pr45764.c')
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr45764.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/torture/pr45764.c b/gcc/testsuite/gcc.dg/torture/pr45764.c
new file mode 100644
index 000000000..6d43b8725
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr45764.c
@@ -0,0 +1,27 @@
+/* { dg-do run } */
+
+int result[64][16];
+
+int main()
+{
+ double dbuf[1000] = {0.0};
+ int ibuf[900];
+ int i, j;
+
+ double d1 = 0.0;
+ double d2 = 0.0;
+ for (i = 0; i < 900; ++i) {
+ ibuf[i] = (int)(d2 - d1);
+ d1 += dbuf[i];
+ d2 += dbuf[i + 64];
+ }
+
+ for (i = 0; i < 64; ++i) {
+ for (j = 0; j < 8; ++j) {
+ result[i][ j] = ibuf[64 - i + 64 * j];
+ result[i][15 - j] = ibuf[ i + 64 * j];
+ }
+ }
+
+ return 0;
+}