Will allow tune to build.
This commit is contained in:
parent
cd0d57ae48
commit
36c8df6973
12
configure.in
12
configure.in
@ -3098,6 +3098,18 @@ case $sqr_basecase_source in
|
||||
cat >tune/sqr_basecase.c <<EOF
|
||||
/* not sure that an empty file can compile, so put in a dummy */
|
||||
int sqr_basecase_dummy;
|
||||
EOF
|
||||
;;
|
||||
*.s)
|
||||
sqr_max=[`sed -n 's/^def...(SQR_KARATSUBA_THRESHOLD_MAX, *\([0-9]*\))/\1/p' $sqr_basecase_source`]
|
||||
if test -n "$sqr_max"; then
|
||||
TUNE_SQR_OBJ=sqr_asm.o
|
||||
AC_DEFINE_UNQUOTED(TUNE_SQR_KARATSUBA_MAX,$sqr_max,
|
||||
[Maximum size the tune program can test for SQR_KARATSUBA_THRESHOLD])
|
||||
fi
|
||||
cat >tune/sqr_basecase.c <<EOF
|
||||
/* not sure that an empty file can compile, so put in a dummy */
|
||||
int sqr_basecase_dummy;
|
||||
EOF
|
||||
;;
|
||||
*.c)
|
||||
|
@ -1,46 +0,0 @@
|
||||
dnl x86 pentium time stamp counter access routine.
|
||||
|
||||
dnl Copyright 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
dnl
|
||||
dnl This file is part of the GNU MP Library.
|
||||
dnl
|
||||
dnl The GNU MP Library is free software; you can redistribute it and/or
|
||||
dnl modify it under the terms of the GNU Lesser General Public License as
|
||||
dnl published by the Free Software Foundation; either version 2.1 of the
|
||||
dnl License, or (at your option) any later version.
|
||||
dnl
|
||||
dnl The GNU MP Library is distributed in the hope that it will be useful,
|
||||
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
dnl Lesser General Public License for more details.
|
||||
dnl
|
||||
dnl You should have received a copy of the GNU Lesser General Public
|
||||
dnl License along with the GNU MP Library; see the file COPYING.LIB. If
|
||||
dnl not, write to the Free Software Foundation, Inc., 51 Franklin Street,
|
||||
dnl Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
|
||||
include(`../config.m4')
|
||||
|
||||
|
||||
C void speed_cyclecounter (unsigned p[2]);
|
||||
C
|
||||
C Get the pentium rdtsc cycle counter, storing the least significant word in
|
||||
C p[0] and the most significant in p[1].
|
||||
C
|
||||
C cpuid is used to serialize execution. On big measurements this won't be
|
||||
C significant but it may help make small single measurements more accurate.
|
||||
|
||||
PROLOGUE(speed_cyclecounter)
|
||||
|
||||
C rdi p
|
||||
|
||||
movq %rbx, %r10
|
||||
xorl %eax, %eax
|
||||
cpuid
|
||||
rdtsc
|
||||
movl %eax, (%rdi)
|
||||
movl %edx, 4(%rdi)
|
||||
movq %r10, %rbx
|
||||
ret
|
||||
EPILOGUE()
|
48
tune/x86_64.s
Normal file
48
tune/x86_64.s
Normal file
@ -0,0 +1,48 @@
|
||||
; x86 pentium time stamp counter access routine.
|
||||
;
|
||||
; Copyright 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
;
|
||||
; This file is part of the GNU MP Library.
|
||||
;
|
||||
; The GNU MP Library is free software; you can redistribute it and/or
|
||||
; modify it under the terms of the GNU Lesser General Public License as
|
||||
; published by the Free Software Foundation; either version 2.1 of the
|
||||
; License, or (at your option) any later version.
|
||||
;
|
||||
; The GNU MP Library is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
; Lesser General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU Lesser General Public
|
||||
; License along with the GNU MP Library; see the file COPYING.LIB. If
|
||||
; not, write to the Free Software Foundation, Inc., 51 Franklin Street,
|
||||
; Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
|
||||
; void speed_cyclecounter (unsigned p[2]);
|
||||
;
|
||||
; Get the pentium rdtsc cycle counter, storing the least significant word in
|
||||
; p[0] and the most significant in p[1].
|
||||
;
|
||||
; cpuid is used to serialize execution. On big measurements this won't be
|
||||
; significant but it may help make small single measurements more accurate.
|
||||
|
||||
bits 64
|
||||
section .text
|
||||
|
||||
global speed_cyclecounter:function
|
||||
|
||||
speed_cyclecounter:
|
||||
; rdi p
|
||||
|
||||
mov r10, rbx
|
||||
xor eax, eax
|
||||
cpuid
|
||||
rdtsc
|
||||
mov [rdi], eax
|
||||
mov [rdi+4], edx
|
||||
mov rbx, r10
|
||||
ret
|
||||
|
||||
end
|
Loading…
Reference in New Issue
Block a user