1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22/* 23 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27#pragma ident "%Z%%M% %I% %E% SMI" 28 29/* 30 * byteswap.il -- definitions for .inline functions for little-endian loads. 31 * 32 * right now, this file is only used on UltraSPARC architectures, 33 * which have a special address space identifier for loading 32 and 16 bit 34 * integers in little-endian byte order. 35 * 36 * note: apparently these files are not preprocessed, so we cannot 37 * use `ASI_PL'. 38 * 39 * This file and common/crypto/md5/md5_byteswap.h implement the 40 * same thing and must be changed together. 41 */ 42 43 .inline load_little_32, 4 44 lduwa [%o0]0x88, %o0 45 .end 46 47 .inline load_little_16, 4 48 lduha [%o0]0x88, %o0 49 .end 50 51 .inline set_little,4 52 wr %g0, %o0, %asi 53 .end 54 55 .inline get_little,0 56 rd %asi, %o0 57 .end 58 59 .inline load_little_32_0, 4 60 lduwa [%o0]%asi, %o0 61 .end 62 63 .inline load_little_32_1, 4 64 lduwa [%o0 + 4]%asi, %o0 65 .end 66 67 .inline load_little_32_2, 4 68 lduwa [%o0 + 8]%asi, %o0 69 .end 70 71 .inline load_little_32_3, 4 72 lduwa [%o0 + 12]%asi, %o0 73 .end 74 75 .inline load_little_32_4, 4 76 lduwa [%o0 + 16]%asi, %o0 77 .end 78 79 .inline load_little_32_5, 4 80 lduwa [%o0 + 20]%asi, %o0 81 .end 82 83 .inline load_little_32_6, 4 84 lduwa [%o0 + 24]%asi, %o0 85 .end 86 87 .inline load_little_32_7, 4 88 lduwa [%o0 + 28]%asi, %o0 89 .end 90 91 .inline load_little_32_8, 4 92 lduwa [%o0 + 32]%asi, %o0 93 .end 94 95 .inline load_little_32_9, 4 96 lduwa [%o0 + 36]%asi, %o0 97 .end 98 99 .inline load_little_32_a, 4 100 lduwa [%o0 + 40]%asi, %o0 101 .end 102 103 .inline load_little_32_b, 4 104 lduwa [%o0 + 44]%asi, %o0 105 .end 106 107 .inline load_little_32_c, 4 108 lduwa [%o0 + 48]%asi, %o0 109 .end 110 111 .inline load_little_32_d, 4 112 lduwa [%o0 + 52]%asi, %o0 113 .end 114 115 .inline load_little_32_e, 4 116 lduwa [%o0 + 56]%asi, %o0 117 .end 118 119 .inline load_little_32_f, 4 120 lduwa [%o0 + 60]%asi, %o0 121 .end 122 123