Skip to content

Commit 6b81682

Browse files
GhidorahRexryanmkurtz
authored andcommitted
GT-3253: Corrected register definitions for the x86 rdrand instruction
(fixes NationalSecurityAgency#1169).
1 parent b12ebf9 commit 6b81682

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
define pcodeop rdrand;
22
define pcodeop rdrandIsValid;
3-
:RDRAND r16 is vexMode=0 & opsize=0 & byte=0x0f; byte=0xC7; r16 & reg_opcode=6 { r16 = rdrand(); CF=rdrandIsValid(); }
4-
:RDRAND r32 is vexMode=0 & opsize=1 & byte=0x0f; byte=0xC7; r32 & reg_opcode=6 { r32 = rdrand(); CF=rdrandIsValid(); }
5-
:RDRAND r64 is vexMode=0 & opsize=2 & $(REX_W) & byte=0x0f; byte=0xC7; r64 & reg_opcode=6 { r64 = rdrand(); CF=rdrandIsValid(); }
3+
:RDRAND rm16 is vexMode=0 & opsize=0 & byte=0x0f; byte=0xC7; (rm16 & reg_opcode=6 ...) { rm16 = rdrand(); CF=rdrandIsValid(); }
4+
:RDRAND rm32 is vexMode=0 & opsize=1 & byte=0x0f; byte=0xC7; (rm32 & reg_opcode=6 ...) { rm32 = rdrand(); CF=rdrandIsValid(); }
5+
:RDRAND rm64 is vexMode=0 & opsize=2 & $(REX_W) & byte=0x0f; byte=0xC7; (rm64 & reg_opcode=6 ...) { rm64 = rdrand(); CF=rdrandIsValid(); }
66

0 commit comments

Comments
 (0)