PERFORCE change 30886 for review

Peter Wemm peter at FreeBSD.org
Fri May 9 15:27:06 PDT 2003


http://perforce.freebsd.org/chv.cgi?CH=30886

Change 30886 by peter at peter_daintree on 2003/05/09 15:26:39

	nuke this toxic ARCH_INDIRECT stuff.  This is for lib/msun on i386
	where it tests for hardware floating point support (versus the
	math emulator) and decides whether to do hardware or software
	implementations of the float stuff.

Affected files ...

.. //depot/projects/hammer/sys/amd64/include/asm.h#6 edit

Differences ...

==== //depot/projects/hammer/sys/amd64/include/asm.h#6 (text+ko) ====

@@ -91,67 +91,4 @@
 #define __FBSDID(s)	/* nothing */
 #endif /* not lint and not STRIP_FBSDID */
 
-#ifdef _ARCH_INDIRECT
-/*
- * Generate code to select between the generic functions and _ARCH_INDIRECT
- * specific ones.
- * XXX nested __CONCATs don't work with non-ANSI cpp's.
- */
-#define	ANAME(x)	CNAME(__CONCAT(__CONCAT(__,_ARCH_INDIRECT),x))
-#define	ASELNAME(x)	CNAME(__CONCAT(__arch_select_,x))
-#define	AVECNAME(x)	CNAME(__CONCAT(__arch_,x))
-#define	GNAME(x)	CNAME(__CONCAT(__generic_,x))
-
-/* Don't bother profiling this. */
-#ifdef PIC
-#define	ARCH_DISPATCH(x) \
-			_START_ENTRY; \
-			.globl CNAME(x); .type CNAME(x), at function; CNAME(x): ; \
-			movq PIC_GOT(AVECNAME(x)),%rax; \
-			jmpq *(%rax)
-
-#define	ARCH_SELECT(x)	_START_ENTRY; \
-			.type ASELNAME(x), at function; \
-			ASELNAME(x): \
-			call PIC_PLT(CNAME(__get_hw_float)); \
-			testq %rax,%rax; \
-			movq PIC_GOT(ANAME(x)),%rax; \
-			jne 8f; \
-			movq PIC_GOT(GNAME(x)),%rax; \
-			8: \
-			movq PIC_GOT(AVECNAME(x)),%rdx; \
-			movq %rax,(%rdx); \
-			jmpq *%rax
-#else /* !PIC */
-#define	ARCH_DISPATCH(x) \
-			_START_ENTRY; \
-			.globl CNAME(x); .type CNAME(x), at function; CNAME(x): ; \
-			jmpw *AVECNAME(x)
-
-#define	ARCH_SELECT(x)	_START_ENTRY; \
-			.type ASELNAME(x), at function; \
-			ASELNAME(x): \
-			call CNAME(__get_hw_float); \
-			testw %rax,%rax; \
-			movw $ANAME(x),%rax; \
-			jne 8f; \
-			movw $GNAME(x),%rax; \
-			8: \
-			movw %rax,AVECNAME(x); \
-			jmpw *%rax
-#endif /* PIC */
-
-#define	ARCH_VECTOR(x)	.data; .p2align 2; \
-			.globl AVECNAME(x); \
-			.type AVECNAME(x), at object; \
-			.size AVECNAME(x),4; \
-			AVECNAME(x): .long ASELNAME(x)
-
-#undef _ENTRY
-#define	_ENTRY(x)	ARCH_VECTOR(x); ARCH_SELECT(x); ARCH_DISPATCH(x); \
-			_START_ENTRY; \
-			.globl ANAME(x); .type ANAME(x), at function; ANAME(x):
-
-#endif /* _ARCH_INDIRECT */
-
 #endif /* !_MACHINE_ASM_H_ */


More information about the p4-projects mailing list