#define DR6 %db6
#define DR7 %db7
/* Floating-point Stack */
-#define ST %st
+#define _STX0 %st(0)
+#define _STX1 %st(1)
+#define _STX2 %st(2)
+#define _STX3 %st(3)
+#define _STX4 %st(4)
+#define _STX5 %st(5)
+#define _STX6 %st(6)
+#define _STX7 %st(7)
+#define ST(x) CONCAT(_STX,x)
/* MMX Registers */
#define MM0 %mm0
#define MM1 %mm1
#endif /* ACK_ASSEMBLER */
-#if defined(Lynx) || (defined(SYSV) || defined(SVR4)) && !defined(ACK_ASSEMBLER) \
- || (defined(linux) || defined(__OS2ELF__)) && defined(__ELF__) \
- || defined(__FreeBSD__) && __FreeBSD__ >= 3
+#if defined(__QNX__) || defined(Lynx) || (defined(SYSV) || defined(SVR4)) && !defined(ACK_ASSEMBLER) || defined(__ELF__) || defined(__GNU__)
#define GLNAME(a) a
#else
#define GLNAME(a) CONCAT(_,a)
#define P_XMM6 xmm6
#define P_XMM7 xmm7
+#define CONCAT(x, y) x ## y
+
#if defined(NASM_ASSEMBLER)
#define ST(n) st ## n
#define FEMMS femms
#define PREFETCH(a) prefetch P_ARG1(a)
+#define PREFETCHW(a) prefetchw P_ARG1(a)
/* Intel SSE */
#define ADDPS(a, b) addps P_ARG2(a, b)
#define XORPS(a, b) xorps P_ARG2(a, b)
+/* Added by BrianP for FreeBSD (per David Dawes) */
+#if !defined(NASM_ASSEMBLER) && !defined(MASM_ASSEMBLER)
+#define LLBL(a) CONCAT(.L,a)
+#else
+#define LLBL(a) a
+#endif
+
+
#endif /* __ASSYNTAX_H__ */