On Tue, May 17, 2016 at 06:45:49PM -0400, Michael Meissner wrote: > As I mentioned in the last message, my previous patch had some problems that > showed up on big endian systems, using RELOAD (one of the tests that failed > was > the vshuf-v32qi.c test in the testsuite). Little endian and IRA did compiled > the test fine. This patch fixes the problem. I went over the alternatives in > the vsx_mov<mode>_{32bit,64bit} patterns, and I removed the '*' constraints, > and checked all of the other constraints. > > Just to be sure, I build the Spec 2006 benchmark with this patch with the > following variants, and all built fine (using svn id 236136 as the base > revision). > > 32-bit power7 big endian, reload > 32-bit power7 big endian, ira > 64-bit power7 big endian, reload > 64-bit power7 big endian, ira > 64-bit power8 little endian, reload > 64-bit power8 little endian, ira > > I also built the power8 little endian versions with subversion id 236325, and > all built fine. I am having trouble with 236325 on my big endian power7 > system, but it fails with both the straight trunk, and with these patches, so > it is something else.
FWIW, the problem after subversion id 236136 shows up when the trunk compiler is built with the host compiler (4.3.4). I build compilers to build Spec using the configuration option --with-advance-toolchain=at7.0 so that the libraries and include files from the Advance Toolchain are used instead of the host libraries and include files. The --with-advance-toolchain=at7.0 does not work as well with a bootstrap compiler, so I tend to build a non-bootstrap compiler to build spec objects with. If I build it with the Advance Toolchain (AT 7.0), or presumably with a bootstrap compiler from trunk, it builds the integer portion of Spec 2006 for both reload and lra without error (building with the host compiler, 9 of the 12 SpecInt benchmarks would fail). -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797