[Bug target/62631] gcc.dg/tree-ssa/ivopts-lt-2.c FAILs

ebotcazou at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Feb 6 07:10:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62631

--- Comment #19 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> The assembly is as below on sparc64:
> f1:
> 	.register	%g2, #scratch
> 	sllx	%o1, 2, %g1
> 	mov	99, %g2
> 	add	%o0, %g1, %o0
> 	sub	%g2, %o1, %o1
> 	srl	%o1, 0, %g1
> 	add	%g1, 1, %g1
> 	sllx	%g1, 2, %g1
> 	add	%o0, %g1, %g1
> 	st	%g0, [%o0]
> .LL5:
> 	add	%o0, 4, %o0
> 	cmp	%o0, %g1
> 	blu,a,pt %xcc, .LL5
> 	 st	%g0, [%o0]
> 	jmp	%o7+8
> 	 nop

How did you configure the compiler?  We're talking about 64-bit SPARC/Solaris
and here's the code actually generated for the time being:

        .type   f1, #function
        .proc   020
f1:
        sllx    %o1, 2, %g1
        add     %o0, %g1, %o0
.LL2:
        st      %g0, [%o0]
        add     %o1, 1, %g1
        add     %o0, 4, %o0
        cmp     %g1, 99
        bleu,pt %icc, .LL2
         srl    %g1, 0, %o1
        jmp     %o7+8
         nop

so it is still suboptimal, hence my generic fix.


More information about the Gcc-bugs mailing list