]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/powerpc/kernel/misc_32.S
[POWERPC] Add __ucmpdi2 for 64-bit comparisons in 32-bit kernels
[linux-2.6-omap-h63xx.git] / arch / powerpc / kernel / misc_32.S
index 5c2e253ddfb1a8eec7efbc582a8017724def45bb..9d2c56621f1ea0ad18ee1a0d89e46931ece7e7a5 100644 (file)
@@ -785,6 +785,21 @@ _GLOBAL(__lshrdi3)
        or      r4,r4,r7        # LSW |= t2
        blr
 
+/*
+ * 64-bit comparison: __ucmpdi2(u64 a, u64 b)
+ * Returns 0 if a < b, 1 if a == b, 2 if a > b.
+ */
+_GLOBAL(__ucmpdi2)
+       cmplw   r3,r5
+       li      r3,1
+       bne     1f
+       cmplw   r4,r6
+       beqlr
+1:     li      r3,0
+       bltlr
+       li      r3,2
+       blr
+
 _GLOBAL(abs)
        srawi   r4,r3,31
        xor     r3,r3,r4