Merge remote-tracking branch 'origin/patch'

This commit is contained in:
Ryan Kurtz
2019-11-01 09:53:47 -04:00
2 changed files with 7 additions and 7 deletions
@@ -541,7 +541,7 @@ IMM16B: val is IMM_0_10_VLE & IMM_16_20_VLE [ val = (IMM_16_20_VLE << 11) |
}
:se_btsti RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=25 & BIT9_VLE=1 & RX_VLE & OIM5_VLE {
tmp:$(REGISTER_SIZE) = (RX_VLE >> OIM5_VLE) & 0x1;
tmp:$(REGISTER_SIZE) = (RX_VLE >> (0x1F - OIM5_VLE)) & 0x1;
cr0flags(tmp);
}
@@ -709,13 +709,13 @@ IMM16B: val is IMM_0_10_VLE & IMM_16_20_VLE [ val = (IMM_16_20_VLE << 11) |
}
:se_bclri RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=24 & BIT9_VLE=0 & RX_VLE & OIM5_VLE {
tmp:$(REGISTER_SIZE) = 1 << OIM5_VLE;
tmp:$(REGISTER_SIZE) = 0x80000000 >> OIM5_VLE;
tmp = ~tmp;
RX_VLE = RX_VLE & tmp;
}
:se_bgeni RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=24 & BIT9_VLE=1 & RX_VLE & OIM5_VLE {
RX_VLE = 1 << OIM5_VLE;
RX_VLE = 0x80000000 >> OIM5_VLE;
}
:se_bmaski RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=11 & BIT9_VLE=0 & RX_VLE & OIM5_VLE {
@@ -725,7 +725,7 @@ IMM16B: val is IMM_0_10_VLE & IMM_16_20_VLE [ val = (IMM_16_20_VLE << 11) |
}
:se_bseti RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=25 & BIT9_VLE=0 & RX_VLE & OIM5_VLE {
tmp:$(REGISTER_SIZE) = 1 << OIM5_VLE;
tmp:$(REGISTER_SIZE) = 0x80000000 >> OIM5_VLE;
RX_VLE = RX_VLE | tmp;
}
@@ -1,6 +1,6 @@
define pcodeop rdrand;
define pcodeop rdrandIsValid;
:RDRAND r16 is vexMode=0 & opsize=0 & byte=0x0f; byte=0xC7; r16 & reg_opcode=6 { r16 = rdrand(); CF=rdrandIsValid(); }
:RDRAND r32 is vexMode=0 & opsize=1 & byte=0x0f; byte=0xC7; r32 & reg_opcode=6 { r32 = rdrand(); CF=rdrandIsValid(); }
:RDRAND r64 is vexMode=0 & opsize=2 & $(REX_W) & byte=0x0f; byte=0xC7; r64 & reg_opcode=6 { r64 = rdrand(); CF=rdrandIsValid(); }
:RDRAND rm16 is vexMode=0 & opsize=0 & byte=0x0f; byte=0xC7; (rm16 & reg_opcode=6 ...) { rm16 = rdrand(); CF=rdrandIsValid(); }
:RDRAND rm32 is vexMode=0 & opsize=1 & byte=0x0f; byte=0xC7; (rm32 & reg_opcode=6 ...) { rm32 = rdrand(); CF=rdrandIsValid(); }
:RDRAND rm64 is vexMode=0 & opsize=2 & $(REX_W) & byte=0x0f; byte=0xC7; (rm64 & reg_opcode=6 ...) { rm64 = rdrand(); CF=rdrandIsValid(); }