golang.org/x/arch@v0.17.0/x86/x86avxgen/testdata/golden.txt (about)

     1  var _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  ======
    28  var _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  ======
    48  var _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  ======
    68  var _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  ======
   101  var _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  ======
   134  var _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  ======
   143  var _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  ======
   152  var _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  	}}