summaryrefslogtreecommitdiff
path: root/longlong.h
Commit message (Collapse)AuthorAgeFilesLines
* Bit more of:Kevin Ryde2003-11-061-2/+2
| | | | | | * gmp-impl.h (HAVE_HOST_CPU_alpha_CIX): New define. (ULONG_PARITY, popc_limb): Use it, to pick up ev7 as well as 67 and 68. * longlong.h (count_leading_zeros, count_trailing_zeros): Ditto.
* * gmp-impl.h (HAVE_HOST_CPU_alpha_CIX): New define.Kevin Ryde2003-11-061-2/+2
| | | | | (ULONG_PARITY, popc_limb): Use it, to pick up ev7 as well as 67 and 68. * longlong.h (count_leading_zeros, count_trailing_zeros): Ditto.
* (AMD64): __x86_64__ => __amd64__.tege2003-10-191-1/+3
| | | | (64-bit powerpc): Only define carry-dependent macros if !_LONG_LONG_LIMB.
* Amend comments associated with:Kevin Ryde2003-08-191-4/+3
| | | | | * longlong.h (count_trailing_zeros) [x86_64]: Use "%q0" to force 64-bit register destination. Pointed out by Torbjorn.
* * longlong.h (add_ssaaaa, sub_ddmmss) [hppa 64]: Move down into mainKevin Ryde2003-08-191-13/+14
| | | | | __GNUC__ block. Exclude for _LONG_LONG_LIMB (ie. ABI=2.0n) since these forms are only for ABI=2.0w.
* * longlong.h (count_leading_zeros) [__mcpu32__]: Check __mcpu32__ toKevin Ryde2003-08-191-3/+6
| | | | avoid bfffo on GCC 3.4 in CPU32 mode. Reported by Bernardo Innocenti.
* * longlong.h (count_trailing_zeros) [x86_64]: Use "%q0" to forceKevin Ryde2003-08-191-3/+1
| | | | 64-bit register destination. Pointed out by Torbjorn.
* * longlong.h (COUNT_LEADING_ZEROS_NEED_CLZ_TAB) [x86 fat]: Define.Kevin Ryde2003-08-021-0/+5
|
* * longlong.h (count_trailing_zeros) [x86_64]: Ensure bsfq destinationKevin Ryde2003-07-311-1/+7
| | | | is a 64-bit register. Diagnosed by Francois G. Dorais.
* [ppc]: Remove nested test for vxworks.tege2003-07-311-1/+1
|
* Tabify.tege2003-06-091-30/+30
|
* * longlong.h (add_ssaaaa) [pa64]: Output zero operand as register 0.tege2003-06-051-8/+8
| | | | | | | Allow more immediate operands. (sub_ddmmss) [pa64]: Likewise. (add_ssaaaa) [pa32]: Likewise. (sub_ddmmss) [pa32]: Likewise.
* * longlong.h (add_ssaaaa) [all]: Remove first "%" commutative in each,Kevin Ryde2003-04-241-22/+40
| | | | since gcc only supports one per asm.
* (__udiv_qrnnd_c): Remove redundant casts.tege2003-03-171-4/+5
| | | | | (32-bit sparc): Test HAVE_HOST_CPU_supersparc in addition to various sparc_v8 spellings.
* * longlong.h (count_trailing_zeros) [ia64]: New macro.Kevin Ryde2002-12-221-0/+9
|
* (mpn_udiv_qrnnd_r based udiv_qrnnd): Fix typo.tege2002-12-041-1/+1
|
* * longlong.h (count_leading_zeros, count_trailing_zeros) [ev67, ev68]:Kevin Ryde2002-12-021-1/+1
| | | | Restrict __asm__ ctlz and cttz to __GNUC__.
* More of last change.tege2002-11-301-1/+1
|
* (umul_ppmm) [ia64]: Form both product parts in asm.tege2002-11-301-7/+6
|
* * longlong.h: Test __x86_64__ not __x86_64. Reported by AndreasKevin Ryde2002-11-021-1/+1
| | | | Jaeger.
* * longlong.h (count_leading_zeros, count_trailing_zeros) [x86_64]:Kevin Ryde2002-10-181-3/+3
| | | | Should be UDItype.
* Less of:Kevin Ryde2002-09-071-9/+0
| | | | | | | | * longlong.h: Define COUNT_LEADING_ZEROS_NEED_CLZ_TAB for all alphas, since mpn/alpha/cntlz.asm always goes into libgmp.so, even for ev67 and ev68 which don't need it. Oops, didn't mean to check in that ia64 bit.
* * longlong.h: Define COUNT_LEADING_ZEROS_NEED_CLZ_TAB for all alphas,Kevin Ryde2002-09-071-1/+12
| | | | | since mpn/alpha/cntlz.asm always goes into libgmp.so, even for ev67 and ev68 which don't need it.
* * longlong.h (count_trailing_zeros) [ia64 __GNUC__]: Don't useKevin Ryde2002-07-271-5/+0
| | | | __builtin_ffs for now, doesn't seem to work.
* Correction to:Kevin Ryde2002-07-231-2/+2
| | | | (count_trailing_zeros) [ia64 __GNUC__]: Use __builtin_ffs.
* (count_trailing_zeros) [ia64 __GNUC__]: Use __builtin_ffs.Kevin Ryde2002-07-101-0/+5
|
* * longlong.h (count_leading_zeros) [pentiummmx]: Don't use __clz_tabKevin Ryde2002-07-101-36/+32
| | | | variant under LONGLONG_STANDALONE.
* * mpn/pa64/umul.asm, mpn/pa64/udiv.asm, mpn/asm-defs.m4, acconfig.h,Kevin Ryde2002-07-011-34/+46
| | | | | | | longlong.h, tune/speed.c, tune/speed.h, tune/common.c, tune/many.pl, tests/devel/try.c: Introduce mpn_umul_ppmm_r and mpn_udiv_qrnnd_r rather than having variant parameter order for mpn_umul_ppmm and mpn_udiv_qrnnd on pa64.
* * longlong.h (udiv_qrnnd) [hppa32]: Remove mpn_udiv_qrnnd version, theKevin Ryde2002-06-291-9/+1
| | | | general mechanism for that suffices.
* From Jakub Jelinek:tege2002-05-211-9/+9
| | | | (add_ssaaaa,sub_ddmmss) [64-bit sparc]: Make it actually work.
* * longlong.h (count_trailing_zeros) [vax]: Add a version using ffs,Kevin Ryde2002-03-191-0/+10
| | | | but commented out.
* * longlong.h (count_leading_zeros) [pentiumpro gcc<3]: TestKevin Ryde2002-03-161-2/+5
| | | | HAVE_HOST_CPU_i686 too.
* * longlong.h (count_leading_zeros, count_trailing_zeros) [x86_64]: NewKevin Ryde2002-03-091-0/+12
| | | | macros.
* (count_leading_zeros) [sparclite]: Fix parameter order (as per gccKevin Ryde2002-03-051-1/+1
| | | | longlong.h).
* * longlong.h (count_leading_zeros, count_trailing_zeros) [alphaev67,Kevin Ryde2002-03-051-0/+9
| | | | alphaev68]: Use ctlz and cttz insns (as per gcc longlong.h).
* * longlong.h (COUNT_TRAILING_ZEROS_TIME): Remove, no longer used.Kevin Ryde2002-03-021-7/+2
| | | | This was one of my additions, never present in the gcc longlong.h.
* Tabify.tege2002-02-181-64/+64
|
* Add basic x86-64 support.tege2002-02-181-0/+21
|
* (32-bit powerpc add_ssaaaa): Remove spurious commutative declaration.tege2002-01-211-4/+4
| | | | (64-bit powerpc add_ssaaaa): Likewise.
* * longlong.h (__vxworks__): Remove from powerpc tests, not correct,Kevin Ryde2001-12-291-2/+3
| | | | not on its own at least.
* * gmp-impl.h (__gmp_rands, __gmp_rands_initialized,Kevin Ryde2001-11-151-1/+1
| | | | | | modlimb_invert_table): Add __GMP_DECLSPEC for the benefit of test programs using them from a windows DLL. * longlong.h (__clz_tab): Ditto.
* * longlong.h: Recognise __sparcv8 for gcc on Solaris. Reported byKevin Ryde2001-10-161-1/+4
| | | | Mark Mentovai <mark@mentovai.com>.
* Rewrite __i370__ smul_ppmm; enable also for __s390__.tege2001-09-201-4/+4
|
* * longlong.h: Test __ppc__ for apple darwin cc, reported by JonKevin Ryde2001-08-241-4/+12
| | | | Becker. Also test __POWERPC__, PPC and __vxworks__.
* (ibm032 umul_ppmm): Fix typo.tege2001-07-061-2/+2
| | | | (sparclite sdiv_qrnnd): Fix typo.
* Some excess backslashes from:Kevin Ryde2001-06-201-2/+2
| | | | | * longlong.h (count_leading_zeros) [pentium]: Decide to go with float method for p54.
* More of:Kevin Ryde2001-06-151-0/+1
| | | | | * longlong.h (count_leading_zeros) [pentium]: Decide to go with float method for p54.
* * longlong.h (count_leading_zeros) [pentium]: Decide to go with floatKevin Ryde2001-06-151-33/+48
| | | | | | method for p54. (count_leading_zeros) [alpha]: Add COUNT_LEADING_ZEROS_NEED_CLZ_TAB. (__clz_tab): Provide a prototype only if it's needed.
* * longlong.h (count_leading_zeros) [pentiumpro]: Work around a partialKevin Ryde2001-06-121-0/+18
| | | | register stall on gcc < 3.
* Add a couple of comments about the intel count_leading_zeros method.Kevin Ryde2001-03-231-1/+10
|