[PATCH] Improved udivmodsi4 with support for ARMv4

Renato Golin renato.golin at linaro.org
Fri Jan 24 01:46:55 PST 2014



================
Comment at: lib/arm/udivmodsi4.S:111
@@ +110,3 @@
+
+	block(31)
+	block(30)
----------------
Joerg Sonnenberger wrote:
> Saleem Abdulrasool wrote:
> > Can you please rewrite the loop unrolling as:
> > 
> >     .macro block shift
> >       cmp r0, r1, lsl # \shift
> >       addhs r3, r3, #(1 << \shift)
> >       subhs r0, r0, r1, lsl # \shift
> >     .endm
> > 
> >     .Lround = 31
> >     .rept 31
> >       block .Lround
> >       .Lround = .Lround - 1
> >     .endr
> >     LOCAL_LABEL(div0block):
> >       block 0
> > 
> > The net effect is identical, but it is much simpler to maintain IMO.
> GAS macros should burn in hell, so I disagree on this.
I agree with Joerg. Making the IAS support macros is one thing, actually using it is quite another.


http://llvm-reviews.chandlerc.com/D2595



More information about the llvm-commits mailing list