Merge branch 'master'
[powerpc.git] / arch / ia64 / lib / memcpy_mck.S
index 3c2cd2f..46c9331 100644 (file)
@@ -75,6 +75,7 @@ GLOBAL_ENTRY(memcpy)
        mov     f6=f0
        br.cond.sptk .common_code
        ;;
+END(memcpy)
 GLOBAL_ENTRY(__copy_user)
        .prologue
 // check dest alignment
@@ -524,7 +525,6 @@ EK(.ex_handler,  (p17)      st8     [dst1]=r39,8);                                          \
 #undef B
 #undef C
 #undef D
-END(memcpy)
 
 /*
  * Due to lack of local tag support in gcc 2.x assembler, it is not clear which
@@ -625,8 +625,11 @@ END(memcpy)
        clrrrb
        ;;
        alloc   saved_pfs_stack=ar.pfs,3,3,3,0
+       cmp.lt  p8,p0=A,r0
        sub     B = dst0, saved_in0     // how many byte copied so far
        ;;
+(p8)   mov     A = 0;                  // A shouldn't be negative, cap it
+       ;;
        sub     C = A, B
        sub     D = saved_in2, A
        ;;