OLD | NEW |
(Empty) | |
| 1 BITS: 64 |
| 2 OUTCOME: invalid |
| 3 |
| 4 # Test SSE instructions |
| 5 # SSE |
| 6 # addps %xmm0,%xmm1 |
| 7 asm: addps %xmm0,%xmm1 |
| 8 hex: 0f 58 c8 |
| 9 |
| 10 # subss %xmm0,%xmm1 |
| 11 asm: subss %xmm0,%xmm1 |
| 12 hex: f3 0f 5c c8 |
| 13 |
| 14 # pmaxsw %xmm0,%xmm1 |
| 15 asm: pmaxsw %xmm0,%xmm1 |
| 16 hex: 66 0f ee c8 |
| 17 |
| 18 # pminub %xmm0,%xmm1 |
| 19 asm: pminub %xmm0,%xmm1 |
| 20 hex: 66 0f da c8 |
| 21 |
| 22 # pinsrw $0x1,%eax,%xmm0 |
| 23 asm: pinsrw $0x1,%eax,%xmm0 |
| 24 hex: 66 0f c4 c0 01 |
| 25 |
| 26 # pmovmskb %xmm0,%eax |
| 27 asm: pmovmskb %xmm0,%eax |
| 28 hex: 66 0f d7 c0 |
| 29 |
| 30 # pmulhuw %xmm0,%xmm1 |
| 31 asm: pmulhuw %xmm0,%xmm1 |
| 32 hex: 66 0f e4 c8 |
| 33 |
| 34 # comiss %xmm0,%xmm1 |
| 35 asm: comiss %xmm0,%xmm1 |
| 36 hex: 0f 2f c8 |
| 37 |
| 38 |
| 39 # Nop for bundle alignment. |
| 40 asm: nop |
| 41 hex: 90 |
| 42 |
| 43 |
| 44 # cvtps2pi %xmm1,%mm0 |
| 45 asm: cvtps2pi %xmm1,%mm0 |
| 46 hex: 0f 2d c1 |
| 47 |
| 48 # ldmxcsr (%rsp) |
| 49 asm: ldmxcsr (%rsp) |
| 50 hex: 0f ae 14 24 |
| 51 |
| 52 # stmxcsr (%rsp) |
| 53 asm: stmxcsr (%rsp) |
| 54 hex: 0f ae 1c 24 |
| 55 |
| 56 # movaps %xmm0,%xmm1 |
| 57 asm: movaps %xmm0,%xmm1 |
| 58 hex: 0f 28 c8 |
| 59 |
| 60 # movmskps %xmm1,%eax |
| 61 asm: movmskps %xmm1,%eax |
| 62 hex: 0f 50 c1 |
| 63 |
| 64 # movntps %xmm0,(%rsp) |
| 65 asm: movntps %xmm0,(%rsp) |
| 66 hex: 0f 2b 04 24 |
| 67 |
| 68 # shufps $0x1,%xmm0,%xmm1 |
| 69 asm: shufps $0x1,%xmm0,%xmm1 |
| 70 hex: 0f c6 c8 01 |
| 71 |
| 72 # unpcklps %xmm0,%xmm1 |
| 73 asm: unpcklps %xmm0,%xmm1 |
| 74 hex: 0f 14 c8 |
| 75 |
| 76 # sfence |
| 77 asm: sfence |
| 78 hex: 0f ae f8 |
| 79 |
| 80 # prefetcht2 (%rsp) |
| 81 asm: prefetcht2 (%rsp) |
| 82 hex: 0f 18 1c 24 |
| 83 nc_out: [at +1] Bad basic block alignment. |
| 84 |
| 85 |
| 86 # SSE2 |
| 87 # addpd %xmm0,%xmm1 |
| 88 asm: addpd %xmm0,%xmm1 |
| 89 hex: 66 0f 58 c8 |
| 90 |
| 91 # maxsd %xmm0,%xmm1 |
| 92 asm: maxsd %xmm0,%xmm1 |
| 93 hex: f2 0f 5f c8 |
| 94 |
| 95 # cmpeqpd %xmm0,%xmm1 |
| 96 asm: cmpeqpd %xmm0,%xmm1 |
| 97 hex: 66 0f c2 c8 00 |
| 98 |
| 99 # comisd %xmm0,%xmm1 |
| 100 asm: comisd %xmm0,%xmm1 |
| 101 hex: 66 0f 2f c8 |
| 102 |
| 103 # cvtpd2dq %xmm0,%xmm1 |
| 104 asm: cvtpd2dq %xmm0,%xmm1 |
| 105 hex: f2 0f e6 c8 |
| 106 |
| 107 # movapd %xmm0,%xmm1 |
| 108 asm: movapd %xmm0,%xmm1 |
| 109 hex: 66 0f 28 c8 |
| 110 |
| 111 # movmskpd %xmm0,%eax |
| 112 asm: movmskpd %xmm0,%eax |
| 113 hex: 66 0f 50 c0 |
| 114 |
| 115 # shufpd $0x1,%xmm0,%xmm1 |
| 116 asm: shufpd $0x1,%xmm0,%xmm1 |
| 117 hex: 66 0f c6 c8 01 |
| 118 |
| 119 # unpckhpd %xmm0,%xmm1 |
| 120 asm: unpckhpd %xmm0,%xmm1 |
| 121 hex: 66 0f 15 c8 |
| 122 |
| 123 # movdq2q %xmm0,%mm1 |
| 124 asm: movdq2q %xmm0,%mm1 |
| 125 hex: f2 0f d6 c8 |
| 126 |
| 127 # movdqa %xmm0,%xmm1 |
| 128 asm: movdqa %xmm0,%xmm1 |
| 129 hex: 66 0f 6f c8 |
| 130 |
| 131 # paddq %xmm0,%xmm1 |
| 132 asm: paddq %xmm0,%xmm1 |
| 133 hex: 66 0f d4 c8 |
| 134 |
| 135 # psrldq $0x1,%xmm0 |
| 136 asm: psrldq $0x1,%xmm0 |
| 137 hex: 66 0f 73 d8 01 |
| 138 |
| 139 # pshufd $0x1,%xmm0,%xmm1 |
| 140 asm: pshufd $0x1,%xmm0,%xmm1 |
| 141 hex: 66 0f 70 c8 01 |
| 142 |
| 143 |
| 144 # Nop for bundle alignment. |
| 145 asm: nop |
| 146 hex: 90 |
| 147 |
| 148 |
| 149 # punpcklqdq %xmm0,%xmm1 |
| 150 asm: punpcklqdq %xmm0,%xmm1 |
| 151 hex: 66 0f 6c c8 |
| 152 |
| 153 |
| 154 # SSE 3 |
| 155 # addsubpd %xmm0,%xmm1 |
| 156 asm: addsubpd %xmm0,%xmm1 |
| 157 hex: 66 0f d0 c8 |
| 158 |
| 159 # haddps %xmm0,%xmm1 |
| 160 asm: haddps %xmm0,%xmm1 |
| 161 hex: f2 0f 7c c8 |
| 162 |
| 163 # movshdup %xmm0,%xmm1 |
| 164 asm: movshdup %xmm0,%xmm1 |
| 165 hex: f3 0f 16 c8 |
| 166 |
| 167 |
| 168 # SSSE3 |
| 169 # psignb %xmm0,%xmm1 |
| 170 asm: psignb %xmm0,%xmm1 |
| 171 hex: 66 0f 38 08 c8 |
| 172 |
| 173 # pshufb %xmm0,%xmm1 |
| 174 asm: pshufb %xmm0,%xmm1 |
| 175 hex: 66 0f 38 00 c8 |
| 176 |
| 177 # pmaddubsw %xmm0,%xmm1 |
| 178 asm: pmaddubsw %xmm0,%xmm1 |
| 179 hex: 66 0f 38 04 c8 |
| 180 |
| 181 # phaddd %xmm0,%xmm1 |
| 182 asm: phaddd %xmm0,%xmm1 |
| 183 hex: 66 0f 38 02 c8 |
| 184 nc_out: [at +1] Bad basic block alignment. |
| 185 |
| 186 # palignr $0x1,%xmm0,%xmm1 |
| 187 asm: palignr $0x1,%xmm0,%xmm1 |
| 188 hex: 66 0f 3a 0f c8 01 |
| 189 |
| 190 |
| 191 # SSE41 |
| 192 # mpsadbw $0x1,%xmm0,%xmm1 |
| 193 asm: mpsadbw $0x1,%xmm0,%xmm1 |
| 194 hex: 66 0f 3a 42 c8 01 |
| 195 |
| 196 # phminposuw %xmm0,%xmm1 |
| 197 asm: phminposuw %xmm0,%xmm1 |
| 198 hex: 66 0f 38 41 c8 |
| 199 |
| 200 # dppd $0x1,%xmm0,%xmm1 |
| 201 asm: dppd $0x1,%xmm0,%xmm1 |
| 202 hex: 66 0f 3a 41 c8 01 |
| 203 |
| 204 # blendvpd %xmm0,%xmm0,%xmm1 |
| 205 asm: blendvpd %xmm0,%xmm0,%xmm1 |
| 206 hex: 66 0f 38 15 c8 |
| 207 |
| 208 # pmaxuw %xmm0,%xmm1 |
| 209 asm: pmaxuw %xmm0,%xmm1 |
| 210 hex: 66 0f 38 3e c8 |
| 211 |
| 212 # insertps $0x1,%xmm0,%xmm1 |
| 213 asm: insertps $0x1,%xmm0,%xmm1 |
| 214 hex: 66 0f 3a 21 c8 01 |
| 215 |
| 216 # pmovsxwq %xmm0,%xmm1 |
| 217 asm: pmovsxwq %xmm0,%xmm1 |
| 218 hex: 66 0f 38 24 c8 |
| 219 |
| 220 # ptest %xmm0,%xmm1 |
| 221 asm: ptest %xmm0,%xmm1 |
| 222 hex: 66 0f 38 17 c8 |
| 223 |
| 224 # packusdw %xmm0,%xmm1 |
| 225 asm: packusdw %xmm0,%xmm1 |
| 226 hex: 66 0f 38 2b c8 |
| 227 |
| 228 # movntdqa (%rsp),%xmm0 |
| 229 asm: movntdqa (%rsp),%xmm0 |
| 230 hex: 66 0f 38 2a 04 24 |
| 231 |
| 232 |
| 233 # SSE4a |
| 234 # popcnt %rax,%rax |
| 235 asm: popcnt %rax,%rax |
| 236 hex: f3 48 0f b8 c0 |
| 237 |
| 238 # lzcnt %rax,%rax |
| 239 asm: lzcnt %rax,%rax |
| 240 hex: f3 48 0f bd c0 |
| 241 |
| 242 # extrq $0x1,$0x2,%xmm0 |
| 243 asm: extrq $0x1,$0x2,%xmm0 |
| 244 hex: 66 0f 78 c0 02 01 |
| 245 nc_out: ERROR: This instruction has been marked illegal by Native Client |
| 246 |
| 247 # movntss %xmm0,(%rsp) |
| 248 asm: movntss %xmm0,(%rsp) |
| 249 hex: f3 0f 2b 04 24 |
| 250 |
| 251 |
| 252 # SSE42 |
| 253 # crc32b %al,%rax |
| 254 asm: crc32b %al,%rax |
| 255 hex: f2 48 0f 38 f0 c0 |
| 256 |
| 257 |
| 258 # Nops for bundle alignment. |
| 259 asm: nop; nop; nop; nop; nop |
| 260 hex: 90 90 90 90 90 |
| 261 |
| 262 |
| 263 # pcmpistri $0x1,%xmm0,%xmm1 |
| 264 asm: pcmpistri $0x1,%xmm0,%xmm1 |
| 265 hex: 66 0f 3a 63 c8 01 |
| 266 |
| 267 # pcmpgtq %xmm0,%xmm1 |
| 268 asm: pcmpgtq %xmm0,%xmm1 |
| 269 hex: 66 0f 38 37 c8 |
| 270 |
| 271 |
| 272 # AVX FMA |
| 273 # vfmaddpd %xmm0,%xmm1,%xmm2,%xmm3 |
| 274 asm: vfmaddpd %xmm0,%xmm1,%xmm2,%xmm3 |
| 275 hex: c4 e3 f1 69 d8 20 |
| 276 nc_out: ERROR: This instruction has been marked illegal by Native Client |
| 277 nc_out: ERROR: Opcode sequence doesn't define a valid x86 instruction |
| 278 |
| 279 asm: nop; nop; nop |
| 280 hex: 90 90 90 |
| 281 |
| 282 |
| 283 # AES |
| 284 # aesenc %xmm0,%xmm1 |
| 285 asm: aesenc %xmm0,%xmm1 |
| 286 hex: 66 0f 38 dc c8 |
| 287 nc_out: ERROR: This instruction has been marked illegal by Native Client |
| 288 nc_out: ERROR: Opcode sequence doesn't define a valid x86 instruction |
| 289 nc_out: [at +4] ERROR: This instruction has been marked illegal by Native Client |
| 290 nc_out: [at +4] ERROR: Illegal assignment to RSP |
| 291 nc_out: [at +4] ERROR: Illegal change to register RBP |
| 292 |
| 293 asm: nop; nop; nop |
| 294 hex: 90 90 90 |
| 295 |
| 296 # aeskeygenassist $0x1,%xmm0,%xmm1 |
| 297 asm: aeskeygenassist $0x1,%xmm0,%xmm1 |
| 298 hex: 66 0f 3a df c8 01 |
| 299 nc_out: ERROR: Opcode sequence doesn't define a valid x86 instruction |
| 300 nc_out: ERROR: Use of DATA16 (66) prefix for instruction not allowed by Native C
lient |
| 301 nc_out: [at +4] ERROR: This instruction has been marked illegal by Native Client |
| 302 nc_out: [at +4] ERROR: Illegal assignment to RSP |
| 303 nc_out: [at +4] ERROR: Illegal change to register RBP |
| 304 |
| 305 asm: nop; nop |
| 306 hex: 90 90 |
| 307 |
| 308 # aesimc %xmm0,%xmm1 |
| 309 asm: aesimc %xmm0,%xmm1 |
| 310 hex: 66 0f 38 db c8 |
| 311 nc_out: ERROR: This instruction has been marked illegal by Native Client |
| 312 nc_out: ERROR: Opcode sequence doesn't define a valid x86 instruction |
| 313 nc_out: [at +4] ERROR: This instruction has been marked illegal by Native Client |
| 314 nc_out: [at +4] ERROR: Illegal assignment to RSP |
| 315 nc_out: [at +4] ERROR: Illegal change to register RBP |
| 316 |
| 317 asm: nop; nop; nop |
| 318 hex: 90 90 90 |
| 319 |
OLD | NEW |