X86: Make rdcr use merge and the mov to control register instructions use the right operand size.

This commit is contained in:
Gabe Black 2009-02-25 10:21:08 -08:00
parent 9842f1ca9d
commit 68300cfb8c
2 changed files with 3 additions and 1 deletions

View file

@ -192,10 +192,12 @@ def macroop MOVZX_W_R_P {
}; };
def macroop MOV_C_R { def macroop MOV_C_R {
.adjust_env maxOsz
wrcr reg, regm wrcr reg, regm
}; };
def macroop MOV_R_C { def macroop MOV_R_C {
.adjust_env maxOsz
rdcr reg, regm rdcr reg, regm
}; };

View file

@ -967,7 +967,7 @@ let {{
if (src1 == 1 || (src1 > 4 && src1 < 8) || (src1 > 8)) { if (src1 == 1 || (src1 > 4 && src1 < 8) || (src1 > 8)) {
fault = new InvalidOpcode(); fault = new InvalidOpcode();
} else { } else {
DestReg = ControlSrc1; DestReg = merge(DestReg, ControlSrc1, dataSize);
} }
''' '''