Added dataflow info to instruction tests. It is not yet checked.
[jitcs.git] / tests / x86 / x86_simd_cvt.ins
blobb2b8e3a2eccdeb39fdc8b63882447d1631120911
1 | for X = [SI2SS, SI2SD] do
2   CVT$(X){_XW} XMM1, EDX                {|XMM1/rw,RDX/r}
3   CVT$(X){_XM32} XMM1, <dword> [RAX]    {|XMM1/rw,RAX/r}
4 64:  CVT$(X){_XD} XMM1, RDX             {|XMM1/rw,RDX/r}
5 64:  CVT$(X){_XM64} XMM1, <qword> [RAX] {|XMM1/rw,RAX/r}
6 | endfor
7 | for X = [SS2SI, TSS2SI] do
8   CVT$(X){_WX} EDX, XMM2                {|XMM1/r,RDX/w}
9   CVT$(X){_WM32} EDX, [RAX]             {|RDX/w,RAX/r}
10 64:  CVT$(X){_DX} RDX, XMM2             {|XMM1/r,RDX/w}
11 64:  CVT$(X){_DM32} RDX, [RAX]          {|RDX/w,RAX/r}
12 | endfor
13 | for X = [SD2SI, TSD2SI] do
14   CVT$(X){_WX} EDX, XMM2                {|XMM1/r,RDX/w}
15   CVT$(X){_WM64} EDX, [RAX]             {|RDX/w,RAX/r}
16 64:  CVT$(X){_DX} RDX, XMM2             {|XMM1/r,RDX/w}
17 64:  CVT$(X){_DM64} RDX, [RAX]          {|RDX/w,RAX/r}
18 | endfor
19   CVTSS2SD{_XX}   XMM1, XMM2            {|XMM1/rw,XMM2/r}
20   CVTSS2SD{_XM32} XMM1, [RAX]           {|XMM1/rw,RAX/r}
21   CVTSD2SS{_XX}   XMM1, XMM2            {|XMM1/rw,XMM2/r}
22   CVTSD2SS{_XM64} XMM1, [RAX]           {|XMM1/rw,RAX/r}
25 | for X = [DQ2PS, PS2DQ, TPS2DQ] do
26   CVT$(X){_XX} XMM1, XMM2               {|XMM1/w,XMM2/r}
27   CVT$(X){_XM} XMM1, [RAX]              {|XMM1/w,RAX/r}
28 | endfor
29 | for X = [PD2DQ, TPD2DQ, PD2PS] do
30   CVT$(X){_XX} XMM1, XMM2               {|XMM1/w,XMM2/r}
31   CVT$(X){_XM128} XMM1, [RAX]           {|XMM1/w,RAX/r}
32 | endfor
33 | for X = [PS2PD, DQ2PD] do
34   CVT$(X){_XX} XMM1, XMM2               {|XMM1/w,XMM2/r}
35   CVT$(X){_XM64} XMM1, [RAX]            {|XMM1/w,RAX/r}
36 | endfor
38 | for X = [USWB, SSWB, SSDW, USDW] do
39   PACK$(X){_XX} XMM1, XMM2              {|XMM1/rw,XMM2/r}
40   PACK$(X){_XM} XMM1, [RAX]             {|XMM1/rw,RAX/r}
41 | endfor
42 | for X = [BW, WD, DQ] do
43   PMOVSX$(X){_XX} XMM1, XMM2            {|XMM1/w,XMM2/r}
44   PMOVSX$(X){_XM64} XMM1, [RAX]         {|XMM1/w,RAX/r}
45   PMOVZX$(X){_XX} XMM1, XMM2            {|XMM1/w,XMM2/r}
46   PMOVZX$(X){_XM64} XMM1, [RAX]         {|XMM1/w,RAX/r}
47 | endfor
48 | for X = [BD, WQ] do
49   PMOVSX$(X){_XX} XMM1, XMM2            {|XMM1/w,XMM2/r}
50   PMOVSX$(X){_XM32} XMM1, [RAX]         {|XMM1/w,RAX/r}
51   PMOVZX$(X){_XX} XMM1, XMM2            {|XMM1/w,XMM2/r}
52   PMOVZX$(X){_XM32} XMM1, [RAX]         {|XMM1/w,RAX/r}
53 | endfor
54 | for X = [BQ] do
55   PMOVSX$(X){_XX} XMM1, XMM2            {|XMM1/w,XMM2/r}
56   PMOVSX$(X){_XM16} XMM1, [RAX]         {|XMM1/w,RAX/r}
57   PMOVZX$(X){_XX} XMM1, XMM2            {|XMM1/w,XMM2/r}
58   PMOVZX$(X){_XM16} XMM1, [RAX]         {|XMM1/w,RAX/r}
59 | endfor