Lines Matching +full:0 +full:x0402
14 * by GOLDEN_RATIO_32 = 0x61C88647.
16 * The best way to do that appears to be to multiply by 0x8647 with
17 * shifts and adds, and use mulu.w to multiply the high half by 0x61C8.
45 asm( "move.l %2,%0" /* a = x * 0x0001 */ in __hash_32()
46 "\n lsl.l #2,%0" /* a = x * 0x0004 */ in __hash_32()
47 "\n move.l %0,%1" in __hash_32()
48 "\n lsl.l #7,%0" /* a = x * 0x0200 */ in __hash_32()
49 "\n add.l %2,%0" /* a = x * 0x0201 */ in __hash_32()
50 "\n add.l %0,%1" /* b = x * 0x0205 */ in __hash_32()
51 "\n add.l %0,%0" /* a = x * 0x0402 */ in __hash_32()
52 "\n add.l %0,%1" /* b = x * 0x0607 */ in __hash_32()
53 "\n lsl.l #5,%0" /* a = x * 0x8040 */ in __hash_32()
55 : "r,roi?" (x)); /* a+b = x*0x8647 */ in __hash_32()
57 return ((u16)(x*0x61c8) << 16) + a + b; in __hash_32()