You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.207
Former-commit-id: 3b152f462918d427ce18620a2cbe4f8b79650449
This commit is contained in:
parent
8e12397d70
commit
eb85e2fc17
370
external/llvm/test/MC/Disassembler/X86/avx-512.txt
vendored
370
external/llvm/test/MC/Disassembler/X86/avx-512.txt
vendored
@ -1,370 +0,0 @@
|
||||
# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 -mcpu=knl | FileCheck %s
|
||||
# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 -mcpu=skx | FileCheck --check-prefix=CHECK-SKX %s
|
||||
# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 -mattr=+avx512vpopcntdq | FileCheck %s --check-prefix=AVX512VPOPCNTDQ
|
||||
|
||||
# CHECK: vpbroadcastd %xmm18, %zmm28 {%k7} {z}
|
||||
0x62 0x22 0x7d 0xcf 0x58 0xe2
|
||||
|
||||
# CHECK: vbroadcastss (%rsp), %zmm28
|
||||
0x62 0x62 0x7d 0x48 0x18 0x24 0x24
|
||||
|
||||
# CHECK: vblendmpd (%rsi), %zmm2, %zmm8 {%k7}
|
||||
0x62 0x72 0xed 0x4f 0x65 0x06
|
||||
|
||||
# CHECK: vpermpd (%rsi,%r10,4), %zmm2, %zmm8
|
||||
0x62 0x32 0xed 0x48 0x16 0x04 0x96
|
||||
|
||||
# CHECK: vpbroadcastmw2d %k2, %zmm8
|
||||
0x62 0x72 0x7e 0x48 0x3a 0xc2
|
||||
|
||||
# CHECK-SKX: vpbroadcastmw2d %k2, %xmm8
|
||||
0x62 0x72 0x7e 0x08 0x3a 0xc2
|
||||
|
||||
# CHECK-SKX: vpbroadcastmw2d %k2, %ymm8
|
||||
0x62 0x72 0x7e 0x28 0x3a 0xc2
|
||||
|
||||
# CHECK: vpbroadcastq (%r9,%rax), %zmm28
|
||||
0x62 0x42 0xfd 0x48 0x59 0x24 0x01
|
||||
|
||||
# CHECK: vbroadcastss %xmm0, %zmm1
|
||||
0x62 0xf2 0x7d 0x48 0x18 0xc8
|
||||
|
||||
# CHECK: vextracti32x4 $4, %zmm0, (%r10)
|
||||
0x62 0xd3 0x7d 0x48 0x39 0x02 0x04
|
||||
|
||||
# CHECK: vextracti32x4 $4, %zmm0, %xmm1
|
||||
0x62 0xf3 0x7d 0x48 0x39 0xc1 0x04
|
||||
|
||||
# CHECK: vinserti32x4 $1, %xmm21, %zmm5, %zmm17
|
||||
0x62 0xa3 0x55 0x48 0x38 0xcd 0x01
|
||||
|
||||
# CHECK: vmovaps %zmm21, %zmm5 {%k3}
|
||||
0x62 0xb1 0x7c 0x4b 0x28 0xed
|
||||
|
||||
# CHECK: vgatherdps (%rsi,%zmm0,4), %zmm1 {%k2}
|
||||
0x62 0xf2 0x7d 0x4a 0x92 0x0c 0x86
|
||||
|
||||
# CHECK: vgatherdpd (%rsi,%ymm0,4), %zmm1 {%k2}
|
||||
0x62 0xf2 0xfd 0x4a 0x92 0x0c 0x86
|
||||
|
||||
# CHECK: vpslld $16, %zmm21, %zmm22
|
||||
0x62 0xb1 0x4d 0x40 0x72 0xf5 0x10
|
||||
|
||||
# CHECK: vpord %zmm22, %zmm21, %zmm23
|
||||
0x62 0xa1 0x55 0x40 0xeb 0xfe
|
||||
|
||||
#####################################################
|
||||
# MASK INSTRUCTIONS #
|
||||
#####################################################
|
||||
|
||||
# CHECK: kshiftlw $3, %k1, %k2
|
||||
0xc4 0xe3 0xf9 0x32 0xd1 0x03
|
||||
|
||||
# CHECK: kmovw (%rdi), %k1
|
||||
0xc5 0xf8 0x90 0x0f
|
||||
|
||||
# CHECK: kmovw %k1, %eax
|
||||
0xc5 0xf8 0x93 0xc1
|
||||
|
||||
# CHECK: kandw %k1, %k2, %k3
|
||||
0xc5 0xec 0x41 0xd9
|
||||
|
||||
# CHECK: kmovw %k5, %k1
|
||||
0xc5 0xf8 0x90 0xcd
|
||||
|
||||
#####################################################
|
||||
# COMPRESSED DISPLACEMENT #
|
||||
#####################################################
|
||||
|
||||
# TupleType = FVM
|
||||
# CHECK: vmovdqu32 %zmm0, -448(%rcx)
|
||||
0x62 0xf1 0x7e 0x48 0x7f 0x41 0xf9
|
||||
|
||||
# TupleType = T1S, 64-bit eltsize
|
||||
# CHECK: vaddsd 256(%rdx), %xmm0, %xmm16
|
||||
0x62 0xe1 0xff 0x08 0x58 0x42 0x20
|
||||
|
||||
# TupleType = T1S, 32-bit eltsize
|
||||
# CHECK: vaddss 256(%rdx), %xmm0, %xmm16
|
||||
0x62 0xe1 0x7e 0x08 0x58 0x42 0x40
|
||||
|
||||
# TupleType = FV
|
||||
# CHECK: vaddpd 256(%rdx), %zmm0, %zmm16
|
||||
0x62 0xe1 0xfd 0x48 0x58 0x42 0x04
|
||||
|
||||
# TupleType = FV, broadcast, 64-bit eltsize
|
||||
# CHECK: vaddpd 256(%rdx){1to8}, %zmm0, %zmm16
|
||||
0x62 0xe1 0xfd 0x58 0x58 0x42 0x20
|
||||
|
||||
# TupleType = FV, broadcast, 32-bit eltsize
|
||||
# CHECK: vaddps 256(%rdx){1to16}, %zmm0, %zmm16
|
||||
0x62 0xe1 0x7c 0x58 0x58 0x42 0x40
|
||||
|
||||
# TupleType = T4
|
||||
# CHECK: vbroadcasti32x4 256(%rdx), %zmm16
|
||||
0x62 0xe2 0x7d 0x48 0x5a 0x42 0x10
|
||||
|
||||
# Cases where we can't use cdisp8
|
||||
# CHECK: vaddss 255(%rdx), %xmm0, %xmm16
|
||||
0x62 0xe1 0x7e 0x08 0x58 0x82 0xff 0x00 0x00 0x00
|
||||
|
||||
# CHECK: vaddss 1024(%rdx), %xmm0, %xmm16
|
||||
0x62 0xe1 0x7e 0x08 0x58 0x82 0x00 0x04 0x00 0x00
|
||||
|
||||
# CHECK: vpcmpeqd %zmm10, %zmm25, %k5
|
||||
0x62 0xd3 0x35 0x40 0x1f 0xea 0x0
|
||||
|
||||
# CHECK: vpcmpltd %zmm10, %zmm25, %k5
|
||||
0x62 0xd3 0x35 0x40 0x1f 0xea 0x1
|
||||
|
||||
# CHECK: vpcmpled %zmm10, %zmm25, %k5
|
||||
0x62 0xd3 0x35 0x40 0x1f 0xea 0x2
|
||||
|
||||
# CHECK: vpcmpd $3, %zmm10, %zmm25, %k5
|
||||
0x62 0xd3 0x35 0x40 0x1f 0xea 0x3
|
||||
|
||||
# CHECK: vpcmpneqd %zmm10, %zmm25, %k5
|
||||
0x62 0xd3 0x35 0x40 0x1f 0xea 0x4
|
||||
|
||||
# CHECK: vpcmpnltd %zmm10, %zmm25, %k5
|
||||
0x62 0xd3 0x35 0x40 0x1f 0xea 0x5
|
||||
|
||||
# CHECK: vpcmpnled %zmm10, %zmm25, %k5
|
||||
0x62 0xd3 0x35 0x40 0x1f 0xea 0x6
|
||||
|
||||
# CHECK: vpcmpd $7, %zmm10, %zmm25, %k5
|
||||
0x62 0xd3 0x35 0x40 0x1f 0xea 0x7
|
||||
|
||||
# CHECK: vpcmpd $8, %zmm10, %zmm25, %k5
|
||||
0x62 0xd3 0x35 0x40 0x1f 0xea 0x8
|
||||
|
||||
# CHECK: vcmppd $127, {sae}, %zmm27, %zmm11, %k4
|
||||
0x62 0x91 0xa5 0x58 0xc2 0xe3 0x7f
|
||||
|
||||
# CHECK: vcmpsd $204, (%rax), %xmm4, %k5
|
||||
0x62 0xf1 0xdf 0x8 0xc2 0x28 0xcc
|
||||
|
||||
# CHECK: vcmpss $204, (%rax), %xmm4, %k5
|
||||
0x62 0xf1 0x5e 0x08 0xc2 0x28 0xcc
|
||||
|
||||
# CHECK: vcmpsd $204, %xmm3, %xmm4, %k5
|
||||
0x62 0xf1 0xdf 0x08 0xc2 0xeb 0xcc
|
||||
|
||||
# CHECK: vcmpss $204, %xmm3, %xmm4, %k5
|
||||
0x62 0xf1 0x5e 0x08 0xc2 0xeb 0xcc
|
||||
|
||||
# CHECK: vcmpsd $204, {sae}, %xmm3, %xmm4, %k5
|
||||
0x62 0xf1 0xdf 0x18 0xc2 0xeb 0xcc
|
||||
|
||||
# CHECK: vcmpss $204, {sae}, %xmm3, %xmm4, %k5
|
||||
0x62 0xf1 0x5e 0x18 0xc2 0xeb 0xcc
|
||||
|
||||
# CHECK: vcmppd $127, %ymm27, %ymm11, %k4
|
||||
0x62 0x91 0xa5 0x28 0xc2 0xe3 0x7f
|
||||
|
||||
# CHECK: vcmpps $127, %ymm27, %ymm11, %k4
|
||||
0x62 0x91 0x24 0x28 0xc2 0xe3 0x7f
|
||||
|
||||
# CHECK: vcmppd $127, %xmm27, %xmm11, %k4
|
||||
0x62 0x91 0xa5 0x08 0xc2 0xe3 0x7f
|
||||
|
||||
# CHECK: vcmpps $127, %xmm27, %xmm11, %k4
|
||||
0x62 0x91 0x24 0x08 0xc2 0xe3 0x7f
|
||||
|
||||
# CHECK: vpgatherdd 256(%r9,%xmm31), %xmm17 {%k1}
|
||||
0x62 0x82 0x7d 0x01 0x90 0x4c 0x39 0x40
|
||||
|
||||
# CHECK: vpgatherdd 256(%r9,%ymm31), %ymm19 {%k1}
|
||||
0x62 0x82 0x7d 0x21 0x90 0x5c 0x39 0x40
|
||||
|
||||
# CHECK: vpgatherdq 256(%r9,%xmm31), %xmm17 {%k1}
|
||||
0x62 0x82 0xfd 0x01 0x90 0x4c 0x39 0x20
|
||||
|
||||
# CHECK: vpgatherdq 256(%r9,%xmm31), %ymm26 {%k1}
|
||||
0x62 0x02 0xfd 0x21 0x90 0x54 0x39 0x20
|
||||
|
||||
# CHECK: vpgatherqd 256(%r9,%xmm31), %xmm21 {%k1}
|
||||
0x62 0x82 0x7d 0x01 0x91 0x6c 0x39 0x40
|
||||
|
||||
# CHECK: vpgatherqd 256(%r9,%ymm31), %xmm25 {%k1}
|
||||
0x62 0x02 0x7d 0x21 0x91 0x4c 0x39 0x40
|
||||
|
||||
# CHECK: vpgatherqq 256(%r9,%xmm31), %xmm18 {%k1}
|
||||
0x62 0x82 0xfd 0x01 0x91 0x54 0x39 0x20
|
||||
|
||||
# CHECK: vpgatherqq 256(%r9,%ymm31), %ymm19 {%k1}
|
||||
0x62 0x82 0xfd 0x21 0x91 0x5c 0x39 0x20
|
||||
|
||||
# CHECK: vgatherdpd 256(%r9,%xmm31), %xmm17 {%k1}
|
||||
0x62 0x82 0xfd 0x01 0x92 0x4c 0x39 0x20
|
||||
|
||||
# CHECK: vgatherdpd 256(%r9,%xmm31), %ymm23 {%k1}
|
||||
0x62 0x82 0xfd 0x21 0x92 0x7c 0x39 0x20
|
||||
|
||||
# CHECK: vgatherdps 256(%r9,%xmm31), %xmm18 {%k1}
|
||||
0x62 0x82 0x7d 0x01 0x92 0x54 0x39 0x40
|
||||
|
||||
# CHECK: vgatherdps 256(%r9,%ymm31), %ymm27 {%k1}
|
||||
0x62 0x02 0x7d 0x21 0x92 0x5c 0x39 0x40
|
||||
|
||||
# CHECK: vgatherqpd 256(%r9,%xmm31), %xmm17 {%k1}
|
||||
0x62 0x82 0xfd 0x01 0x93 0x4c 0x39 0x20
|
||||
|
||||
# CHECK: vgatherqpd 256(%r9,%ymm31), %ymm29 {%k1}
|
||||
0x62 0x02 0xfd 0x21 0x93 0x6c 0x39 0x20
|
||||
|
||||
# CHECK: vgatherqps 256(%r9,%xmm31), %xmm21 {%k1}
|
||||
0x62 0x82 0x7d 0x01 0x93 0x6c 0x39 0x40
|
||||
|
||||
# CHECK: vgatherqps 256(%r9,%ymm31), %xmm19 {%k1}
|
||||
0x62 0x82 0x7d 0x21 0x93 0x5c 0x39 0x40
|
||||
|
||||
# CHECK: vpscatterdd %xmm20, 256(%r9,%xmm31) {%k1}
|
||||
0x62 0x82 0x7d 0x01 0xa0 0x64 0x39 0x40
|
||||
|
||||
# CHECK: vpscatterdd %ymm28, 256(%r9,%ymm31) {%k1}
|
||||
0x62 0x02 0x7d 0x21 0xa0 0x64 0x39 0x40
|
||||
|
||||
# CHECK: vpscatterdq %xmm21, 256(%r9,%xmm31) {%k1}
|
||||
0x62 0x82 0xfd 0x01 0xa0 0x6c 0x39 0x20
|
||||
|
||||
# CHECK: vpscatterdq %ymm28, 256(%r9,%xmm31) {%k1}
|
||||
0x62 0x02 0xfd 0x21 0xa0 0x64 0x39 0x20
|
||||
|
||||
# CHECK: vpscatterqd %xmm22, 256(%r9,%xmm31) {%k1}
|
||||
0x62 0x82 0x7d 0x01 0xa1 0x74 0x39 0x40
|
||||
|
||||
# CHECK: vpscatterqd %xmm24, 256(%r9,%ymm31) {%k1}
|
||||
0x62 0x02 0x7d 0x21 0xa1 0x44 0x39 0x40
|
||||
|
||||
# CHECK: vpscatterqq %xmm28, 256(%r9,%xmm31) {%k1}
|
||||
0x62 0x02 0xfd 0x01 0xa1 0x64 0x39 0x20
|
||||
|
||||
# CHECK: vpscatterqq %ymm19, 256(%r9,%ymm31) {%k1}
|
||||
0x62 0x82 0xfd 0x21 0xa1 0x5c 0x39 0x20
|
||||
|
||||
# CHECK: vscatterdps %xmm20, 256(%r9,%xmm31) {%k1}
|
||||
0x62 0x82 0x7d 0x01 0xa2 0x64 0x39 0x40
|
||||
|
||||
# CHECK: vscatterdps %ymm28, 256(%r9,%ymm31) {%k1}
|
||||
0x62 0x02 0x7d 0x21 0xa2 0x64 0x39 0x40
|
||||
|
||||
# CHECK: vscatterdpd %xmm21, 256(%r9,%xmm31) {%k1}
|
||||
0x62 0x82 0xfd 0x01 0xa2 0x6c 0x39 0x20
|
||||
|
||||
# CHECK: vscatterdpd %ymm28, 256(%r9,%xmm31) {%k1}
|
||||
0x62 0x02 0xfd 0x21 0xa2 0x64 0x39 0x20
|
||||
|
||||
# CHECK: vscatterqps %xmm22, 256(%r9,%xmm31) {%k1}
|
||||
0x62 0x82 0x7d 0x01 0xa3 0x74 0x39 0x40
|
||||
|
||||
# CHECK: vscatterqps %xmm24, 256(%r9,%ymm31) {%k1}
|
||||
0x62 0x02 0x7d 0x21 0xa3 0x44 0x39 0x40
|
||||
|
||||
# CHECK: vscatterqpd %xmm28, 256(%r9,%xmm31) {%k1}
|
||||
0x62 0x02 0xfd 0x01 0xa3 0x64 0x39 0x20
|
||||
|
||||
# CHECK: vscatterqpd %ymm19, 256(%r9,%ymm31) {%k1}
|
||||
0x62 0x82 0xfd 0x21 0xa3 0x5c 0x39 0x20
|
||||
|
||||
#####################################################
|
||||
# POPULATION COUNT #
|
||||
#####################################################
|
||||
|
||||
# AVX512VPOPCNTDQ: vpopcntd %zmm21, %zmm26 {%k4}
|
||||
0x62 0x22 0x7d 0x4c 0x55 0xd5
|
||||
|
||||
# AVX512VPOPCNTDQ: vpopcntd %zmm21, %zmm26 {%k4} {z}
|
||||
0x62 0x22 0x7d 0xcc 0x55 0xd5
|
||||
|
||||
# AVX512VPOPCNTDQ: vpopcntd (%rcx), %zmm26
|
||||
0x62 0x62 0x7d 0x48 0x55 0x11
|
||||
|
||||
# AVX512VPOPCNTDQ: vpopcntq %zmm21, %zmm17 {%k6}
|
||||
0x62 0xa2 0xfd 0x4e 0x55 0xcd
|
||||
|
||||
# AVX512VPOPCNTDQ: vpopcntq %zmm21, %zmm17 {%k6} {z}
|
||||
0x62 0xa2 0xfd 0xce 0x55 0xcd
|
||||
|
||||
# AVX512VPOPCNTDQ: vpopcntq (%rcx), %zmm17
|
||||
0x62 0xe2 0xfd 0x48 0x55 0x09
|
||||
|
||||
#####################################################
|
||||
# SAE ATTRIBUTE #
|
||||
#####################################################
|
||||
|
||||
# CHECK: vcomisd {sae}, %xmm2, %xmm1
|
||||
0x62 0xf1 0xfd 0x18 0x2f 0xca
|
||||
|
||||
# Same as above but ignore EVEX L'L bits.
|
||||
# CHECK: vcomisd {sae}, %xmm2, %xmm1
|
||||
0x62 0xf1 0xfd 0x78 0x2f 0xca
|
||||
|
||||
# CHECK: vminpd {sae}, %zmm2, %zmm17, %zmm19
|
||||
0x62 0xe1 0xf5 0x10 0x5d 0xda
|
||||
|
||||
# Ignore EVEX L'L bits.
|
||||
# CHECK: vminpd {sae}, %zmm2, %zmm17, %zmm19
|
||||
0x62 0xe1 0xf5 0x30 0x5d 0xda
|
||||
|
||||
# Ignore EVEX L'L bits.
|
||||
# CHECK: vminpd {sae}, %zmm2, %zmm17, %zmm19
|
||||
0x62 0xe1 0xf5 0x50 0x5d 0xda
|
||||
|
||||
# Ignore EVEX L'L bits.
|
||||
# CHECK: vminpd {sae}, %zmm2, %zmm17, %zmm19
|
||||
0x62 0xe1 0xf5 0x70 0x5d 0xda
|
||||
|
||||
# CHECK: vcmppd $127, {sae}, %zmm27, %zmm11, %k4
|
||||
0x62 0x91 0xa5 0x18 0xc2 0xe3 0x7f
|
||||
|
||||
# CHECK: vrsqrt28pd {sae}, %zmm2, %zmm17
|
||||
0x62 0xe2 0xfd 0x18 0xcc 0xca
|
||||
|
||||
#####################################################
|
||||
# ROUNDING CONTROL #
|
||||
#####################################################
|
||||
|
||||
# Verify all rounding modes work.
|
||||
|
||||
# CHECK: vaddps {rn-sae}, %zmm2, %zmm17, %zmm19
|
||||
0x62 0xe1 0x74 0x10 0x58 0xda
|
||||
|
||||
# CHECK: vaddps {rd-sae}, %zmm2, %zmm17, %zmm19
|
||||
0x62 0xe1 0x74 0x30 0x58 0xda
|
||||
|
||||
# CHECK: vaddps {ru-sae}, %zmm2, %zmm17, %zmm19
|
||||
0x62 0xe1 0x74 0x50 0x58 0xda
|
||||
|
||||
# CHECK: vaddps {rz-sae}, %zmm2, %zmm17, %zmm19
|
||||
0x62 0xe1 0x74 0x70 0x58 0xda
|
||||
|
||||
# CHECK: vmulss {rn-sae}, %xmm2, %xmm17, %xmm19
|
||||
0x62 0xe1 0x76 0x10 0x59 0xda
|
||||
|
||||
# CHECK: vmulss {rd-sae}, %xmm2, %xmm17, %xmm19
|
||||
0x62 0xe1 0x76 0x30 0x59 0xda
|
||||
|
||||
# CHECK: vmulss {ru-sae}, %xmm2, %xmm17, %xmm19
|
||||
0x62 0xe1 0x76 0x50 0x59 0xda
|
||||
|
||||
# CHECK: vmulss {rz-sae}, %xmm2, %xmm17, %xmm19
|
||||
0x62 0xe1 0x76 0x70 0x59 0xda
|
||||
|
||||
# CHECK: vscalefpd {rn-sae}, %zmm2, %zmm17, %zmm19
|
||||
0x62 0xe2 0xf5 0x10 0x2c 0xda
|
||||
|
||||
# CHECK: vscalefpd {rd-sae}, %zmm2, %zmm17, %zmm19
|
||||
0x62 0xe2 0xf5 0x30 0x2c 0xda
|
||||
|
||||
# CHECK: vscalefpd {ru-sae}, %zmm2, %zmm17, %zmm19
|
||||
0x62 0xe2 0xf5 0x50 0x2c 0xda
|
||||
|
||||
# CHECK: vscalefpd {rz-sae}, %zmm2, %zmm17, %zmm19
|
||||
0x62 0xe2 0xf5 0x70 0x2c 0xda
|
||||
|
||||
# CHECK: vcvtqq2ps {rd-sae}, %zmm2, %ymm17
|
||||
0x62 0xe1 0xfc 0x38 0x5b 0xca
|
||||
|
||||
# CHECK: vsqrtpd {rd-sae}, %zmm2, %zmm17
|
||||
0x62 0xe1 0xfd 0x38 0x51 0xca
|
1061
external/llvm/test/MC/Disassembler/X86/fp-stack.txt
vendored
1061
external/llvm/test/MC/Disassembler/X86/fp-stack.txt
vendored
File diff suppressed because it is too large
Load Diff
@ -1,4 +0,0 @@
|
||||
# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 2>&1 | grep "invalid instruction encoding"
|
||||
|
||||
// This corresponds to a gather, but doesn't use a SIB byte.
|
||||
0xc4,0xe2,0xe9,0x92,0x08
|
@ -1,10 +0,0 @@
|
||||
# RUN: llvm-mc --print-imm-hex --disassemble %s -triple=x86_64-apple-darwin9 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: movabsq $0x7fffffffffffffff, %rcx
|
||||
0x48 0xb9 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x7f
|
||||
# CHECK: leaq 0x3e2(%rip), %rdi
|
||||
0x48 0x8d 0x3d 0xe2 0x03 0x00 0x00
|
||||
# CHECK: subq $0x40, %rsp
|
||||
0x48 0x83 0xec 0x40
|
||||
# CHECK: leal (,%r14,4), %eax
|
||||
0x42 0x8d 0x04 0xb5 0x00 0x00 0x00 0x00
|
@ -1,43 +0,0 @@
|
||||
# RUN: llvm-mc --disassemble %s -triple=i386 --output-asm-variant=1 | FileCheck %s
|
||||
|
||||
# CHECK: sgdt opaque ptr [eax]
|
||||
0x0f 0x01 0x00
|
||||
|
||||
# CHECK: sidt opaque ptr [eax]
|
||||
0x0f 0x01 0x08
|
||||
|
||||
# CHECK: lgdt opaque ptr [eax]
|
||||
0x0f 0x01 0x10
|
||||
|
||||
# CHECK: lidt opaque ptr [eax]
|
||||
0x0f 0x01 0x18
|
||||
|
||||
# CHECK: mov al, byte ptr [878082192]
|
||||
0xa0 0x90 0x78 0x56 0x34
|
||||
|
||||
# CHECK: mov ax, word ptr [878082192]
|
||||
0x66 0xa1 0x90 0x78 0x56 0x34
|
||||
|
||||
# CHECK: mov eax, dword ptr [878082192]
|
||||
0xa1 0x90 0x78 0x56 0x34
|
||||
|
||||
# CHECK: mov byte ptr [878082192], al
|
||||
0xa2 0x90 0x78 0x56 0x34
|
||||
|
||||
# CHECK: mov word ptr [878082192], ax
|
||||
0x66 0xa3 0x90 0x78 0x56 0x34
|
||||
|
||||
# CHECK: mov dword ptr [878082192], eax
|
||||
0xa3 0x90 0x78 0x56 0x34
|
||||
|
||||
# CHECK: lea cx, [si + 4]
|
||||
0x67 0x66 0x8d 0x4c 0x04
|
||||
|
||||
# CHECK: lea ecx, [si + 4]
|
||||
0x67 0x8d 0x4c 0x04
|
||||
|
||||
# CHECK: lea cx, [esp + 4]
|
||||
0x66 0x8d 0x4c 0x24 0x04
|
||||
|
||||
# CHECK: lea ecx, [esp + 4]
|
||||
0x8d 0x4c 0x24 0x04
|
@ -1,174 +0,0 @@
|
||||
# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 --output-asm-variant=1 | FileCheck %s
|
||||
|
||||
# CHECK: movsb
|
||||
0xa4
|
||||
|
||||
# CHECK: movsw
|
||||
0x66 0xa5
|
||||
|
||||
# CHECK: movsd
|
||||
0xa5
|
||||
|
||||
# CHECK: movsq
|
||||
0x48 0xa5
|
||||
|
||||
# CHECK: pop fs
|
||||
0x0f 0xa1
|
||||
|
||||
# CHECK: pop gs
|
||||
0x0f 0xa9
|
||||
|
||||
# CHECK: in al, dx
|
||||
0xec
|
||||
|
||||
# CHECK: nop
|
||||
0x90
|
||||
|
||||
# CHECK: xchg eax, r8d
|
||||
0x41 0x90
|
||||
|
||||
# CHECK: xchg rax, r8
|
||||
0x49 0x90
|
||||
|
||||
# CHECK: add al, 0
|
||||
0x04 0x00
|
||||
|
||||
# CHECK: add ax, 0
|
||||
0x66 0x05 0x00 0x00
|
||||
|
||||
# CHECK: add eax, 0
|
||||
0x05 0x00 0x00 0x00 0x00
|
||||
|
||||
# CHECK: add rax, 0
|
||||
0x48 0x05 0x00 0x00 0x00 0x00
|
||||
|
||||
# CHECK: adc al, 0
|
||||
0x14 0x00
|
||||
|
||||
# CHECK: adc ax, 0
|
||||
0x66 0x15 0x00 0x00
|
||||
|
||||
# CHECK: adc eax, 0
|
||||
0x15 0x00 0x00 0x00 0x00
|
||||
|
||||
# CHECK: adc rax, 0
|
||||
0x48 0x15 0x00 0x00 0x00 0x00
|
||||
|
||||
# CHECK: cmp al, 0
|
||||
0x3c 0x00
|
||||
|
||||
# CHECK: cmp ax, 0
|
||||
0x66 0x3d 0x00 0x00
|
||||
|
||||
# CHECK: cmp eax, 0
|
||||
0x3d 0x00 0x00 0x00 0x00
|
||||
|
||||
# CHECK: cmp rax, 0
|
||||
0x48 0x3d 0x00 0x00 0x00 0x00
|
||||
|
||||
# CHECK: test al, 0
|
||||
0xa8 0x00
|
||||
|
||||
# CHECK: test ax, 0
|
||||
0x66 0xa9 0x00 0x00
|
||||
|
||||
# CHECK: test eax, 0
|
||||
0xa9 0x00 0x00 0x00 0x00
|
||||
|
||||
# CHECK: test rax, 0
|
||||
0x48 0xa9 0x00 0x00 0x00 0x00
|
||||
|
||||
# CHECK: sysret
|
||||
0x48 0x0f 0x07
|
||||
|
||||
# CHECK: sysret
|
||||
0x0f 0x07
|
||||
|
||||
# CHECK: sysexit
|
||||
0x48 0x0f 0x35
|
||||
|
||||
# CHECK: sysexit
|
||||
0x0f 0x35
|
||||
|
||||
# CHECK: iret
|
||||
0x66 0xcf
|
||||
|
||||
# CHECK: iretd
|
||||
0xcf
|
||||
|
||||
# CHECK: iretq
|
||||
0x48 0xcf
|
||||
|
||||
# CHECK: ret
|
||||
0x66 0xc3
|
||||
|
||||
# CHECK: retf
|
||||
0x66 0xcb
|
||||
|
||||
# CHECK: vshufpd xmm0, xmm1, xmm2, 1
|
||||
0xc5 0xf1 0xc6 0xc2 0x01
|
||||
|
||||
# CHECK: vpgatherqq ymm2, ymmword ptr [rdi + 2*ymm1], ymm0
|
||||
0xc4 0xe2 0xfd 0x91 0x14 0x4f
|
||||
|
||||
# CHECK: vpgatherdd xmm10, xmmword ptr [r15 + 2*xmm9], xmm8
|
||||
0xc4 0x02 0x39 0x90 0x14 0x4f
|
||||
|
||||
# CHECK: xsave64 opaque ptr [rax]
|
||||
0x48 0x0f 0xae 0x20
|
||||
|
||||
# CHECK: xrstor64 opaque ptr [rax]
|
||||
0x48 0x0f 0xae 0x28
|
||||
|
||||
# CHECK: xsaveopt64 opaque ptr [rax]
|
||||
0x48 0x0f 0xae 0x30
|
||||
|
||||
# CHECK: movabs al, byte ptr [-6066930261531658096]
|
||||
0xa0 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
||||
|
||||
# CHECK: movabs al, byte ptr [-6066930261531658096]
|
||||
0x48 0xa0 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
||||
|
||||
# CHECK: movabs ax, word ptr [-6066930261531658096]
|
||||
0x66 0xa1 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
||||
|
||||
# CHECK: movabs eax, dword ptr [-6066930261531658096]
|
||||
0xa1 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
||||
|
||||
# CHECK: movabs rax, qword ptr [-6066930261531658096]
|
||||
0x48 0xa1 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
||||
|
||||
# CHECK: movabs byte ptr [-6066930261531658096], al
|
||||
0xa2 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
||||
|
||||
# CHECK: movabs byte ptr [-6066930261531658096], al
|
||||
0x48 0xa2 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
||||
|
||||
# CHECK: movabs word ptr [-6066930261531658096], ax
|
||||
0x66 0xa3 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
||||
|
||||
# CHECK: movabs dword ptr [-6066930261531658096], eax
|
||||
0xa3 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
||||
|
||||
# CHECK: movabs qword ptr [-6066930261531658096], rax
|
||||
0x48 0xa3 0x90 0x78 0x56 0x34 0x12 0xef 0xcd 0xab
|
||||
|
||||
# CHECK: lea cx, [esp + 4]
|
||||
0x67 0x66 0x8d 0x4c 0x24 0x04
|
||||
|
||||
# CHECK: lea ecx, [esp + 4]
|
||||
0x67 0x8d 0x4c 0x24 0x04
|
||||
|
||||
# CHECK: lea rcx, [esp + 4]
|
||||
0x67 0x48 0x8d 0x4c 0x24 0x04
|
||||
|
||||
# CHECK: lea cx, [rsp + 4]
|
||||
0x66 0x8d 0x4c 0x24 0x04
|
||||
|
||||
# CHECK: lea ecx, [rsp + 4]
|
||||
0x8d 0x4c 0x24 0x04
|
||||
|
||||
# CHECK: lea rcx, [rsp + 4]
|
||||
0x48 0x8d 0x4c 0x24 0x04
|
||||
|
||||
|
@ -1,4 +0,0 @@
|
||||
# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 2>&1 | grep "invalid instruction encoding"
|
||||
|
||||
# This instruction would decode as movmskps if the vvvv field in the VEX prefix was all 1s.
|
||||
0xc5 0xf0 0x50 0xc0
|
@ -1,3 +0,0 @@
|
||||
if not 'X86' in config.root.targets:
|
||||
config.unsupported = True
|
||||
|
@ -1,6 +0,0 @@
|
||||
# RUN: llvm-mc --mdis %s -triple=x86_64-apple-darwin9 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: movq <mem:<reg:%gs>:8>, <reg:%rcx>
|
||||
0x65 0x48 0x8b 0x0c 0x25 0x08 0x00 0x00 0x00
|
||||
# CHECK: xorps <reg:%xmm1>, <reg:%xmm2>
|
||||
0x0f 0x57 0xd1
|
@ -1,4 +0,0 @@
|
||||
# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 2>&1 | grep "invalid instruction encoding"
|
||||
|
||||
# This instruction would decode as jmp32m if it didn't run out of bytes
|
||||
0xff 0x24
|
86
external/llvm/test/MC/Disassembler/X86/moffs.txt
vendored
86
external/llvm/test/MC/Disassembler/X86/moffs.txt
vendored
@ -1,86 +0,0 @@
|
||||
# RUN: llvm-mc --disassemble --show-encoding --print-imm-hex %s -triple=i686-linux-gnu-code16 | FileCheck --check-prefix=16 %s
|
||||
# RUN: llvm-mc --disassemble --show-encoding --print-imm-hex %s -triple=i686-linux-gnu | FileCheck --check-prefix=32 %s
|
||||
# RUN: llvm-mc --disassemble --show-encoding --print-imm-hex %s -triple=x86_64-linux-gnu | FileCheck --check-prefix=64 %s
|
||||
|
||||
# 16: movb 0x5a5a, %al # encoding: [0xa0,0x5a,0x5a]
|
||||
# 32: movb 0x5a5a5a5a, %al # encoding: [0xa0,0x5a,0x5a,0x5a,0x5a]
|
||||
# 64: movabsb 0x5a5a5a5a5a5a5a5a, %al # encoding: [0xa0,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a]
|
||||
0xa0 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a
|
||||
|
||||
# 16: movb 0x5a5a5a5a, %al # encoding: [0x67,0xa0,0x5a,0x5a,0x5a,0x5a]
|
||||
# 32: movb 0x5a5a, %al # encoding: [0x67,0xa0,0x5a,0x5a]
|
||||
# 64: movb 0x5a5a5a5a, %al # encoding: [0x67,0xa0,0x5a,0x5a,0x5a,0x5a]
|
||||
0x67 0xa0 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a
|
||||
|
||||
# 16: movw 0x5a5a, %ax # encoding: [0xa1,0x5a,0x5a]
|
||||
# 32: movl 0x5a5a5a5a, %eax # encoding: [0xa1,0x5a,0x5a,0x5a,0x5a]
|
||||
# 64: movabsl 0x5a5a5a5a5a5a5a5a, %eax # encoding: [0xa1,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a]
|
||||
0xa1 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a
|
||||
|
||||
# 16: movw 0x5a5a5a5a, %ax # encoding: [0x67,0xa1,0x5a,0x5a,0x5a,0x5a]
|
||||
# 32: movl 0x5a5a, %eax # encoding: [0x67,0xa1,0x5a,0x5a]
|
||||
# 64: movl 0x5a5a5a5a, %eax # encoding: [0x67,0xa1,0x5a,0x5a,0x5a,0x5a]
|
||||
0x67 0xa1 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a
|
||||
|
||||
# 16: movl 0x5a5a, %eax # encoding: [0x66,0xa1,0x5a,0x5a]
|
||||
# 32: movw 0x5a5a5a5a, %ax # encoding: [0x66,0xa1,0x5a,0x5a,0x5a,0x5a]
|
||||
# 64: movabsw 0x5a5a5a5a5a5a5a5a, %ax # encoding: [0x66,0xa1,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a]
|
||||
0x66 0xa1 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a
|
||||
|
||||
# 16: movl 0x5a5a5a5a, %eax # encoding: [0x67,0x66,0xa1,0x5a,0x5a,0x5a,0x5a]
|
||||
# 32: movw 0x5a5a, %ax # encoding: [0x67,0x66,0xa1,0x5a,0x5a]
|
||||
# 64: movw 0x5a5a5a5a, %ax # encoding: [0x67,0x66,0xa1,0x5a,0x5a,0x5a,0x5a]
|
||||
0x66 0x67 0xa1 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a
|
||||
|
||||
# 16: movl 0x5a5a5a5a, %eax # encoding: [0x67,0x66,0xa1,0x5a,0x5a,0x5a,0x5a]
|
||||
# 32: movw 0x5a5a, %ax # encoding: [0x67,0x66,0xa1,0x5a,0x5a]
|
||||
# 64: movw 0x5a5a5a5a, %ax # encoding: [0x67,0x66,0xa1,0x5a,0x5a,0x5a,0x5a]
|
||||
0x67 0x66 0xa1 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a
|
||||
|
||||
# 16: movl %es:0x5a5a5a5a, %eax # encoding: [0x67,0x66,0x26,0xa1,0x5a,0x5a,0x5a,0x5a]
|
||||
# 32: movw %es:0x5a5a, %ax # encoding: [0x67,0x66,0x26,0xa1,0x5a,0x5a]
|
||||
# 64: movw %es:0x5a5a5a5a, %ax # encoding: [0x67,0x66,0x26,0xa1,0x5a,0x5a,0x5a,0x5a]
|
||||
0x67 0x26 0x66 0xa1 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a # encoding: [0xa0,0x5a,0x5a]
|
||||
|
||||
|
||||
|
||||
# 16: movb %al, 0x5a5a # encoding: [0xa2,0x5a,0x5a]
|
||||
# 32: movb %al, 0x5a5a5a5a # encoding: [0xa2,0x5a,0x5a,0x5a,0x5a]
|
||||
# 64: movabsb %al, 0x5a5a5a5a5a5a5a5a # encoding: [0xa2,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a]
|
||||
0xa2 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a # encoding: [0xa0,0x5a,0x5a]
|
||||
|
||||
# 16: movb %al, 0x5a5a5a5a # encoding: [0x67,0xa2,0x5a,0x5a,0x5a,0x5a]
|
||||
# 32: movb %al, 0x5a5a # encoding: [0x67,0xa2,0x5a,0x5a]
|
||||
# 64: movb %al, 0x5a5a5a5a # encoding: [0x67,0xa2,0x5a,0x5a,0x5a,0x5a]
|
||||
0x67 0xa2 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a
|
||||
|
||||
# 16: movw %ax, 0x5a5a # encoding: [0xa3,0x5a,0x5a]
|
||||
# 32: movl %eax, 0x5a5a5a5a # encoding: [0xa3,0x5a,0x5a,0x5a,0x5a]
|
||||
# 64: movabsl %eax, 0x5a5a5a5a5a5a5a5a # encoding: [0xa3,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a]
|
||||
0xa3 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a
|
||||
|
||||
# 16: movw %ax, %gs:0x5a5a5a5a # encoding: [0x67,0x65,0xa3,0x5a,0x5a,0x5a,0x5a]
|
||||
# 32: movl %eax, %gs:0x5a5a # encoding: [0x67,0x65,0xa3,0x5a,0x5a]
|
||||
# 64: movl %eax, %gs:0x5a5a5a5a # encoding: [0x67,0x65,0xa3,0x5a,0x5a,0x5a,0x5a]
|
||||
0x65 0x67 0xa3 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a
|
||||
|
||||
# 16: movl %eax, 0x5a5a # encoding: [0x66,0xa3,0x5a,0x5a]
|
||||
# 32: movw %ax, 0x5a5a5a5a # encoding: [0x66,0xa3,0x5a,0x5a,0x5a,0x5a]
|
||||
# 64: movabsw %ax, 0x5a5a5a5a5a5a5a5a # encoding: [0x66,0xa3,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a]
|
||||
0x66 0xa3 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a
|
||||
|
||||
# 16: movl %eax, 0x5a5a5a5a # encoding: [0x67,0x66,0xa3,0x5a,0x5a,0x5a,0x5a]
|
||||
# 32: movw %ax, 0x5a5a # encoding: [0x67,0x66,0xa3,0x5a,0x5a]
|
||||
# 64: movw %ax, 0x5a5a5a5a # encoding: [0x67,0x66,0xa3,0x5a,0x5a,0x5a,0x5a]
|
||||
0x66 0x67 0xa3 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a
|
||||
|
||||
# 16: movl %eax, 0x5a5a5a5a # encoding: [0x67,0x66,0xa3,0x5a,0x5a,0x5a,0x5a]
|
||||
# 32: movw %ax, 0x5a5a # encoding: [0x67,0x66,0xa3,0x5a,0x5a]
|
||||
# 64: movw %ax, 0x5a5a5a5a # encoding: [0x67,0x66,0xa3,0x5a,0x5a,0x5a,0x5a]
|
||||
0x67 0x66 0xa3 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a
|
||||
|
||||
# 16: movl %eax, %es:0x5a5a5a5a # encoding: [0x67,0x66,0x26,0xa3,0x5a,0x5a,0x5a,0x5a]
|
||||
# 32: movw %ax, %es:0x5a5a # encoding: [0x67,0x66,0x26,0xa3,0x5a,0x5a]
|
||||
# 64: movw %ax, %es:0x5a5a5a5a # encoding: [0x67,0x66,0x26,0xa3,0x5a,0x5a,0x5a,0x5a]
|
||||
0x67 0x26 0x66 0xa3 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a 0x5a
|
||||
|
@ -1,56 +0,0 @@
|
||||
# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 | FileCheck %s
|
||||
|
||||
# CHECK: xstore
|
||||
0x0f 0xa7 0xc0
|
||||
|
||||
# CHECK: xcryptecb
|
||||
0x0f 0xa7 0xc8
|
||||
|
||||
# CHECK: xcryptcbc
|
||||
0x0f 0xa7 0xd0
|
||||
|
||||
# CHECK: xcryptctr
|
||||
0x0f 0xa7 0xd8
|
||||
|
||||
# CHECK: xcryptcfb
|
||||
0x0f 0xa7 0xe0
|
||||
|
||||
# CHECK: xcryptofb
|
||||
0x0f 0xa7 0xe8
|
||||
|
||||
# CHECK: xsha1
|
||||
0x0f 0xa6 0xc8
|
||||
|
||||
# CHECK: xsha256
|
||||
0x0f 0xa6 0xd0
|
||||
|
||||
# CHECK: montmul
|
||||
0x0f 0xa6 0xc0
|
||||
# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 | FileCheck %s
|
||||
|
||||
# CHECK: xstore
|
||||
0x0f 0xa7 0xc0
|
||||
|
||||
# CHECK: xcryptecb
|
||||
0x0f 0xa7 0xc8
|
||||
|
||||
# CHECK: xcryptcbc
|
||||
0x0f 0xa7 0xd0
|
||||
|
||||
# CHECK: xcryptctr
|
||||
0x0f 0xa7 0xd8
|
||||
|
||||
# CHECK: xcryptcfb
|
||||
0x0f 0xa7 0xe0
|
||||
|
||||
# CHECK: xcryptofb
|
||||
0x0f 0xa7 0xe8
|
||||
|
||||
# CHECK: xsha1
|
||||
0x0f 0xa6 0xc8
|
||||
|
||||
# CHECK: xsha256
|
||||
0x0f 0xa6 0xd0
|
||||
|
||||
# CHECK: montmul
|
||||
0x0f 0xa6 0xc0
|
@ -1,61 +0,0 @@
|
||||
# RUN: llvm-mc --disassemble %s -triple=i386-apple-darwin9 | FileCheck %s
|
||||
|
||||
# CHECK: movl %fs:24, %eax
|
||||
0x64 0xa1 0x18 0x00 0x00 0x00 # mov eax, dword ptr fs:[18h]
|
||||
|
||||
# CHECK: rep insb %dx, %es:(%edi)
|
||||
0xf3 0x6c #rep ins
|
||||
# CHECK: rep insl %dx, %es:(%edi)
|
||||
0xf3 0x6d #rep ins
|
||||
# CHECK: rep movsb (%esi), %es:(%edi)
|
||||
0xf3 0xa4 #rep movs
|
||||
# CHECK: rep movsl (%esi), %es:(%edi)
|
||||
0xf3 0xa5 #rep movs
|
||||
# CHECK: rep outsb (%esi), %dx
|
||||
0xf3 0x6e #rep outs
|
||||
# CHECK: rep outsl (%esi), %dx
|
||||
0xf3 0x6f #rep outs
|
||||
# CHECK: rep lodsb (%esi), %al
|
||||
0xf3 0xac #rep lods
|
||||
# CHECK: rep lodsl (%esi), %eax
|
||||
0xf3 0xad #rep lods
|
||||
# CHECK: rep stosb %al, %es:(%edi)
|
||||
0xf3 0xaa #rep stos
|
||||
# CHECK: rep stosl %eax, %es:(%edi)
|
||||
0xf3 0xab #rep stos
|
||||
# CHECK: rep cmpsb %es:(%edi), (%esi)
|
||||
0xf3 0xa6 #rep cmps
|
||||
# CHECK: rep cmpsl %es:(%edi), (%esi)
|
||||
0xf3 0xa7 #repe cmps
|
||||
# CHECK: rep scasb %es:(%edi), %al
|
||||
0xf3 0xae #repe scas
|
||||
# CHECK: rep scasl %es:(%edi), %eax
|
||||
0xf3 0xaf #repe scas
|
||||
# CHECK: repne cmpsb %es:(%edi), (%esi)
|
||||
0xf2 0xa6 #repne cmps
|
||||
# CHECK: repne cmpsl %es:(%edi), (%esi)
|
||||
0xf2 0xa7 #repne cmps
|
||||
# CHECK: repne scasb %es:(%edi), %al
|
||||
0xf2 0xae #repne scas
|
||||
# CHECK: repne scasl %es:(%edi), %eax
|
||||
0xf2 0xaf #repne scas
|
||||
|
||||
# CHECK: repne scasw %es:(%edi), %ax
|
||||
0xf2 0x66 0xaf
|
||||
# CHECK: repne scasw %es:(%edi), %ax
|
||||
0x66 0xf2 0xaf
|
||||
|
||||
# CHECK: rep scasw %es:(%edi), %ax
|
||||
0xf3 0x66 0xaf
|
||||
# CHECK: rep scasw %es:(%edi), %ax
|
||||
0x66 0xf3 0xaf
|
||||
|
||||
# CHECK: repne insw %dx, %es:(%edi)
|
||||
0xf2 0x66 0x6d
|
||||
# CHECK: repne insw %dx, %es:(%edi)
|
||||
0x66 0xf2 0x6d
|
||||
|
||||
# CHECK: rep insw %dx, %es:(%edi)
|
||||
0xf3 0x66 0x6d
|
||||
# CHECK: rep insw %dx, %es:(%edi)
|
||||
0x66 0xf3 0x6d
|
@ -1,30 +0,0 @@
|
||||
# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s
|
||||
|
||||
# CHECK: mulsd %xmm7, %xmm7
|
||||
0x66 0xF3 0xF2 0x0F 0x59 0xFF
|
||||
# CHECK: mulss %xmm7, %xmm7
|
||||
0x66 0xF2 0xF3 0x0F 0x59 0xFF
|
||||
# CHECK: mulpd %xmm7, %xmm7
|
||||
0x66 0x0F 0x59 0xFF
|
||||
# CHECK: mulsd %xmm7, %xmm7
|
||||
0xf2 0x66 0x0f 0x59 0xff
|
||||
|
||||
# CHECK: repne scasw %es:(%rdi), %ax
|
||||
0xf2 0x66 0xaf
|
||||
# CHECK: repne scasw %es:(%rdi), %ax
|
||||
0x66 0xf2 0xaf
|
||||
|
||||
# CHECK: rep scasw %es:(%rdi), %ax
|
||||
0xf3 0x66 0xaf
|
||||
# CHECK: rep scasw %es:(%rdi), %ax
|
||||
0x66 0xf3 0xaf
|
||||
|
||||
# CHECK: repne insw %dx, %es:(%rdi)
|
||||
0xf2 0x66 0x6d
|
||||
# CHECK: repne insw %dx, %es:(%rdi)
|
||||
0x66 0xf2 0x6d
|
||||
|
||||
# CHECK: rep insw %dx, %es:(%rdi)
|
||||
0xf3 0x66 0x6d
|
||||
# CHECK: rep insw %dx, %es:(%rdi)
|
||||
0x66 0xf3 0x6d
|
110
external/llvm/test/MC/Disassembler/X86/prefixes.txt
vendored
110
external/llvm/test/MC/Disassembler/X86/prefixes.txt
vendored
@ -1,110 +0,0 @@
|
||||
# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s
|
||||
|
||||
# CHECK: rep insb %dx, %es:(%rdi)
|
||||
0xf3 0x6c #rep ins
|
||||
# CHECK: rep insl %dx, %es:(%rdi)
|
||||
0xf3 0x6d #rep ins
|
||||
# CHECK: rep movsb (%rsi), %es:(%rdi)
|
||||
0xf3 0xa4 #rep movs
|
||||
# CHECK: rep movsl (%rsi), %es:(%rdi)
|
||||
0xf3 0xa5 #rep movs
|
||||
# CHECK: rep outsb (%rsi), %dx
|
||||
0xf3 0x6e #rep outs
|
||||
# CHECK: rep outsl (%rsi), %dx
|
||||
0xf3 0x6f #rep outs
|
||||
# CHECK: rep lodsb (%rsi), %al
|
||||
0xf3 0xac #rep lods
|
||||
# CHECK: rep lodsl (%rsi), %eax
|
||||
0xf3 0xad #rep lods
|
||||
# CHECK: rep stosb %al, %es:(%rdi)
|
||||
0xf3 0xaa #rep stos
|
||||
# CHECK: rep stosl %eax, %es:(%rdi)
|
||||
0xf3 0xab #rep stos
|
||||
# CHECK: rep cmpsb %es:(%rdi), (%rsi)
|
||||
0xf3 0xa6 #rep cmps
|
||||
# CHECK: rep cmpsl %es:(%rdi), (%rsi)
|
||||
0xf3 0xa7 #repe cmps
|
||||
# CHECK: rep scasb %es:(%rdi), %al
|
||||
0xf3 0xae #repe scas
|
||||
# CHECK: rep scasl %es:(%rdi), %eax
|
||||
0xf3 0xaf #repe scas
|
||||
# CHECK: repne cmpsb %es:(%rdi), (%rsi)
|
||||
0xf2 0xa6 #repne cmps
|
||||
# CHECK: repne cmpsl %es:(%rdi), (%rsi)
|
||||
0xf2 0xa7 #repne cmps
|
||||
# CHECK: repne scasb %es:(%rdi), %al
|
||||
0xf2 0xae #repne scas
|
||||
# CHECK: repne scasl %es:(%rdi), %eax
|
||||
0xf2 0xaf #repne scas
|
||||
|
||||
# CHECK: repne scasw %es:(%rdi), %ax
|
||||
# CHECK: repne scasw %es:(%rdi), %ax
|
||||
0x66 0xF2 0xAF 0xF2 0x66 0xAF
|
||||
|
||||
# CHECK: lock
|
||||
# CHECK-NEXT: orl $16, %fs:776
|
||||
0xf0 0x64 0x83 0x0c 0x25 0x08 0x03 0x00 0x00 0x10
|
||||
|
||||
# CHECK: movq %fs:768, %rdi
|
||||
0x64 0x48 0x8b 0x3c 0x25 0x00 0x03 0x00 0x00
|
||||
|
||||
# CHECK: rep stosq %rax, %es:(%rdi)
|
||||
0xf3 0x48 0xab
|
||||
|
||||
# CHECK: rep stosq %rax, %es:(%edi)
|
||||
0xf3 0x67 0x48 0xab
|
||||
|
||||
# CHECK: movl 32(%rbp), %eax
|
||||
0x8b 0x45 0x20
|
||||
|
||||
# CHECK: movl %es:32(%rbp), %eax
|
||||
0x26 0x8b 0x45 0x20
|
||||
|
||||
# CHECK: movl %es:32(%rbp), %eax
|
||||
0x2e 0x26 0x8b 0x45 0x20
|
||||
|
||||
# Test that multiple prefixes stack.
|
||||
# (todo- the correct disassembly is actually more like "es movl %cs:32(%rbp), %eax"
|
||||
# but we don't support that)
|
||||
# CHECK: movl %cs:32(%rbp), %eax
|
||||
0x26 0x2e 0x8b 0x45 0x20
|
||||
|
||||
# Test that 0xf3 as part of the opcode works.
|
||||
# CHECK: cvtdq2pd (%rax), %xmm0
|
||||
0xf3 0x0f 0xe6 0x00
|
||||
|
||||
# CHECK: pause
|
||||
0xf3 0x90
|
||||
|
||||
# CHECK: nop
|
||||
0x90
|
||||
|
||||
# CHECK: lock
|
||||
# CHECK-NEXT: nop
|
||||
0xf0 0x90
|
||||
|
||||
# Test that immediate is printed correctly within opsize prefix
|
||||
# CHECK: addw $-12, %ax
|
||||
0x66,0x83,0xc0,0xf4
|
||||
|
||||
# Test that multiple redundant prefixes work (redundant, but valid x86).
|
||||
# CHECK: rep stosq
|
||||
0xf3 0xf3 0x48 0xab
|
||||
|
||||
# Test that we can disassembler control registers above CR8
|
||||
# CHECK: movq %cr15, %rax
|
||||
0x44 0x0f 0x20 0xf8
|
||||
# CHECK: movq %dr15, %rax
|
||||
0x44 0x0f 0x21 0xf8
|
||||
|
||||
# Test that MMX ignore REX.R and REX.B.
|
||||
# CHECK: movq %mm0, %mm1
|
||||
0x46 0x0f 0x7f 0xc1
|
||||
|
||||
# Test that a prefix on it's own works. It's debatable as to if this is
|
||||
# something that is considered valid, but however as LLVM's own disassembler
|
||||
# has decided to disassemble prefixes as being separate opcodes, it therefore
|
||||
# should be capable of re-consuming it's own output.
|
||||
# CHECK: rep
|
||||
0xf3
|
||||
# ***IMPORTANT ^-- this must be at the end of the file to be a valid test ***
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +0,0 @@
|
||||
# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: warning
|
||||
0x00
|
793
external/llvm/test/MC/Disassembler/X86/x86-16.txt
vendored
793
external/llvm/test/MC/Disassembler/X86/x86-16.txt
vendored
File diff suppressed because it is too large
Load Diff
822
external/llvm/test/MC/Disassembler/X86/x86-32.txt
vendored
822
external/llvm/test/MC/Disassembler/X86/x86-32.txt
vendored
File diff suppressed because it is too large
Load Diff
@ -1,17 +0,0 @@
|
||||
# RUN: llvm-mc --disassemble %s -triple=x86_64 2>&1 | FileCheck --check-prefix=64 %s
|
||||
# RUN: llvm-mc --disassemble %s -triple=i386 | FileCheck --check-prefix=32 %s
|
||||
|
||||
# 64: warning: invalid instruction encoding
|
||||
# 32: into
|
||||
0xce
|
||||
|
||||
# 64: invalid instruction encoding
|
||||
0xc4,0x62,0xf9,0x18,0x20
|
||||
# 64: invalid instruction encoding
|
||||
0xc4,0x62,0xfd,0x18,0x20
|
||||
# 64: invalid instruction encoding
|
||||
0xc4,0xc2,0xfd,0x19,0xcc
|
||||
# 64: invalid instruction encoding
|
||||
0xc4,0xe2,0xfd,0x1a,0x08
|
||||
# 64: invalid instruction encoding
|
||||
0xc4,0xe3,0xfd,0x39,0xc5,0x01
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user