From owner-p4-projects@FreeBSD.ORG Fri May 9 15:27:05 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2F22537B404; Fri, 9 May 2003 15:27:05 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BF51F37B401 for ; Fri, 9 May 2003 15:27:04 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4C42943F93 for ; Fri, 9 May 2003 15:27:04 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h49MR40U096905 for ; Fri, 9 May 2003 15:27:04 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h49MR3KS096902 for perforce@freebsd.org; Fri, 9 May 2003 15:27:03 -0700 (PDT) Date: Fri, 9 May 2003 15:27:03 -0700 (PDT) Message-Id: <200305092227.h49MR3KS096902@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 30886 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 May 2003 22:27:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=30886 Change 30886 by peter@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),@function; CNAME(x): ; \ - movq PIC_GOT(AVECNAME(x)),%rax; \ - jmpq *(%rax) - -#define ARCH_SELECT(x) _START_ENTRY; \ - .type ASELNAME(x),@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),@function; CNAME(x): ; \ - jmpw *AVECNAME(x) - -#define ARCH_SELECT(x) _START_ENTRY; \ - .type ASELNAME(x),@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),@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),@function; ANAME(x): - -#endif /* _ARCH_INDIRECT */ - #endif /* !_MACHINE_ASM_H_ */