1*b2441318SGreg Kroah-Hartman/* SPDX-License-Identifier: GPL-2.0 */ 2fa4dfedcSDavid S. Miller#include <linux/linkage.h> 3fa4dfedcSDavid S. Miller#include <asm/visasm.h> 4fa4dfedcSDavid S. Miller 57cff82f5SDavid S. Miller#include "opcodes.h" 67cff82f5SDavid S. Miller 7fa4dfedcSDavid S. MillerENTRY(md5_sparc64_transform) 8fa4dfedcSDavid S. Miller /* %o0 = digest, %o1 = data, %o2 = rounds */ 9fa4dfedcSDavid S. Miller VISEntryHalf 10fa4dfedcSDavid S. Miller ld [%o0 + 0x00], %f0 11fa4dfedcSDavid S. Miller ld [%o0 + 0x04], %f1 12fa4dfedcSDavid S. Miller andcc %o1, 0x7, %g0 13fa4dfedcSDavid S. Miller ld [%o0 + 0x08], %f2 14fa4dfedcSDavid S. Miller bne,pn %xcc, 10f 15fa4dfedcSDavid S. Miller ld [%o0 + 0x0c], %f3 16fa4dfedcSDavid S. Miller 17fa4dfedcSDavid S. Miller1: 18fa4dfedcSDavid S. Miller ldd [%o1 + 0x00], %f8 19fa4dfedcSDavid S. Miller ldd [%o1 + 0x08], %f10 20fa4dfedcSDavid S. Miller ldd [%o1 + 0x10], %f12 21fa4dfedcSDavid S. Miller ldd [%o1 + 0x18], %f14 22fa4dfedcSDavid S. Miller ldd [%o1 + 0x20], %f16 23fa4dfedcSDavid S. Miller ldd [%o1 + 0x28], %f18 24fa4dfedcSDavid S. Miller ldd [%o1 + 0x30], %f20 25fa4dfedcSDavid S. Miller ldd [%o1 + 0x38], %f22 26fa4dfedcSDavid S. Miller 277cff82f5SDavid S. Miller MD5 28fa4dfedcSDavid S. Miller 29fa4dfedcSDavid S. Miller subcc %o2, 1, %o2 30fa4dfedcSDavid S. Miller bne,pt %xcc, 1b 31fa4dfedcSDavid S. Miller add %o1, 0x40, %o1 32fa4dfedcSDavid S. Miller 33fa4dfedcSDavid S. Miller5: 34fa4dfedcSDavid S. Miller st %f0, [%o0 + 0x00] 35fa4dfedcSDavid S. Miller st %f1, [%o0 + 0x04] 36fa4dfedcSDavid S. Miller st %f2, [%o0 + 0x08] 37fa4dfedcSDavid S. Miller st %f3, [%o0 + 0x0c] 38fa4dfedcSDavid S. Miller retl 39fa4dfedcSDavid S. Miller VISExitHalf 40fa4dfedcSDavid S. Miller10: 41fa4dfedcSDavid S. Miller alignaddr %o1, %g0, %o1 42fa4dfedcSDavid S. Miller 43fa4dfedcSDavid S. Miller ldd [%o1 + 0x00], %f10 44fa4dfedcSDavid S. Miller1: 45fa4dfedcSDavid S. Miller ldd [%o1 + 0x08], %f12 46fa4dfedcSDavid S. Miller ldd [%o1 + 0x10], %f14 47fa4dfedcSDavid S. Miller ldd [%o1 + 0x18], %f16 48fa4dfedcSDavid S. Miller ldd [%o1 + 0x20], %f18 49fa4dfedcSDavid S. Miller ldd [%o1 + 0x28], %f20 50fa4dfedcSDavid S. Miller ldd [%o1 + 0x30], %f22 51fa4dfedcSDavid S. Miller ldd [%o1 + 0x38], %f24 52fa4dfedcSDavid S. Miller ldd [%o1 + 0x40], %f26 53fa4dfedcSDavid S. Miller 54fa4dfedcSDavid S. Miller faligndata %f10, %f12, %f8 55fa4dfedcSDavid S. Miller faligndata %f12, %f14, %f10 56fa4dfedcSDavid S. Miller faligndata %f14, %f16, %f12 57fa4dfedcSDavid S. Miller faligndata %f16, %f18, %f14 58fa4dfedcSDavid S. Miller faligndata %f18, %f20, %f16 59fa4dfedcSDavid S. Miller faligndata %f20, %f22, %f18 60fa4dfedcSDavid S. Miller faligndata %f22, %f24, %f20 61fa4dfedcSDavid S. Miller faligndata %f24, %f26, %f22 62fa4dfedcSDavid S. Miller 637cff82f5SDavid S. Miller MD5 64fa4dfedcSDavid S. Miller 65fa4dfedcSDavid S. Miller subcc %o2, 1, %o2 6645dfe237SDavid S. Miller fsrc2 %f26, %f10 67fa4dfedcSDavid S. Miller bne,pt %xcc, 1b 68fa4dfedcSDavid S. Miller add %o1, 0x40, %o1 69fa4dfedcSDavid S. Miller 70fa4dfedcSDavid S. Miller ba,a,pt %xcc, 5b 71fa4dfedcSDavid S. MillerENDPROC(md5_sparc64_transform) 72