diff options
Diffstat (limited to 'sys/lib/libkern/arch/hppa64/bcopy.S')
-rw-r--r-- | sys/lib/libkern/arch/hppa64/bcopy.S | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/sys/lib/libkern/arch/hppa64/bcopy.S b/sys/lib/libkern/arch/hppa64/bcopy.S deleted file mode 100644 index 8a201ee4e9b..00000000000 --- a/sys/lib/libkern/arch/hppa64/bcopy.S +++ /dev/null @@ -1,152 +0,0 @@ -/* This is a generated file. DO NOT EDIT. */ -/* - * Generated from: - * - * OpenBSD: bcopy.m4 - */ -/* - * Copyright (c) 1999,2004 Michael Shalayeff - * All rights reserved. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER IN - * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - - -#undef _LOCORE -#define _LOCORE -#include <machine/asm.h> -#include <machine/frame.h> - - -LEAF_ENTRY(bcopy) - copy %arg0, %ret0 - copy %arg1, %arg0 - copy %ret0, %arg1 -ALTENTRY(memmove) - cmpb,*>,n %arg0, %arg1, $bcopy.reverse -ALTENTRY(memcpy) - copy %arg0, %ret0 - - cmpib,*>=,n 15, %arg2, $bcopy_f.byte - - extrd,u %arg1, 63, 2, %r20 - extrd,u %arg0, 63, 2, %r19 - add %arg2, %r19, %arg2 - cmpb,*<> %r20, %r19, $bcopy_f.unaligned - depd %r0, 63, 2, %arg1 - - addi -16, %arg2, %arg2 -$bcopy_f.loop16a - ldw 32(%sr0, %arg1), %r0 - ldw,ma 4(%sr0, %arg1), %r22 - ldw,ma 4(%sr0, %arg1), %r21 - ldw,ma 4(%sr0, %arg1), %r20 - ldw,ma 4(%sr0, %arg1), %r19 - stby,b,m %r22, 4(%sr0, %arg0) - stw,ma %r21, 4(%sr0, %arg0) - stw,ma %r20, 4(%sr0, %arg0) - addib,*>= -16, %arg2, $bcopy_f.loop16a - stw,ma %r19, 4(%sr0, %arg0) - - addib,*<,n 12, %arg2, $bcopy_f.cleanup -$bcopy_f.word - ldw,ma 4(%sr0, %arg1), %r22 - addib,*>= -4, %arg2, $bcopy_f.word - stw,ma %r22, 4(%sr0, %arg0) - -$bcopy_f.cleanup - addib,*=,n 4, %arg2, $bcopy_f.done - ldw 0(%sr0, %arg1), %r22 - add %arg0, %arg2, %arg0 - b $bcopy_f.done - stby,e %r22, 0(%sr0, %arg0) - -$bcopy_f.unaligned - sub,*>= %r19, %r20, %r21 - ldw,ma 4(%sr0, %arg1), %ret1 - depd,z %r21, 60, 61, %r22 - mtsar %r22 - - addi -16, %arg2, %arg2 -$bcopy_f.loop16u - ldw 32(%sr0, %arg1), %r0 - ldw,ma 4(%sr0, %arg1), %r22 - ldw,ma 4(%sr0, %arg1), %r21 - ldw,ma 4(%sr0, %arg1), %r20 - ldw,ma 4(%sr0, %arg1), %r19 - shrpw %ret1, %r22, %sar, %r31 - stby,b,m %r31, 4(%sr0, %arg0) - shrpw %r22, %r21, %sar, %r31 - stw,ma %r31, 4(%sr0, %arg0) - shrpw %r21, %r20, %sar, %r31 - stw,ma %r31, 4(%sr0, %arg0) - shrpw %r20, %r19, %sar, %r31 - stw,ma %r31, 4(%sr0, %arg0) - addib,*>= -16, %arg2, $bcopy_f.loop16u - copy %r19, %ret1 - - addib,*<,n 12, %arg2, $bcopy_f.cleanup_un -$bcopy_f.word_un - ldw,ma 4(%sr0, %arg1), %r22 - shrpw %ret1, %r22, %sar, %r21 - addib,*< -4, %arg2, $bcopy_f.cleanup1_un - stw,ma %r21, 4(%sr0, %arg0) - ldw,ma 4(%sr0, %arg1), %ret1 - shrpw %r22, %ret1, %sar, %r21 - addib,*>= -4, %arg2, $bcopy_f.word_un - stw,ma %r21, 4(%sr0, %arg0) - -$bcopy_f.cleanup_un - addib,*<=,n 4, %arg2, $bcopy_f.done - mfctl %sar, %r19 - add %arg0, %arg2, %arg0 - extrd,u %r19, 60, 2, %r19 - sub,*<= %arg2, %r19, %r0 - ldw,ma 4(%sr0, %arg1), %r22 - shrpw %ret1, %r22, %sar, %r21 - b $bcopy_f.done - stby,e %r21, 0(%sr0, %arg0) - -$bcopy_f.cleanup1_un - b $bcopy_f.cleanup_un - copy %r22, %ret1 - -$bcopy_f.byte - cmpb,*>=,n %r0, %arg2, $bcopy_f.done -$bcopy_f.byte_loop - ldbs,ma 1(%sr0, %arg1), %r22 - addib,*<> -1, %arg2, $bcopy_f.byte_loop - stbs,ma %r22, 1(%sr0, %arg0) -$bcopy_f.done - - bv %r0(%rp) - nop -$bcopy.reverse - copy %arg0, %ret0 - add %arg1, %arg2, %arg1 - add %arg0, %arg2, %arg0 - - -$bcopy_r.byte - cmpb,*>=,n %r0, %arg2, $bcopy_r.done -$bcopy_r.byte_loop - ldbs,mb -1(%sr0, %arg1), %r22 - addib,*<> -1, %arg2, $bcopy_r.byte_loop - stbs,mb %r22, -1(%sr0, %arg0) -$bcopy_r.done - - bv %r0(%rp) - nop -EXIT(bcopy) - - .end |