1/* 2 * Copyright (C) 1998 Dan Malek <dmalek@jlc.net> 3 * Copyright (C) 1999 Magnus Damm <kieraypc01.p.y.kie.era.ericsson.se> 4 * Copyright (C) 2001 Sysgo Real-Time Solutions, GmbH <www.elinos.com> 5 * Andreas Heppel <aheppel@sysgo.de> 6 * Copyright (C) 2003 Wolfgang Denk <wd@denx.de> 7 * 8 * See file CREDITS for list of people who contributed to this 9 * project. 10 * 11 * This program is free software; you can redistribute it and/or 12 * modify it under the terms of the GNU General Public License as 13 * published by the Free Software Foundation; either version 2 of 14 * the License, or (at your option) any later version. 15 * 16 * This program is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU General Public License for more details. 20 * 21 * You should have received a copy of the GNU General Public License 22 * along with this program; if not, write to the Free Software 23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 24 * MA 02111-1307 USA 25 */ 26 27#include <config.h> 28#include <ppc_asm.tmpl> 29 30/* ------------------------------------------------------------------------------- */ 31/* Function: in8 */ 32/* Description: Input 8 bits */ 33/* ------------------------------------------------------------------------------- */ 34 .globl in8 35in8: 36 lbz r3,0(r3) 37 sync 38 blr 39 40/* ------------------------------------------------------------------------------- */ 41/* Function: in16 */ 42/* Description: Input 16 bits */ 43/* ------------------------------------------------------------------------------- */ 44 .globl in16 45in16: 46 lhz r3,0(r3) 47 sync 48 blr 49 50/* ------------------------------------------------------------------------------- */ 51/* Function: in16r */ 52/* Description: Input 16 bits and byte reverse */ 53/* ------------------------------------------------------------------------------- */ 54 .globl in16r 55in16r: 56 lhbrx r3,0,r3 57 sync 58 blr 59 60/* ------------------------------------------------------------------------------- */ 61/* Function: in32 */ 62/* Description: Input 32 bits */ 63/* ------------------------------------------------------------------------------- */ 64 .globl in32 65in32: 66 lwz 3,0(3) 67 sync 68 blr 69 70/* ------------------------------------------------------------------------------- */ 71/* Function: in32r */ 72/* Description: Input 32 bits and byte reverse */ 73/* ------------------------------------------------------------------------------- */ 74 .globl in32r 75in32r: 76 lwbrx r3,0,r3 77 sync 78 blr 79 80/* ------------------------------------------------------------------------------- */ 81/* Function: out8 */ 82/* Description: Output 8 bits */ 83/* ------------------------------------------------------------------------------- */ 84 .globl out8 85out8: 86 stb r4,0(r3) 87 sync 88 blr 89 90/* ------------------------------------------------------------------------------- */ 91/* Function: out16 */ 92/* Description: Output 16 bits */ 93/* ------------------------------------------------------------------------------- */ 94 .globl out16 95out16: 96 sth r4,0(r3) 97 sync 98 blr 99 100/* ------------------------------------------------------------------------------- */ 101/* Function: out16r */ 102/* Description: Byte reverse and output 16 bits */ 103/* ------------------------------------------------------------------------------- */ 104 .globl out16r 105out16r: 106 sthbrx r4,0,r3 107 sync 108 blr 109 110/* ------------------------------------------------------------------------------- */ 111/* Function: out32 */ 112/* Description: Output 32 bits */ 113/* ------------------------------------------------------------------------------- */ 114 .globl out32 115out32: 116 stw r4,0(r3) 117 sync 118 blr 119 120/* ------------------------------------------------------------------------------- */ 121/* Function: out32r */ 122/* Description: Byte reverse and output 32 bits */ 123/* ------------------------------------------------------------------------------- */ 124 .globl out32r 125out32r: 126 stwbrx r4,0,r3 127 sync 128 blr 129