1/* Written by Anders Magnusson. Public Domain */
2
3#include <machine/asm.h>
4
5RCSID("$NetBSD: bswap64.S,v 1.2 2005/12/24 08:33:32 matt Exp $")
6
7ENTRY(bswap64, 0)
8        movq 4(%ap),%r3
9	rotl $-8,%r3,%r1
10	insv %r1,$16,$8,%r1
11	rotl $8,%r3,%r2
12	movb %r2,%r1
13	rotl $-8,%r4,%r0
14	insv %r0,$16,$8,%r0
15	rotl $8,%r4,%r2
16	movb %r2,%r0
17	ret
18END(bswap64)
19