1 /*
2  * types-i386.h
3  *
4  * i386 ASM macros for endian conversion
5  */
6 
7 #ifndef TYPES_I386_H
8 #define TYPES_I386_H
9 
10 /* $Id: types-i386.h,v 1.1 1999/12/07 02:01:14 nyef Exp $ */
11 
12 #define byteswap16(val) ({ u32 x = val; asm("xchgb %b0,%h0": "=q" (x):  "0" (x)); x; })
13 
14 /* FIXME: okay, I lied about the i386 bit, you need a 486 to use this */
15 #define byteswap32(val) ({ u16 x = val; asm("bswap %0": "=r" (x): "0" (x)); x; })
16 
17 #endif /* TYPES_I386_H */
18 
19 /*
20  * $Log: types-i386.h,v $
21  * Revision 1.1  1999/12/07 02:01:14  nyef
22  * Initial revision
23  *
24  */
25