|
1 | 1 | # MOVSD 4-111 PAGE 1231 LINE 63970
|
2 |
| -:VMOVSD XmmReg1, vexVVVV_XmmReg, XmmReg2 is $(VEX_NDS) & $(VEX_LIG) & $(VEX_PRE_F2) & $(VEX_0F) & $(VEX_WIG) & vexVVVV_XmmReg & vexVVVV_XmmReg_Qb; byte=0x10; (XmmReg1 & XmmReg1_Qa & XmmReg1_Qb & YmmReg1) & (mod=0x3 & XmmReg2 & XmmReg2_Qa) |
| 2 | +:VMOVSD XmmReg1, vexVVVV_XmmReg, XmmReg2 is $(VEX_NDS) & $(VEX_LIG) & $(VEX_PRE_F2) & $(VEX_0F) & $(VEX_WIG) & vexVVVV_XmmReg; byte=0x10; XmmReg1 & YmmReg1 & (mod=0x3 & XmmReg2) |
3 | 3 | {
|
4 |
| - local tmpa:8 = XmmReg2_Qa; |
5 |
| - local tmpb:8 = vexVVVV_XmmReg_Qb; |
| 4 | + local tmpa:8 = XmmReg2[0,64]; |
| 5 | + local tmpb:8 = vexVVVV_XmmReg[64,64]; |
6 | 6 | YmmReg1 = 0;
|
7 |
| - XmmReg1_Qa = tmpa; |
8 |
| - XmmReg1_Qb = tmpb; |
| 7 | + XmmReg1[0,64] = tmpa; |
| 8 | + XmmReg1[64,64] = tmpb; |
9 | 9 | # TODO ZmmReg1 = zext(XmmReg1)
|
10 | 10 | }
|
11 | 11 |
|
12 | 12 | # MOVSD 4-111 PAGE 1231 LINE 63972
|
13 | 13 | :VMOVSD XmmReg1, m64 is $(VEX_NONE) & $(VEX_LIG) & $(VEX_PRE_F2) & $(VEX_0F) & $(VEX_WIG); byte=0x10; (XmmReg1 & YmmReg1) ... & m64
|
14 | 14 | {
|
15 |
| - local tmp:16 = zext(m64); |
16 |
| - YmmReg1 = zext(tmp); |
| 15 | + YmmReg1[0,64] = m64; |
| 16 | + YmmReg1[64,64] = 0; |
17 | 17 | # TODO ZmmReg1 = zext(XmmReg1)
|
18 | 18 | }
|
19 | 19 |
|
20 | 20 | # MOVSD 4-111 PAGE 1231 LINE 63974
|
21 |
| -:VMOVSD XmmReg2, vexVVVV_XmmReg, XmmReg1 is $(VEX_NDS) & $(VEX_LIG) & $(VEX_PRE_F2) & $(VEX_0F) & $(VEX_WIG) & vexVVVV_XmmReg & vexVVVV_XmmReg_Qb; byte=0x11; XmmReg1 & XmmReg1_Qa & (mod=0x3 & (XmmReg2 & XmmReg2_Qa & XmmReg2_Qb & YmmReg2)) |
| 21 | +:VMOVSD XmmReg2, vexVVVV_XmmReg, XmmReg1 is $(VEX_NDS) & $(VEX_LIG) & $(VEX_PRE_F2) & $(VEX_0F) & $(VEX_WIG) & vexVVVV_XmmReg; byte=0x11; XmmReg1 & (mod=0x3 & (XmmReg2 & YmmReg2)) |
22 | 22 | {
|
23 |
| - local tmpa:8 = XmmReg1_Qa; |
24 |
| - local tmpb:8 = vexVVVV_XmmReg_Qb; |
| 23 | + local tmpa:8 = XmmReg1[0,64]; |
| 24 | + local tmpb:8 = vexVVVV_XmmReg[64,64]; |
25 | 25 | YmmReg2 = 0;
|
26 |
| - XmmReg2_Qa = tmpa; |
27 |
| - XmmReg2_Qb = tmpb; |
| 26 | + XmmReg2[0,64] = tmpa; |
| 27 | + XmmReg2[64,64] = tmpb; |
28 | 28 | # TODO ZmmReg2 = zext(XmmReg2)
|
29 | 29 | }
|
30 | 30 |
|
31 | 31 | # MOVSD 4-111 PAGE 1231 LINE 63976
|
32 |
| -:VMOVSD m64, XmmReg1 is $(VEX_NONE) & $(VEX_LIG) & $(VEX_PRE_F2) & $(VEX_0F) & $(VEX_WIG); byte=0x11; (XmmReg1 & XmmReg1_Qa) ... & m64 |
| 32 | +:VMOVSD m64, XmmReg1 is $(VEX_NONE) & $(VEX_LIG) & $(VEX_PRE_F2) & $(VEX_0F) & $(VEX_WIG); byte=0x11; XmmReg1 ... & m64 |
33 | 33 | {
|
34 |
| - m64 = XmmReg1_Qa; |
| 34 | + m64 = XmmReg1[0,64]; |
35 | 35 | }
|
36 | 36 |
|
37 | 37 | # MOVUPS 4-130 PAGE 1250 LINE 64872
|
38 | 38 | :VMOVUPS XmmReg1, XmmReg2_m128 is $(VEX_NONE) & $(VEX_L128) & $(VEX_PRE_NONE) & $(VEX_0F) & $(VEX_WIG); byte=0x10; (XmmReg1 & YmmReg1) ... & XmmReg2_m128
|
39 | 39 | {
|
40 | 40 | local tmp:16 = XmmReg2_m128;
|
41 |
| - YmmReg1 = zext(tmp); |
| 41 | + YmmReg1[0,128] = tmp; |
| 42 | + YmmReg1[128,64] = 0; |
| 43 | + YmmReg1[192,64] = 0; |
42 | 44 | }
|
43 | 45 |
|
44 | 46 | # MOVUPS 4-130 PAGE 1250 LINE 64874
|
|
0 commit comments