[LLVMdev] Bignum development

Bill Hart goodwillhart at googlemail.com
Fri Jun 11 18:50:13 PDT 2010

>>> If you have time, check out the cminusminus language reference. They
>>> had a bits1 type for flags, like carry from addition, and a mulhi and
>>> mullo instruction. Now cminusminus never took off and died an untimely
>>> death (largely because they wrote it in some bizarre ML in my
>>> opinion), but from a bignum point of view, they got this one minor
>>> detail right.
>> Hmm... LLVM currently uses i1 pretty extensively, and you can express
>> equivalents of mulhi/mullo as mentioned above.
> What is i1? Sorry for the really daft question. These short
> abbreviations are sometimes hard to look up.....

Don't worry, someone got this question.

I was focused on the ML comment and imagined that i1 was some bizarre
low level ML!

One bit integer. Now I certainly get that!! (reminds me of a friend
who claimed to have a 1 bit hard drive :-))

I now see that LLVM assembly has been designed with C in mind. If I
think like a C compiler I think I'm right. Time to get my front end to
spit out some appropriate IR and see how we go!


More information about the llvm-dev mailing list