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 }}