Date: Fri, 4 Oct 2013 10:23:27 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Mark R V Murray <mark@grondar.org> Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org, Mark Murray <markm@FreeBSD.org> Subject: Re: svn commit: r256042 - in projects/random_number_generator: share/examples/kld/random_adaptor sys/conf sys/dev/glxsb sys/dev/hifn sys/dev/random sys/dev/rndtest sys/dev/safe sys/dev/syscons sys/dev/... Message-ID: <20131004072327.GR41229@kib.kiev.ua> In-Reply-To: <BD962DAD-3105-4C1A-8509-64ED26F09D81@grondar.org> References: <201310040655.r946t6ZR038091@svn.freebsd.org> <20131004070521.GQ41229@kib.kiev.ua> <BD962DAD-3105-4C1A-8509-64ED26F09D81@grondar.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Lqx35L3UMnwj0UbW Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Oct 04, 2013 at 08:09:48AM +0100, Mark R V Murray wrote: >=20 > On 4 Oct 2013, at 08:05, Konstantin Belousov <kostikbel@gmail.com> wrote: >=20 > > On Fri, Oct 04, 2013 at 06:55:06AM +0000, Mark Murray wrote: > >> #ifdef __amd64__ > >> - ".byte\t0x48,0x0f,0xc7,0xf0\n\t" /* rdrand %rax */ > >> + "rdrand\t%%rax\n\t" > >> "jnc\t1f\n\t" > >> "movq\t%%rax,%1\n\t" > >> "movl\t$8,%%eax\n" > >> #else /* i386 */ > >> - ".byte\t0x0f,0xc7,0xf0\n\t" /* rdrand %eax */ > >> + "rdrand\t%%eax\n\t" > >> "jnc\t1f\n\t" > >> "movl\t%%eax,%1\n\t" > >> "movl\t$4,%%eax\n" > > This should break the build with the in-tree binutils, i.e. when gcc > > is used. The same for the chunks of the VIA asm. >=20 > This is likely a case of me getting it wrong, but I thought we were heade= d away from worrying about that? Or is that only in 11-current? If so I'll = revert that bit. >=20 I assure you about the infinite stream of complains if the build with the base gcc is broken on x86. It is not catched by tinderboxes, but people are fast to report. Also, if changing the .byte to mnemonic, it makes sense to loose the constraints and allow the compiler to generate direct store from rdrand to the target address. I.e., do something like this (not tested): rdrand %1 jnc 1f movl $8,%%eax 1: =09 --Lqx35L3UMnwj0UbW Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.21 (FreeBSD) iQIcBAEBAgAGBQJSTmzuAAoJEJDCuSvBvK1BFmAP/31KTzCldstO+erOsChL9S9k t7WHtzV/ReRurqXWeCfb9/B3b7YsFg5h1TVosrasoO/WsnBD9NOI2HaNFO6IG/Be ki6IyG5Jfh6oW47NkagCxQ3IGYSP25Xaw8i8azoSedN66xiv+diLy6GemGHCt0AK m8B2Pg0dtTxar6dR1r6HQwc/J+qYc/b42uSL0CdOEdeA0fVp6+6h4LKrEqwFv+7q xpppsD9FLrxDth4AhGrqT3s41lrqDimfhyu5+StDjQyLgzWWzC8riV4bp7Hj6pEu y97XPoXwLEbOmAGYgm8Opi+TqKKx2L/fn+vgW1UEmhizeTpsUA/5NnGRMeKHjVGP 9AhecalXNh/HrI3ARY8FB+AF8TaGWJq/0nUwU4eZArzOdWu67Rel9PbDX4LBrYZo SlLo5iZEp3KmVA3yOU+gaAD8lolAEUq8W1o3SPBnX6YPd27leEjysOiABBdsB5f/ iDTxcsjQAvfjJdinKG7BhBe9vj5A/oSOFRYfAJN4DFHWVhwuwI7DJSyvSHdIn+Hr JQIPX9NbKFzb/XXMhTccJoRz/BJCSDVfPho4Lo3jDW+UoQcQ/Ynh5Aqm2FVbm3QD ELnH6u6mSGsySVWTbXrYXYNBpHN8F7iMJBsHHbYczWxBvlFIDpF8eMPj/B0WZRQu Z+SoDAlHLE8MEbRHn8Tj =O/Bo -----END PGP SIGNATURE----- --Lqx35L3UMnwj0UbW--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131004072327.GR41229>