[LLVMdev] Default implementations for __ashldi3, __ashrdi3, __divdi3, __udivdi3, etc?

Villmow, Micah Micah.Villmow at amd.com
Fri Oct 31 10:26:41 PDT 2008

 For the shifts, check out chapter 2 of hacker's delight by Guy Steele.


-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
On Behalf Of Daniel M Gessel
Sent: Friday, October 31, 2008 10:13 AM
To: LLVM Developers Mailing List
Subject: [LLVMdev] Default implementations for __ashldi3, __ashrdi3,
__divdi3,__udivdi3, etc?

Are there existing "generic" implementations for these functions under  
the same license as LLVM? By generic I mean C or IR that doesn't use  
any particular HW intrinsics.

I read up on divides in Knuth's Seminumerical book, but decided to use  
base-2 long division on the first go-around for simplicity. I know  
it's not very efficient and I'm looking for shortcuts to something  

Pointers to divide algo's could also be of use.



LLVM Developers mailing list
LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu

More information about the llvm-dev mailing list