Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Jun 2015 23:59:34 -0400
From:      Alexander Kabaev <kabaev@gmail.com>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        "freebsd-mips@freebsd.org" <freebsd-mips@freebsd.org>
Subject:   Re: [rfc] fix umul_ppmm() in our libgcc
Message-ID:  <20150617235934.3d2c4c95@kan>
In-Reply-To: <CAJ-Vmoncx=Qr_FY7qEPxK0j12_pGREG05qrk65QLk01Arf4RmQ@mail.gmail.com>
References:  <CAJ-Vmonsmu5dGtWKhJchzZfSsVUjtwEVSEij4u6kwk64E0ZOXw@mail.gmail.com> <20150616011832.146e0f0e@kan> <CAJ-Vmokm1anJUaZLEFpW=JpV5nec7CTuL1yPOJdZniQ53%2BArcQ@mail.gmail.com> <CAJ-Vmoncx=Qr_FY7qEPxK0j12_pGREG05qrk65QLk01Arf4RmQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/0HSCHw2_GhpySvTaZ6gGh2G
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Wed, 17 Jun 2015 19:57:35 -0700
Adrian Chadd <adrian@freebsd.org> wrote:

> Ok, so this:
>=20
> adrian@lucy-11i386:~/work/freebsd/head-embedded-2/src/contrib/gcc %
> svn diff longlong.h
> Index: longlong.h
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- longlong.h    (revision 284394)
> +++ longlong.h    (working copy)
> @@ -584,11 +584,11 @@
>=20
>  #if defined (__mips__) && W_TYPE_SIZE =3D=3D 32
>  #define umul_ppmm(w1, w0, u, v) \
> -  __asm__ ("multu %2,%3"                        \
> -       : "=3Dl" ((USItype) (w0)),                    \
> -         "=3Dh" ((USItype) (w1))                    \
> -       : "d" ((USItype) (u)),                    \
> -         "d" ((USItype) (v)))
> +    do {                                \
> +    UDItype __x =3D (UDItype) (USItype) (u) * (USItype) (v);        \
> +     w1 =3D __x >> 32;                        \
> +     w0 =3D __x;                            \
> +    } while (0)
>  #define UMUL_TIME 10
>  #define UDIV_TIME 100
>  #endif /* __mips__ */
>=20
>=20
> ?
>=20
>=20
>=20
> -a

Looks good to me.

--=20
Alexander Kabaev

--Sig_/0HSCHw2_GhpySvTaZ6gGh2G
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQJ8BAEBCgBmBQJVgkInXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRDNUY3RDk5NTk5QjY0MUUxM0M1MTU2OTEw
NzEzMjI5OTkyNzkyRTdFAAoJEAcTIpmSeS5++h4QAJGIEjyUtroOviLOqKPpn6JM
tmyzbyW1hJg45hNlYuNRZQjSLWCSul7W7ajtqLhdA/LZCoiGtSg7ACn3j0olaJK3
lPeevMJWFIavpZVA0yCrd19VeV2OvzlLdBdYsMgo5PkguQqDFMPAFZa/JEdl27Lp
sWIGsgWY1pQEjxWbhxIvxhCsQGfgTUU6ZLPU6o0tomKV50rev2lDWhuJ9uYXgGj4
wVy765UacjA8Vrl/fqhHacEuIJq/0KR8nt5o1jDFGg0WIuJUlHrxFxDvD7EPAz6r
ZdYsv7eA2/M2eFLHP2Ldmb5JBlW8ytOPxB4gndch6j6TF4H30OSs6jcBC4utl0wK
7VMFHzlnKLvwes7jFH8ke79A9L0M7ibhvSiNNcyiLmHIv99vpQ6O5u+jprDrBu+T
ab9gkY1nR33sWzkxF6Ue1gxSd7LnAPd2I6nnyHV3YMUp/2w7R9h20Ou4+aLQguu9
760jOBDRByK1n25dStT0cvNivZFNfbKbZjiTG/1dQyMSEonataZbWC9lzwyn10gi
P+PSIciHvAdv0h8qigw+m1tmFgG2RR+5CnlxlqsAxsmb3F2dkvL9LTYyfVf8l4YU
Mt0efIrkyCQTZlHzWuwXC04BoC2zFrQkf5G/1VcjiMnJvYQi9n7hgmk8TPDLNhrC
AphKJNzf2lFYLTsrUupX
=R2qq
-----END PGP SIGNATURE-----

--Sig_/0HSCHw2_GhpySvTaZ6gGh2G--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150617235934.3d2c4c95>