OSDN Git Service

Retry rdrand if the carry flag isn't valid.
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Jul 2010 13:33:04 +0000 (13:33 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Jul 2010 13:33:04 +0000 (13:33 +0000)
commit1d80f4016018789384b570fd4acf077f58c4abdc
tree8d5cb862e13763d843b42bd088ee3b83d8a7ed95
parent6e99c565a86a5c1ab7fbdf961320626e069e4905
Retry rdrand if the carry flag isn't valid.

gcc/

2010-07-07  H.J. Lu  <hongjiu.lu@intel.com>

PR target/44844
* config/i386/i386.md (rdrand<mode>): Changed to expand to
retry if the carry flag isn't valid.
(rdrand<mode>_1): New.

gcc/testsuite/

2010-07-07  H.J. Lu  <hongjiu.lu@intel.com>

PR target/44844
* gcc.target/i386/rdrand-1.c: Scan "jnc".
* gcc.target/i386/rdrand-2.c: Likewise.
* gcc.target/i386/rdrand-3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161910 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/rdrand-1.c
gcc/testsuite/gcc.target/i386/rdrand-2.c
gcc/testsuite/gcc.target/i386/rdrand-3.c