1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268
|
# Check i386 AVX2 instructions
.allow_index_reg
.text
_start:
# Tests for op mem256, mask, ymm
# Tests for op ymm, mask, mem256
vpmaskmovd (%ecx),%ymm4,%ymm6
vpmaskmovd %ymm4,%ymm6,(%ecx)
vpmaskmovq (%ecx),%ymm4,%ymm6
vpmaskmovq %ymm4,%ymm6,(%ecx)
# Tests for op imm8, ymm/mem256, ymm
vpermpd $7,%ymm6,%ymm2
vpermpd $7,(%ecx),%ymm6
vpermq $7,%ymm6,%ymm2
vpermq $7,(%ecx),%ymm6
# Tests for op ymm/mem256, ymm, ymm
vpermd %ymm4,%ymm6,%ymm2
vpermd (%ecx),%ymm6,%ymm2
vpermps %ymm4,%ymm6,%ymm2
vpermps (%ecx),%ymm6,%ymm2
vpsllvd %ymm4,%ymm6,%ymm2
vpsllvd (%ecx),%ymm6,%ymm2
vpsllvq %ymm4,%ymm6,%ymm2
vpsllvq (%ecx),%ymm6,%ymm2
vpsravd %ymm4,%ymm6,%ymm2
vpsravd (%ecx),%ymm6,%ymm2
vpsrlvd %ymm4,%ymm6,%ymm2
vpsrlvd (%ecx),%ymm6,%ymm2
vpsrlvq %ymm4,%ymm6,%ymm2
vpsrlvq (%ecx),%ymm6,%ymm2
# Tests for op mem256, ymm
vmovntdqa (%ecx),%ymm4
# Tests for op ymm, xmm
vbroadcastsd %xmm4,%ymm6
vbroadcastss %xmm4,%ymm6
# Tests for op imm8, ymm/mem256, ymm, ymm
vpblendd $7,%ymm4,%ymm6,%ymm2
vpblendd $7,(%ecx),%ymm6,%ymm2
vperm2i128 $7,%ymm4,%ymm6,%ymm2
vperm2i128 $7,(%ecx),%ymm6,%ymm2
# Tests for op imm8, xmm/mem128, ymm, ymm
vinserti128 $7,%xmm4,%ymm4,%ymm6
vinserti128 $7,(%ecx),%ymm4,%ymm6
# Tests for op mem128, ymm
vbroadcasti128 (%ecx),%ymm4
# Tests for op xmm/mem128, xmm, xmm
vpsllvd %xmm4,%xmm6,%xmm2
vpsllvd (%ecx),%xmm6,%xmm7
vpsllvq %xmm4,%xmm6,%xmm2
vpsllvq (%ecx),%xmm6,%xmm7
vpsravd %xmm4,%xmm6,%xmm2
vpsravd (%ecx),%xmm6,%xmm7
vpsrlvd %xmm4,%xmm6,%xmm2
vpsrlvd (%ecx),%xmm6,%xmm7
vpsrlvq %xmm4,%xmm6,%xmm2
vpsrlvq (%ecx),%xmm6,%xmm7
# Tests for op mem128, xmm, xmm
vpmaskmovd (%ecx),%xmm4,%xmm6
vpmaskmovq (%ecx),%xmm4,%xmm6
# Tests for op imm8, ymm, xmm128/mem
vextracti128 $7,%ymm4,%xmm6
vextracti128 $7,%ymm4,(%ecx)
# Tests for op xmm, xmm, mem128
vpmaskmovd %xmm4,%xmm6,(%ecx)
vpmaskmovq %xmm4,%xmm6,(%ecx)
# Tests for op imm8, xmm/mem128, xmm, xmm
vpblendd $7,%xmm4,%xmm6,%xmm2
vpblendd $7,(%ecx),%xmm6,%xmm2
# Tests for op xmm/mem64, xmm
vpbroadcastq %xmm4,%xmm6
vpbroadcastq (%ecx),%xmm4
# Tests for op xmm/mem64, ymm
vpbroadcastq %xmm4,%ymm6
vpbroadcastq (%ecx),%ymm4
# Tests for op xmm/mem32, ymm
vpbroadcastd %xmm4,%ymm4
vpbroadcastd (%ecx),%ymm4
# Tests for op xmm/mem32, xmm
vpbroadcastd %xmm4,%xmm6
vpbroadcastd (%ecx),%xmm4
# Tests for op xmm/m16, xmm
vpbroadcastw %xmm4,%xmm6
vpbroadcastw (%ecx),%xmm4
# Tests for op xmm/m16, ymm
vpbroadcastw %xmm4,%ymm6
vpbroadcastw (%ecx),%ymm4
# Tests for op xmm/m8, xmm
vpbroadcastb %xmm4,%xmm6
vpbroadcastb (%ecx),%xmm4
# Tests for op xmm/m8, ymm
vpbroadcastb %xmm4,%ymm6
vpbroadcastb (%ecx),%ymm4
# Tests for op xmm, xmm
vbroadcastss %xmm4,%xmm6
.intel_syntax noprefix
# Tests for op mem256, mask, ymm
# Tests for op ymm, mask, mem256
vpmaskmovd ymm6,ymm4,YMMWORD PTR [ecx]
vpmaskmovd YMMWORD PTR [ecx],ymm6,ymm4
vpmaskmovd ymm6,ymm4,[ecx]
vpmaskmovd [ecx],ymm6,ymm4
vpmaskmovq ymm6,ymm4,YMMWORD PTR [ecx]
vpmaskmovq YMMWORD PTR [ecx],ymm6,ymm4
vpmaskmovq ymm6,ymm4,[ecx]
vpmaskmovq [ecx],ymm6,ymm4
# Tests for op imm8, ymm/mem256, ymm
vpermpd ymm2,ymm6,7
vpermpd ymm6,YMMWORD PTR [ecx],7
vpermpd ymm6,[ecx],7
vpermq ymm2,ymm6,7
vpermq ymm6,YMMWORD PTR [ecx],7
vpermq ymm6,[ecx],7
# Tests for op ymm/mem256, ymm, ymm
vpermd ymm2,ymm6,ymm4
vpermd ymm2,ymm6,YMMWORD PTR [ecx]
vpermd ymm2,ymm6,[ecx]
vpermps ymm2,ymm6,ymm4
vpermps ymm2,ymm6,YMMWORD PTR [ecx]
vpermps ymm2,ymm6,[ecx]
vpsllvd ymm2,ymm6,ymm4
vpsllvd ymm2,ymm6,YMMWORD PTR [ecx]
vpsllvd ymm2,ymm6,[ecx]
vpsllvq ymm2,ymm6,ymm4
vpsllvq ymm2,ymm6,YMMWORD PTR [ecx]
vpsllvq ymm2,ymm6,[ecx]
vpsravd ymm2,ymm6,ymm4
vpsravd ymm2,ymm6,YMMWORD PTR [ecx]
vpsravd ymm2,ymm6,[ecx]
vpsrlvd ymm2,ymm6,ymm4
vpsrlvd ymm2,ymm6,YMMWORD PTR [ecx]
vpsrlvd ymm2,ymm6,[ecx]
vpsrlvq ymm2,ymm6,ymm4
vpsrlvq ymm2,ymm6,YMMWORD PTR [ecx]
vpsrlvq ymm2,ymm6,[ecx]
# Tests for op mem256, ymm
vmovntdqa ymm4,YMMWORD PTR [ecx]
vmovntdqa ymm4,[ecx]
# Tests for op ymm, xmm
vbroadcastsd ymm6,xmm4
vbroadcastss ymm6,xmm4
# Tests for op imm8, ymm/mem256, ymm, ymm
vpblendd ymm2,ymm6,ymm4,7
vpblendd ymm2,ymm6,YMMWORD PTR [ecx],7
vpblendd ymm2,ymm6,[ecx],7
vperm2i128 ymm2,ymm6,ymm4,7
vperm2i128 ymm2,ymm6,YMMWORD PTR [ecx],7
vperm2i128 ymm2,ymm6,[ecx],7
# Tests for op imm8, xmm/mem128, ymm, ymm
vinserti128 ymm6,ymm4,xmm4,7
vinserti128 ymm6,ymm4,XMMWORD PTR [ecx],7
vinserti128 ymm6,ymm4,[ecx],7
# Tests for op mem128, ymm
vbroadcasti128 ymm4,XMMWORD PTR [ecx]
vbroadcasti128 ymm4,[ecx]
# Tests for op xmm/mem128, xmm, xmm
vpsllvd xmm2,xmm6,xmm4
vpsllvd xmm7,xmm6,XMMWORD PTR [ecx]
vpsllvd xmm7,xmm6,[ecx]
vpsllvq xmm2,xmm6,xmm4
vpsllvq xmm7,xmm6,XMMWORD PTR [ecx]
vpsllvq xmm7,xmm6,[ecx]
vpsravd xmm2,xmm6,xmm4
vpsravd xmm7,xmm6,XMMWORD PTR [ecx]
vpsravd xmm7,xmm6,[ecx]
vpsrlvd xmm2,xmm6,xmm4
vpsrlvd xmm7,xmm6,XMMWORD PTR [ecx]
vpsrlvd xmm7,xmm6,[ecx]
vpsrlvq xmm2,xmm6,xmm4
vpsrlvq xmm7,xmm6,XMMWORD PTR [ecx]
vpsrlvq xmm7,xmm6,[ecx]
# Tests for op mem128, xmm, xmm
vpmaskmovd xmm6,xmm4,XMMWORD PTR [ecx]
vpmaskmovd xmm6,xmm4,[ecx]
vpmaskmovq xmm6,xmm4,XMMWORD PTR [ecx]
vpmaskmovq xmm6,xmm4,[ecx]
# Tests for op imm8, ymm, xmm128/mem
vextracti128 xmm6,ymm4,7
vextracti128 XMMWORD PTR [ecx],ymm4,7
vextracti128 [ecx],ymm4,7
# Tests for op xmm, xmm, mem128
vpmaskmovd XMMWORD PTR [ecx],xmm6,xmm4
vpmaskmovd [ecx],xmm6,xmm4
vpmaskmovq XMMWORD PTR [ecx],xmm6,xmm4
vpmaskmovq [ecx],xmm6,xmm4
# Tests for op imm8, xmm/mem128, xmm, xmm
vpblendd xmm2,xmm6,xmm4,7
vpblendd xmm2,xmm6,XMMWORD PTR [ecx],7
vpblendd xmm2,xmm6,[ecx],7
# Tests for op xmm/mem64, xmm
vpbroadcastq xmm6,xmm4
vpbroadcastq xmm4,QWORD PTR [ecx]
vpbroadcastq xmm4,[ecx]
# Tests for op xmm/mem64, ymm
vpbroadcastq ymm6,xmm4
vpbroadcastq ymm4,QWORD PTR [ecx]
vpbroadcastq ymm4,[ecx]
# Tests for op xmm/mem32, ymm
vpbroadcastd ymm4,xmm4
vpbroadcastd ymm4,DWORD PTR [ecx]
vpbroadcastd ymm4,[ecx]
# Tests for op xmm/mem32, xmm
vpbroadcastd xmm6,xmm4
vpbroadcastd xmm4,DWORD PTR [ecx]
vpbroadcastd xmm4,[ecx]
# Tests for op xmm/m16, xmm
vpbroadcastw xmm6,xmm4
vpbroadcastw xmm4,WORD PTR [ecx]
vpbroadcastw xmm4,[ecx]
# Tests for op xmm/m16, ymm
vpbroadcastw ymm6,xmm4
vpbroadcastw ymm4,WORD PTR [ecx]
vpbroadcastw ymm4,[ecx]
# Tests for op xmm/m8, xmm
vpbroadcastb xmm6,xmm4
vpbroadcastb xmm4,BYTE PTR [ecx]
vpbroadcastb xmm4,[ecx]
# Tests for op xmm/m8, ymm
vpbroadcastb ymm6,xmm4
vpbroadcastb ymm4,BYTE PTR [ecx]
vpbroadcastb ymm4,[ecx]
# Tests for op xmm, xmm
vbroadcastss xmm6,xmm4
|