[llvm-commits] Re: llvm-commits Digest, Vol 17, Issue 5

Andrew Lenharth alenhar2 at cs.uiuc.edu
Sat Nov 5 07:04:41 PST 2005


On Sat, 2005-11-05 at 03:22 -0600, llvm-commits-request at cs.uiuc.edu
wrote:
> Changes in directory llvm/lib/Transforms/Scalar:
> 
> InstructionCombining.cpp updated: 1.403 -> 1.404
> ---
> Log message:
> 
> Turn srem -> urem when neither input has their sign bit set.  This
> triggers
> 8 times in vortex, allowing the srems to be turned into shrs:
> 
> OLD:    %tmp.104 = rem int %tmp.5.i37, 16               ; <int>
> [#uses=1]
> NEW:    %tmp.104 = rem uint %tmp.5.i37, 16              ; <uint>
> [#uses=0]
> OLD:    %tmp.98 = rem int %tmp.5.i24, 16                ; <int>
> [#uses=1]
> NEW:    %tmp.98 = rem uint %tmp.5.i24, 16               ; <uint>
> [#uses=0]
> OLD:    %tmp.91 = rem int %tmp.5.i19, 8         ; <int> [#uses=1]
> NEW:    %tmp.91 = rem uint %tmp.5.i19, 8                ; <uint>
> [#uses=0]
> OLD:    %tmp.88 = rem int %tmp.5.i14, 8         ; <int> [#uses=1]
> NEW:    %tmp.88 = rem uint %tmp.5.i14, 8                ; <uint>
> [#uses=0]
> OLD:    %tmp.85 = rem int %tmp.5.i9, 1024               ; <int>
> [#uses=2]
> NEW:    %tmp.85 = rem uint %tmp.5.i9, 1024              ; <uint>
> [#uses=0]
> OLD:    %tmp.82 = rem int %tmp.5.i, 512         ; <int> [#uses=2]
> NEW:    %tmp.82 = rem uint %tmp.5.i1, 512               ; <uint>
> [#uses=0]
> OLD:    %tmp.48.i = rem int %tmp.5.i.i161, 4            ; <int>
> [#uses=1]
> NEW:    %tmp.48.i = rem uint %tmp.5.i.i161, 4           ; <uint>
> [#uses=0]
> OLD:    %tmp.20.i2 = rem int %tmp.5.i.i, 4              ; <int>
> [#uses=1]
> NEW:    %tmp.20.i2 = rem uint %tmp.5.i.i, 4             ; <uint>
> [#uses=0]
> 
> it also occurs 9 times in gcc, but with odd constant divisors (1009
> and 61)
> so the payoff isn't as great.

For those of us without an integer div or rem instruction, this is
really good stuff!

-- 
Andrew Lenharth <alenhar2 at cs.uiuc.edu>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20051105/59b1cf51/attachment.sig>


More information about the llvm-commits mailing list