/****************************************************************************** * Copyright (c) 2004, 2008 IBM Corporation * All rights reserved. * This program and the accompanying materials * are made available under the terms of the BSD License * which accompanies this distribution, and is available at * http://www.opensource.org/licenses/bsd-license.php * * Contributors: * IBM Corporation - initial implementation *****************************************************************************/ #define LOAD64(rn,name) \ lis rn,name##@highest; \ ori rn,rn,name##@higher; \ rldicr rn,rn,32,31; \ oris rn,rn,name##@h; \ ori rn,rn,name##@l #define LOAD32(rn, name) \ lis rn,name##@h; \ ori rn,rn,name##@l // load 32 bit constant in little endian order #define LOAD32le(rn,name) \ lis rn,(((name>>8)&0x00FF)|((name<<8)&0xFF00)); \ ori rn,rn,(((name>>24)&0x00FF)|((name>>8)&0xFF00)) // load 16 bit constant in little endian order #define LOAD16le(rn,name) \ li rn,(((name>>8)&0x00FF)|((name<<8)&0xFF00)) #define ENTRY(func_name) \ .text; \ .align 2; \ .globl .func_name; \ .func_name: \ .globl func_name; \ func_name: #define C_ENTRY(func_name) \ .section ".text"; \ .align 2; \ .globl func_name; \ .section ".opd","aw"; \ .align 3; \ func_name: \ .quad .func_name,.TOC.@tocbase,0; \ .previous; \ .size func_name,24; \ .type .func_name,@function; \ .globl .func_name; \ .func_name: #define ASM_ENTRY(fn) \ .globl fn; \ fn: