[llvmlinux] Wrong types in inline assembly?

Tim Northover t.p.northover at gmail.com
Fri Sep 27 10:36:30 UTC 2013

> What file is generating this?

There's at least one block in include/linux/math64.h in the function

        while (dividend >= divisor) {
                /* The following asm() prevents the compiler from
                   optimising this loop into a modulo operation.  */
                asm("" : "+rm"(dividend));

                dividend -= divisor;

I can sympathise with the desire, but there's almost certainly a
better way to do that. Yuck.


More information about the LLVMLinux mailing list