1*b2441318SGreg Kroah-Hartman/* SPDX-License-Identifier: GPL-2.0 */ 24ff28d4cSDavid S. Miller#include <linux/linkage.h> 34ff28d4cSDavid S. Miller#include <asm/visasm.h> 44ff28d4cSDavid S. Miller 57cff82f5SDavid S. Miller#include "opcodes.h" 67cff82f5SDavid S. Miller 74ff28d4cSDavid S. MillerENTRY(sha1_sparc64_transform) 84ff28d4cSDavid S. Miller /* %o0 = digest, %o1 = data, %o2 = rounds */ 94ff28d4cSDavid S. Miller VISEntryHalf 104ff28d4cSDavid S. Miller ld [%o0 + 0x00], %f0 114ff28d4cSDavid S. Miller ld [%o0 + 0x04], %f1 124ff28d4cSDavid S. Miller ld [%o0 + 0x08], %f2 134ff28d4cSDavid S. Miller andcc %o1, 0x7, %g0 144ff28d4cSDavid S. Miller ld [%o0 + 0x0c], %f3 154ff28d4cSDavid S. Miller bne,pn %xcc, 10f 164ff28d4cSDavid S. Miller ld [%o0 + 0x10], %f4 174ff28d4cSDavid S. Miller 184ff28d4cSDavid S. Miller1: 194ff28d4cSDavid S. Miller ldd [%o1 + 0x00], %f8 204ff28d4cSDavid S. Miller ldd [%o1 + 0x08], %f10 214ff28d4cSDavid S. Miller ldd [%o1 + 0x10], %f12 224ff28d4cSDavid S. Miller ldd [%o1 + 0x18], %f14 234ff28d4cSDavid S. Miller ldd [%o1 + 0x20], %f16 244ff28d4cSDavid S. Miller ldd [%o1 + 0x28], %f18 254ff28d4cSDavid S. Miller ldd [%o1 + 0x30], %f20 264ff28d4cSDavid S. Miller ldd [%o1 + 0x38], %f22 274ff28d4cSDavid S. Miller 287cff82f5SDavid S. Miller SHA1 294ff28d4cSDavid S. Miller 304ff28d4cSDavid S. Miller subcc %o2, 1, %o2 314ff28d4cSDavid S. Miller bne,pt %xcc, 1b 324ff28d4cSDavid S. Miller add %o1, 0x40, %o1 334ff28d4cSDavid S. Miller 344ff28d4cSDavid S. Miller5: 354ff28d4cSDavid S. Miller st %f0, [%o0 + 0x00] 364ff28d4cSDavid S. Miller st %f1, [%o0 + 0x04] 374ff28d4cSDavid S. Miller st %f2, [%o0 + 0x08] 384ff28d4cSDavid S. Miller st %f3, [%o0 + 0x0c] 394ff28d4cSDavid S. Miller st %f4, [%o0 + 0x10] 404ff28d4cSDavid S. Miller retl 414ff28d4cSDavid S. Miller VISExitHalf 424ff28d4cSDavid S. Miller10: 434ff28d4cSDavid S. Miller alignaddr %o1, %g0, %o1 444ff28d4cSDavid S. Miller 454ff28d4cSDavid S. Miller ldd [%o1 + 0x00], %f10 464ff28d4cSDavid S. Miller1: 474ff28d4cSDavid S. Miller ldd [%o1 + 0x08], %f12 484ff28d4cSDavid S. Miller ldd [%o1 + 0x10], %f14 494ff28d4cSDavid S. Miller ldd [%o1 + 0x18], %f16 504ff28d4cSDavid S. Miller ldd [%o1 + 0x20], %f18 514ff28d4cSDavid S. Miller ldd [%o1 + 0x28], %f20 524ff28d4cSDavid S. Miller ldd [%o1 + 0x30], %f22 534ff28d4cSDavid S. Miller ldd [%o1 + 0x38], %f24 544ff28d4cSDavid S. Miller ldd [%o1 + 0x40], %f26 554ff28d4cSDavid S. Miller 564ff28d4cSDavid S. Miller faligndata %f10, %f12, %f8 574ff28d4cSDavid S. Miller faligndata %f12, %f14, %f10 584ff28d4cSDavid S. Miller faligndata %f14, %f16, %f12 594ff28d4cSDavid S. Miller faligndata %f16, %f18, %f14 604ff28d4cSDavid S. Miller faligndata %f18, %f20, %f16 614ff28d4cSDavid S. Miller faligndata %f20, %f22, %f18 624ff28d4cSDavid S. Miller faligndata %f22, %f24, %f20 634ff28d4cSDavid S. Miller faligndata %f24, %f26, %f22 644ff28d4cSDavid S. Miller 657cff82f5SDavid S. Miller SHA1 664ff28d4cSDavid S. Miller 674ff28d4cSDavid S. Miller subcc %o2, 1, %o2 6845dfe237SDavid S. Miller fsrc2 %f26, %f10 694ff28d4cSDavid S. Miller bne,pt %xcc, 1b 704ff28d4cSDavid S. Miller add %o1, 0x40, %o1 714ff28d4cSDavid S. Miller 724ff28d4cSDavid S. Miller ba,a,pt %xcc, 5b 734ff28d4cSDavid S. MillerENDPROC(sha1_sparc64_transform) 74