continuing sparcv9 odyssey---need gnu as?

Brad Lucier lucier@math.purdue.edu
Thu Jan 17 10:46:00 GMT 2002


> >   gcc -m64 -O1 -fschedule-insns2 -fno-strict-aliasing -fno-math-errno -mcpu=ultrasparc -mtune=ultrasparc -Wall -W -Wno-unused -c -I.  -D___PRIMAL -D___LIBRARY -D___SINGLE_HOST _num.c

. . .

> > /usr/ccs/bin/as: "/tmp/ccEc0Bmy.s", line 38609: error: word displacement will not fit in 16 bits

. . .

> What exactly contains line 38609 (and some code around)?

.LL11461:
        sethi   %hh(___G__23__23_raise_2d_type_2d_exception), %o0
        or      %o0, %hm(___G__23__23_raise_2d_type_2d_exception), %o0
        st      %o1, [%i2+152]
        sllx    %o0, 32, %o0
        sethi   %lm(___G__23__23_raise_2d_type_2d_exception), %o1
        add     %o0, %o1, %o0
        ba,pt   %xcc, .LL11137
        ldx     [%o0+%lo(___G__23__23_raise_2d_type_2d_exception)], %o0
.LL81:
        ld      [%i2+152], %o0
        cmp     %o0, 1
        bne,pt  %icc, .LL10421
        add     %i5, 3680, %o0
.LL2736:
        and     %i3, 3, %o0
.LL11465:
        brz,a,pt %o0, .LL2468                          <<<<<<<<< 38609
        mov     -6, %i3
        cmp     %o0, 1
        bne,pt  %xcc, .LL11766
        and     %i3, 3, %o0
        ldx     [%i3-1], %o0
        and     %o0, 248, %o0
        cmp     %o0, 240
        be,pn   %xcc, .LL11289
        and     %i3, 3, %o0
.LL11766:
        cmp     %o0, 1
        bne,a,pt %xcc, .LL2468                        <<<<<<<<<<<<<<<<
        mov     -2, %i3
        ldx     [%i3-1], %o0
        and     %o0, 248, %i3
        srax    %i3, 1, %i3
        cmp     %i3, 124
        be,pn   %xcc, .LL11289
        cmp     %i3, 8
        be,pn   %xcc, .LL11289
        cmp     %i3, 12
        ba,pt   %xcc, .LL11369
         nop

All the instructions as complains about are either brz,a,pt or brnz,a,pt.
I find the second line I marked curious, because it has the same target,
yet as doesn't complain about it.

Brad



More information about the Gcc mailing list