This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Patch for gcc.dg/tree-ssa/ivopts-2.c failure in LP64 mode.

The test gcc.dg/tree-ssa/ivopts-2.c fails for me on all 3 LP64 platforms
that I run on.  It passes in ILP32 mode.  I think it fails in LP64 mode
because int and long are different sizes in that mode and thus the
variables 'data_offset' and 'store' are different sizes and can't be
merged into a single index variable.  Changing 'store' to a long type
would make the test pass in all modes but I believe that would also
defeat what the program is trying to test for.

My solution is to only run this in ILP32 mode where int and long are the
same size.  The other option would be to run in LP64 mode but expect
different output (but I don't think that would be testing what the test
is supposed to be testing anyway).

Adam, can you comment on whether or not you think this test is valid for
LP64 systems and about what the expected output should be in that mode?

Assuming Adam doesn't object to running ILP32 only mode, is it OK to
check in this patch:

2006-10-13  Steve Ellcey  <>

	* gcc.dg/tree-ssa/ivopts-2.c: Run in ILP32 mode only.

Index: gcc.dg/tree-ssa/ivopts-2.c
--- gcc.dg/tree-ssa/ivopts-2.c	(revision 117682)
+++ gcc.dg/tree-ssa/ivopts-2.c	(working copy)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target { ilp32 } } } */
 /* { dg-options "-O2 -fdump-tree-ivopts-details" } */
 long last_data_offset;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]