X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fx86%2Fassyntax.h;h=dfd1c4fe3a5286ad0bb369fd730a3e7f5cd59a1a;hb=dd0b2b7f7152e8964c09518f64b74d3b53dbe7e8;hp=0a8c1bda97886d55fe569f86da45b5b02683ee8d;hpb=73d03344f43d0f5c7f25a1fea13b5c2bad37dfd9;p=mesa.git diff --git a/src/mesa/x86/assyntax.h b/src/mesa/x86/assyntax.h index 0a8c1bda978..dfd1c4fe3a5 100644 --- a/src/mesa/x86/assyntax.h +++ b/src/mesa/x86/assyntax.h @@ -190,7 +190,15 @@ #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 @@ -235,9 +243,7 @@ #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) @@ -842,6 +848,8 @@ #define P_XMM6 xmm6 #define P_XMM7 xmm7 +#define CONCAT(x, y) x ## y + #if defined(NASM_ASSEMBLER) #define ST(n) st ## n @@ -876,9 +884,17 @@ #define D_BYTE db /* #define SPACE */ /* #define COMM */ +#if defined(__WATCOMC__) +SECTION _TEXT public align=16 class=CODE use32 flat +SECTION _DATA public align=16 class=DATA use32 flat +#define SEG_TEXT SECTION _TEXT +#define SEG_DATA SECTION _DATA +#define SEG_BSS SECTION .bss +#else #define SEG_DATA SECTION .data #define SEG_TEXT SECTION .text #define SEG_BSS SECTION .bss +#endif #define D_SPACE(n) db n REP 0 @@ -974,12 +990,12 @@ #define B_REGIND(a) BYTE_PTR [a] /* Register b indirect plus displacement a */ -#define P_REGOFF(a, b) [a + b] -#define X_REGOFF(a, b) TBYTE_PTR [a + b] -#define D_REGOFF(a, b) QWORD_PTR [a + b] -#define L_REGOFF(a, b) DWORD_PTR [a + b] -#define W_REGOFF(a, b) WORD_PTR [a + b] -#define B_REGOFF(a, b) BYTE_PTR [a + b] +#define P_REGOFF(a, b) [b + a] +#define X_REGOFF(a, b) TBYTE_PTR [b + a] +#define D_REGOFF(a, b) QWORD_PTR [b + a] +#define L_REGOFF(a, b) DWORD_PTR [b + a] +#define W_REGOFF(a, b) WORD_PTR [b + a] +#define B_REGOFF(a, b) BYTE_PTR [b + a] /* Reg indirect Base + Index + Displacement - this is mainly for 16-bit mode * which has no scaling @@ -1024,10 +1040,10 @@ #define B_REGDB(d, b) BYTE_PTR [b + d] /* Variable indirect: */ -#define VARINDIRECT(var) [var] +#define VARINDIRECT(var) var /* Use register contents as jump/call target: */ -#define CODEPTR(reg) [reg] +#define CODEPTR(reg) reg /* * Redefine assembler commands @@ -1464,7 +1480,7 @@ #else #define P_ARG1(a) a #define P_ARG2(a, b) a, b -#define P_ARG3(a, b) a, b, c +#define P_ARG3(a, b, c) a, b, c #endif /* MMX */ @@ -1559,6 +1575,7 @@ #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) @@ -1570,22 +1587,22 @@ #define CMPPS(a, b, c) cmpps P_ARG3(a, b, c) #define CMPSS(a, b, c) cmpss P_ARG3(a, b, c) */ -#define CMPEQPS(a, b) cmpeqps P_ARG3(a, b) -#define CMPLTPS(a, b) cmpltps P_ARG3(a, b) -#define CMPLEPS(a, b) cmpleps P_ARG3(a, b) -#define CMPUNORDPS(a, b) cmpunordps P_ARG3(a, b) -#define CMPNEQPS(a, b) cmpneqps P_ARG3(a, b) -#define CMPNLTPS(a, b) cmpnltps P_ARG3(a, b) -#define CMPNLEPS(a, b) cmpnleps P_ARG3(a, b) -#define CMPORDPS(a, b) cmpordps P_ARG3(a, b) -#define CMPEQSS(a, b) cmpeqss P_ARG3(a, b) -#define CMPLTSS(a, b) cmpltss P_ARG3(a, b) -#define CMPLESS(a, b) cmpless P_ARG3(a, b) -#define CMPUNORDSS(a, b) cmpunordss P_ARG3(a, b) -#define CMPNEQSS(a, b) cmpneqss P_ARG3(a, b) -#define CMPNLTSS(a, b) cmpnltss P_ARG3(a, b) -#define CMPNLESS(a, b) cmpnless P_ARG3(a, b) -#define CMPORDSS(a, b) cmpordss P_ARG3(a, b) +#define CMPEQPS(a, b) cmpeqps P_ARG2(a, b) +#define CMPLTPS(a, b) cmpltps P_ARG2(a, b) +#define CMPLEPS(a, b) cmpleps P_ARG2(a, b) +#define CMPUNORDPS(a, b) cmpunordps P_ARG2(a, b) +#define CMPNEQPS(a, b) cmpneqps P_ARG2(a, b) +#define CMPNLTPS(a, b) cmpnltps P_ARG2(a, b) +#define CMPNLEPS(a, b) cmpnleps P_ARG2(a, b) +#define CMPORDPS(a, b) cmpordps P_ARG2(a, b) +#define CMPEQSS(a, b) cmpeqss P_ARG2(a, b) +#define CMPLTSS(a, b) cmpltss P_ARG2(a, b) +#define CMPLESS(a, b) cmpless P_ARG2(a, b) +#define CMPUNORDSS(a, b) cmpunordss P_ARG2(a, b) +#define CMPNEQSS(a, b) cmpneqss P_ARG2(a, b) +#define CMPNLTSS(a, b) cmpnltss P_ARG2(a, b) +#define CMPNLESS(a, b) cmpnless P_ARG2(a, b) +#define CMPORDSS(a, b) cmpordss P_ARG2(a, b) #define COMISS(a, b) comiss P_ARG2(a, b) #define CVTPI2PS(a, b) cvtpi2ps P_ARG2(a, b) #define CVTPS2PI(a, b) cvtps2pi P_ARG2(a, b) @@ -1628,4 +1645,12 @@ #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__ */