...

Text file src/golang.org/x/arch/x86/x86avxgen/testdata/golden.txt

Documentation: golang.org/x/arch/x86/x86avxgen/testdata

     1var _yvmovsd = []ytab{
     2	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Yxr, Yxr}},
     3	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Ym}},
     4	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yxr}},
     5	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxr, Yxr, Yxr}},
     6	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, YxrEvex, YxrEvex}},
     7	{zcase: Zevex_r_v_k_rm, zoffset: 3, args: argList{YxrEvex, YxrEvex, Yknot0, YxrEvex}},
     8	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, Ym}},
     9	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, Ym}},
    10	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Ym, YxrEvex}},
    11	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Ym, Yknot0, YxrEvex}},
    12	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxrEvex, YxrEvex, YxrEvex}},
    13	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxrEvex, YxrEvex, Yknot0, YxrEvex}},
    14}
    15----
    16	{as: AVMOVSD, ytab: _yvmovsd, prefix: Pavx, op: opBytes{
    17		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x11,
    18		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x11,
    19		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x10,
    20		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x10,
    21		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexZeroingEnabled, 0x11,
    22		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8, 0x11,
    23		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexZeroingEnabled, 0x10,
    24		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexZeroingEnabled, 0x10,
    25	}}
    26
    27======
    28var _yvaddpd = []ytab{
    29	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
    30	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr, Yyr}},
    31	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
    32	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
    33	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
    34	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
    35	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
    36	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
    37}
    38----
    39	{as: AVADDPD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
    40		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x58,
    41		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x58,
    42		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x58,
    43		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x58,
    44		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x58,
    45	}}
    46
    47======
    48var _yvcmppd = []ytab{
    49	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yxr, Yxr}},
    50	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yym, Yyr, Yyr}},
    51	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr, Yk}},
    52	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yzr, Yknot0, Yk}},
    53	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex, Yk}},
    54	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, Yknot0, Yk}},
    55	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex, Yk}},
    56	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YymEvex, YyrEvex, Yknot0, Yk}},
    57}
    58----
    59	{as: AVCMPPD, ytab: _yvcmppd, prefix: Pavx, op: opBytes{
    60		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xC2,
    61		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xC2,
    62		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled, 0xC2,
    63		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8, 0xC2,
    64		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8, 0xC2,
    65	}}
    66
    67======
    68var _yvmovapd = []ytab{
    69	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Yxm}},
    70	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yyr, Yym}},
    71	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
    72	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr}},
    73	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, YxmEvex}},
    74	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxmEvex}},
    75	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YyrEvex, YymEvex}},
    76	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, YymEvex}},
    77	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{Yzr, Yzm}},
    78	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{Yzr, Yknot0, Yzm}},
    79	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
    80	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
    81	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex}},
    82	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YyrEvex}},
    83	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr}},
    84	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, Yzr}},
    85}
    86----
    87	{as: AVMOVAPD, ytab: _yvmovapd, prefix: Pavx, op: opBytes{
    88		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x29,
    89		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x29,
    90		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x28,
    91		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x28,
    92		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x29,
    93		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x29,
    94		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x29,
    95		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x28,
    96		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x28,
    97		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x28,
    98	}}
    99
   100======
   101var _yvpslld = []ytab{
   102	{zcase: Zvex_i_rm_vo, zoffset: 3, args: argList{Yu8, Yxr, Yxr}},
   103	{zcase: Zvex_i_rm_vo, zoffset: 3, args: argList{Yu8, Yyr, Yyr}},
   104	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
   105	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yyr, Yyr}},
   106	{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex}},
   107	{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, YxmEvex, Yknot0, YxrEvex}},
   108	{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
   109	{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
   110	{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
   111	{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, Yzm, Yknot0, Yzr}},
   112	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
   113	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
   114	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex, YyrEvex}},
   115	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YyrEvex, Yknot0, YyrEvex}},
   116	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, Yzr, Yzr}},
   117	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, Yzr, Yknot0, Yzr}},
   118}
   119----
   120	{as: AVPSLLW, ytab: _yvpslld, prefix: Pavx, op: opBytes{
   121		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x71, 06,
   122		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x71, 06,
   123		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF1,
   124		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF1,
   125		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x71, 06,
   126		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x71, 06,
   127		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x71, 06,
   128		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF1,
   129		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF1,
   130		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF1,
   131	}}
   132
   133======
   134var _yvzeroall = []ytab{
   135	{zcase: Zvex, zoffset: 2, args: argList{}},
   136}
   137----
   138	{as: AVZEROALL, ytab: _yvzeroall, prefix: Pavx, op: opBytes{
   139		avxEscape | vex256 | vex0F | vexW0, 0x77,
   140	}}
   141
   142======
   143var _yvzeroall = []ytab{
   144	{zcase: Zvex, zoffset: 2, args: argList{}},
   145}
   146----
   147	{as: AVZEROUPPER, ytab: _yvzeroall, prefix: Pavx, op: opBytes{
   148		avxEscape | vex128 | vex0F | vexW0, 0x77,
   149	}}
   150
   151======
   152var _yvcomisd = []ytab{
   153	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
   154	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YxmEvex, YxrEvex}},
   155}
   156----
   157	{as: AVUCOMISD, ytab: _yvcomisd, prefix: Pavx, op: opBytes{
   158		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x2E,
   159		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8 | evexSaeEnabled, 0x2E,
   160	}}

View as plain text