21 |
* along with this program ; if not, write to the Free Software |
* along with this program ; if not, write to the Free Software |
22 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
23 |
* |
* |
24 |
* $Id: portab.h,v 1.49 2004-03-22 22:36:23 edgomez Exp $ |
* $Id: portab.h,v 1.50 2004-04-05 20:36:36 edgomez Exp $ |
25 |
* |
* |
26 |
****************************************************************************/ |
****************************************************************************/ |
27 |
|
|
248 |
| gcc PPC and PPC Altivec specific macros/functions |
| gcc PPC and PPC Altivec specific macros/functions |
249 |
*---------------------------------------------------------------------------*/ |
*---------------------------------------------------------------------------*/ |
250 |
# elif defined(ARCH_IS_PPC) |
# elif defined(ARCH_IS_PPC) |
251 |
|
|
252 |
|
# if defined(HAVE_ALTIVEC_PARENTHESES_DECL) |
253 |
|
# define AVV(x...) (x) |
254 |
|
# elif defined(HAVE_ALTIVEC_BRACES_DECL) |
255 |
|
# define AVV(x...) {x} |
256 |
|
# else |
257 |
|
# error Trying to compile PPC target without a vector declaration type. |
258 |
|
# endif |
259 |
|
|
260 |
# define BSWAP(a) __asm__ __volatile__ \ |
# define BSWAP(a) __asm__ __volatile__ \ |
261 |
( "lwbrx %0,0,%1; eieio" : "=r" (a) : "r" (&(a)), "m" (a)); |
( "lwbrx %0,0,%1; eieio" : "=r" (a) : "r" (&(a)), "m" (a)); |
262 |
|
|