[Gmp-commit] /var/hg/gmp: Define maddld, maddhdu, popcntd, and divdeu.

mercurial at gmplib.org mercurial at gmplib.org
Mon Jan 1 20:30:11 UTC 2018


details:   /var/hg/gmp/rev/3b4810b2c0a0
changeset: 17524:3b4810b2c0a0
user:      Torbjorn Granlund <tg at gmplib.org>
date:      Mon Jan 01 21:30:04 2018 +0100
description:
Define maddld, maddhdu, popcntd, and divdeu.

diffstat:

 mpn/powerpc32/powerpc-defs.m4 |  16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

diffs (32 lines):

diff -r dc62a57aeb67 -r 3b4810b2c0a0 mpn/powerpc32/powerpc-defs.m4
--- a/mpn/powerpc32/powerpc-defs.m4	Mon Jan 01 21:25:34 2018 +0100
+++ b/mpn/powerpc32/powerpc-defs.m4	Mon Jan 01 21:30:04 2018 +0100
@@ -2,7 +2,7 @@
 
 dnl  m4 macros for PowerPC assembler (32 and 64 bit).
 
-dnl  Copyright 2000, 2002, 2003 Free Software Foundation, Inc.
+dnl  Copyright 2000, 2002, 2003, 2017 Free Software Foundation, Inc.
 
 dnl  This file is part of the GNU MP Library.
 dnl
@@ -100,5 +100,19 @@
 
 define(ASSERT_counter,1)
 
+dnl  Manually assemble some new instructions
+dnl
+
+define(`maddld',m4_assert_numargs(4)`dnl
+.long eval(0x10000033+m4_lshift($1,21)+m4_lshift($2,16)+m4_lshift($3,11)+m4_lshift($4,6))')
+
+define(`maddhdu',m4_assert_numargs(4)`dnl
+.long eval(0x10000031+m4_lshift($1,21)+m4_lshift($2,16)+m4_lshift($3,11)+m4_lshift($4,6))')
+
+define(`popcntd',m4_assert_numargs(2)`dnl
+.long eval(0x7c0003f4+m4_lshift($2,21)+m4_lshift($1,16))')
+
+define(`divdeu',m4_assert_numargs(3)`dnl
+.long eval(0x7c000312+m4_lshift($1,21)+m4_lshift($2,16)+m4_lshift($3,11))')
 
 divert


More information about the gmp-commit mailing list