Patchwork [testsuite] Don't use multiplication in gcc.target/x86_64/abi/asm-support.S

login
register
mail settings
Submitter Rainer Orth
Date July 6, 2010, 5:16 p.m.
Message ID <ydd39vwjzsq.fsf@manam.CeBiTec.Uni-Bielefeld.DE>
Download mbox | patch
Permalink /patch/58048/
State New
Headers show

Comments

Rainer Orth - July 6, 2010, 5:16 p.m.
Currently, all gcc.target/x86_64 tests fail on Solaris 10 with the Sun
assembler:

FAIL: gcc.target/x86_64/abi/test_3_element_struct_and_unions.c compilation,  -O0 
output is:
Assembler: snapshot.S
	"/var/tmp//ccno6d7L.s", line 29 : Illegal multiplication

While ugly, the obvious solution is to use the values directly instead
of having the assembler do the work.

Tested with runtest --tool gcc --srcdir=<srcdir> abi-x86_64.exp both in
a tree configured to use Sun as and in another with GNU as.

Ok for mainline, 4.5 and 4.4 branches?

	Rainer


2010-07-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* gcc.target/x86_64/abi/asm-support.S (snapshot): Replace
	multiplication by values.
Uros Bizjak - July 6, 2010, 5:31 p.m.
On Tue, 2010-07-06 at 19:16 +0200, Rainer Orth wrote:
> Currently, all gcc.target/x86_64 tests fail on Solaris 10 with the Sun
> assembler:
> 
> FAIL: gcc.target/x86_64/abi/test_3_element_struct_and_unions.c compilation,  -O0 
> output is:
> Assembler: snapshot.S
> 	"/var/tmp//ccno6d7L.s", line 29 : Illegal multiplication
> 
> While ugly, the obvious solution is to use the values directly instead
> of having the assembler do the work.

Oh well ...

> Tested with runtest --tool gcc --srcdir=<srcdir> abi-x86_64.exp both in
> a tree configured to use Sun as and in another with GNU as.
> 
> Ok for mainline, 4.5 and 4.4 branches?
> 

OK, but please also fix asm-support-darwin.s and avx/asm-support.S for
consistency.

Thanks,
Uros.

Patch

diff -r e37bf965b02b gcc/testsuite/gcc.target/x86_64/abi/asm-support.S
--- a/gcc/testsuite/gcc.target/x86_64/abi/asm-support.S	Mon Jul 05 20:56:54 2010 +0200
+++ b/gcc/testsuite/gcc.target/x86_64/abi/asm-support.S	Tue Jul 06 19:11:15 2010 +0200
@@ -26,20 +26,20 @@ 
 	movq	%r15, r15(%rip)
 	movdqu	%xmm0, xmm_regs+0(%rip)
 	movdqu	%xmm1, xmm_regs+16(%rip)
-	movdqu	%xmm2, xmm_regs+16*2(%rip)
-	movdqu	%xmm3, xmm_regs+16*3(%rip)
-	movdqu	%xmm4, xmm_regs+16*4(%rip)
-	movdqu	%xmm5, xmm_regs+16*5(%rip)
-	movdqu	%xmm6, xmm_regs+16*6(%rip)
-	movdqu	%xmm7, xmm_regs+16*7(%rip)
-	movdqu	%xmm8, xmm_regs+16*8(%rip)
-	movdqu	%xmm9, xmm_regs+16*9(%rip)
-	movdqu	%xmm10, xmm_regs+16*10(%rip)
-	movdqu	%xmm11, xmm_regs+16*11(%rip)
-	movdqu	%xmm12, xmm_regs+16*12(%rip)
-	movdqu	%xmm13, xmm_regs+16*13(%rip)
-	movdqu	%xmm14, xmm_regs+16*14(%rip)
-	movdqu	%xmm15, xmm_regs+16*15(%rip)
+	movdqu	%xmm2, xmm_regs+32(%rip)
+	movdqu	%xmm3, xmm_regs+48(%rip)
+	movdqu	%xmm4, xmm_regs+64(%rip)
+	movdqu	%xmm5, xmm_regs+80(%rip)
+	movdqu	%xmm6, xmm_regs+96(%rip)
+	movdqu	%xmm7, xmm_regs+112(%rip)
+	movdqu	%xmm8, xmm_regs+128(%rip)
+	movdqu	%xmm9, xmm_regs+144(%rip)
+	movdqu	%xmm10, xmm_regs+160(%rip)
+	movdqu	%xmm11, xmm_regs+176(%rip)
+	movdqu	%xmm12, xmm_regs+192(%rip)
+	movdqu	%xmm13, xmm_regs+208(%rip)
+	movdqu	%xmm14, xmm_regs+224(%rip)
+	movdqu	%xmm15, xmm_regs+240(%rip)
 	jmp	*callthis(%rip)
 .LFE3:
 	.size	snapshot, .-snapshot