1*b2441318SGreg Kroah-Hartman/* SPDX-License-Identifier: GPL-2.0 */ 286c93b24SDavid S. Miller#include <linux/linkage.h> 386c93b24SDavid S. Miller#include <asm/visasm.h> 486c93b24SDavid S. Miller 57cff82f5SDavid S. Miller#include "opcodes.h" 67cff82f5SDavid S. Miller 786c93b24SDavid S. MillerENTRY(sha256_sparc64_transform) 886c93b24SDavid S. Miller /* %o0 = digest, %o1 = data, %o2 = rounds */ 986c93b24SDavid S. Miller VISEntryHalf 1086c93b24SDavid S. Miller ld [%o0 + 0x00], %f0 1186c93b24SDavid S. Miller ld [%o0 + 0x04], %f1 1286c93b24SDavid S. Miller ld [%o0 + 0x08], %f2 1386c93b24SDavid S. Miller ld [%o0 + 0x0c], %f3 1486c93b24SDavid S. Miller ld [%o0 + 0x10], %f4 1586c93b24SDavid S. Miller ld [%o0 + 0x14], %f5 1686c93b24SDavid S. Miller andcc %o1, 0x7, %g0 1786c93b24SDavid S. Miller ld [%o0 + 0x18], %f6 1886c93b24SDavid S. Miller bne,pn %xcc, 10f 1986c93b24SDavid S. Miller ld [%o0 + 0x1c], %f7 2086c93b24SDavid S. Miller 2186c93b24SDavid S. Miller1: 2286c93b24SDavid S. Miller ldd [%o1 + 0x00], %f8 2386c93b24SDavid S. Miller ldd [%o1 + 0x08], %f10 2486c93b24SDavid S. Miller ldd [%o1 + 0x10], %f12 2586c93b24SDavid S. Miller ldd [%o1 + 0x18], %f14 2686c93b24SDavid S. Miller ldd [%o1 + 0x20], %f16 2786c93b24SDavid S. Miller ldd [%o1 + 0x28], %f18 2886c93b24SDavid S. Miller ldd [%o1 + 0x30], %f20 2986c93b24SDavid S. Miller ldd [%o1 + 0x38], %f22 3086c93b24SDavid S. Miller 317cff82f5SDavid S. Miller SHA256 3286c93b24SDavid S. Miller 3386c93b24SDavid S. Miller subcc %o2, 1, %o2 3486c93b24SDavid S. Miller bne,pt %xcc, 1b 3586c93b24SDavid S. Miller add %o1, 0x40, %o1 3686c93b24SDavid S. Miller 3786c93b24SDavid S. Miller5: 3886c93b24SDavid S. Miller st %f0, [%o0 + 0x00] 3986c93b24SDavid S. Miller st %f1, [%o0 + 0x04] 4086c93b24SDavid S. Miller st %f2, [%o0 + 0x08] 4186c93b24SDavid S. Miller st %f3, [%o0 + 0x0c] 4286c93b24SDavid S. Miller st %f4, [%o0 + 0x10] 4386c93b24SDavid S. Miller st %f5, [%o0 + 0x14] 4486c93b24SDavid S. Miller st %f6, [%o0 + 0x18] 4586c93b24SDavid S. Miller st %f7, [%o0 + 0x1c] 4686c93b24SDavid S. Miller retl 4786c93b24SDavid S. Miller VISExitHalf 4886c93b24SDavid S. Miller10: 4986c93b24SDavid S. Miller alignaddr %o1, %g0, %o1 5086c93b24SDavid S. Miller 5186c93b24SDavid S. Miller ldd [%o1 + 0x00], %f10 5286c93b24SDavid S. Miller1: 5386c93b24SDavid S. Miller ldd [%o1 + 0x08], %f12 5486c93b24SDavid S. Miller ldd [%o1 + 0x10], %f14 5586c93b24SDavid S. Miller ldd [%o1 + 0x18], %f16 5686c93b24SDavid S. Miller ldd [%o1 + 0x20], %f18 5786c93b24SDavid S. Miller ldd [%o1 + 0x28], %f20 5886c93b24SDavid S. Miller ldd [%o1 + 0x30], %f22 5986c93b24SDavid S. Miller ldd [%o1 + 0x38], %f24 6086c93b24SDavid S. Miller ldd [%o1 + 0x40], %f26 6186c93b24SDavid S. Miller 6286c93b24SDavid S. Miller faligndata %f10, %f12, %f8 6386c93b24SDavid S. Miller faligndata %f12, %f14, %f10 6486c93b24SDavid S. Miller faligndata %f14, %f16, %f12 6586c93b24SDavid S. Miller faligndata %f16, %f18, %f14 6686c93b24SDavid S. Miller faligndata %f18, %f20, %f16 6786c93b24SDavid S. Miller faligndata %f20, %f22, %f18 6886c93b24SDavid S. Miller faligndata %f22, %f24, %f20 6986c93b24SDavid S. Miller faligndata %f24, %f26, %f22 7086c93b24SDavid S. Miller 717cff82f5SDavid S. Miller SHA256 7286c93b24SDavid S. Miller 7386c93b24SDavid S. Miller subcc %o2, 1, %o2 7445dfe237SDavid S. Miller fsrc2 %f26, %f10 7586c93b24SDavid S. Miller bne,pt %xcc, 1b 7686c93b24SDavid S. Miller add %o1, 0x40, %o1 7786c93b24SDavid S. Miller 7886c93b24SDavid S. Miller ba,a,pt %xcc, 5b 7986c93b24SDavid S. MillerENDPROC(sha256_sparc64_transform) 80