406 changes: 406 additions & 0 deletions llvm/test/MC/X86/I286-64.s

Large diffs are not rendered by default.

682 changes: 682 additions & 0 deletions llvm/test/MC/X86/I386-32.s

Large diffs are not rendered by default.

874 changes: 874 additions & 0 deletions llvm/test/MC/X86/I386-64.s

Large diffs are not rendered by default.

102 changes: 102 additions & 0 deletions llvm/test/MC/X86/I486-32.s
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s

// CHECK: bswapl %eax
// CHECK: encoding: [0x0f,0xc8]
bswapl %eax

// CHECK: cmpxchgl %eax, 3809469200(%edx,%eax,4)
// CHECK: encoding: [0x0f,0xb1,0x84,0x82,0x10,0xe3,0x0f,0xe3]
cmpxchgl %eax, 3809469200(%edx,%eax,4)

// CHECK: cmpxchgl %eax, 485498096(%edx,%eax,4)
// CHECK: encoding: [0x0f,0xb1,0x84,0x82,0xf0,0x1c,0xf0,0x1c]
cmpxchgl %eax, 485498096(%edx,%eax,4)

// CHECK: cmpxchgl %eax, 485498096(%edx)
// CHECK: encoding: [0x0f,0xb1,0x82,0xf0,0x1c,0xf0,0x1c]
cmpxchgl %eax, 485498096(%edx)

// CHECK: cmpxchgl %eax, 485498096
// CHECK: encoding: [0x0f,0xb1,0x05,0xf0,0x1c,0xf0,0x1c]
cmpxchgl %eax, 485498096

// CHECK: cmpxchgl %eax, 64(%edx,%eax)
// CHECK: encoding: [0x0f,0xb1,0x44,0x02,0x40]
cmpxchgl %eax, 64(%edx,%eax)

// CHECK: cmpxchgl %eax, %eax
// CHECK: encoding: [0x0f,0xb1,0xc0]
cmpxchgl %eax, %eax

// CHECK: cmpxchgl %eax, (%edx)
// CHECK: encoding: [0x0f,0xb1,0x02]
cmpxchgl %eax, (%edx)

// CHECK: cpuid
// CHECK: encoding: [0x0f,0xa2]
cpuid

// CHECK: invd
// CHECK: encoding: [0x0f,0x08]
invd

// CHECK: invlpg -485498096(%edx,%eax,4)
// CHECK: encoding: [0x0f,0x01,0xbc,0x82,0x10,0xe3,0x0f,0xe3]
invlpg -485498096(%edx,%eax,4)

// CHECK: invlpg 485498096(%edx,%eax,4)
// CHECK: encoding: [0x0f,0x01,0xbc,0x82,0xf0,0x1c,0xf0,0x1c]
invlpg 485498096(%edx,%eax,4)

// CHECK: invlpg 485498096(%edx)
// CHECK: encoding: [0x0f,0x01,0xba,0xf0,0x1c,0xf0,0x1c]
invlpg 485498096(%edx)

// CHECK: invlpg 485498096
// CHECK: encoding: [0x0f,0x01,0x3d,0xf0,0x1c,0xf0,0x1c]
invlpg 485498096

// CHECK: invlpg 64(%edx,%eax)
// CHECK: encoding: [0x0f,0x01,0x7c,0x02,0x40]
invlpg 64(%edx,%eax)

// CHECK: invlpg (%edx)
// CHECK: encoding: [0x0f,0x01,0x3a]
invlpg (%edx)

// CHECK: rsm
// CHECK: encoding: [0x0f,0xaa]
rsm

// CHECK: wbinvd
// CHECK: encoding: [0x0f,0x09]
wbinvd

// CHECK: xaddl %eax, 3809469200(%edx,%eax,4)
// CHECK: encoding: [0x0f,0xc1,0x84,0x82,0x10,0xe3,0x0f,0xe3]
xaddl %eax, 3809469200(%edx,%eax,4)

// CHECK: xaddl %eax, 485498096(%edx,%eax,4)
// CHECK: encoding: [0x0f,0xc1,0x84,0x82,0xf0,0x1c,0xf0,0x1c]
xaddl %eax, 485498096(%edx,%eax,4)

// CHECK: xaddl %eax, 485498096(%edx)
// CHECK: encoding: [0x0f,0xc1,0x82,0xf0,0x1c,0xf0,0x1c]
xaddl %eax, 485498096(%edx)

// CHECK: xaddl %eax, 485498096
// CHECK: encoding: [0x0f,0xc1,0x05,0xf0,0x1c,0xf0,0x1c]
xaddl %eax, 485498096

// CHECK: xaddl %eax, 64(%edx,%eax)
// CHECK: encoding: [0x0f,0xc1,0x44,0x02,0x40]
xaddl %eax, 64(%edx,%eax)

// CHECK: xaddl %eax, %eax
// CHECK: encoding: [0x0f,0xc1,0xc0]
xaddl %eax, %eax

// CHECK: xaddl %eax, (%edx)
// CHECK: encoding: [0x0f,0xc1,0x02]
xaddl %eax, (%edx)

166 changes: 166 additions & 0 deletions llvm/test/MC/X86/I486-64.s
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s

// CHECK: bswapl %r13d
// CHECK: encoding: [0x41,0x0f,0xcd]
bswapl %r13d

// CHECK: cmpxchgb %r14b, 485498096
// CHECK: encoding: [0x44,0x0f,0xb0,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
cmpxchgb %r14b, 485498096

// CHECK: cmpxchgb %r14b, 64(%rdx)
// CHECK: encoding: [0x44,0x0f,0xb0,0x72,0x40]
cmpxchgb %r14b, 64(%rdx)

// CHECK: cmpxchgb %r14b, 64(%rdx,%rax,4)
// CHECK: encoding: [0x44,0x0f,0xb0,0x74,0x82,0x40]
cmpxchgb %r14b, 64(%rdx,%rax,4)

// CHECK: cmpxchgb %r14b, -64(%rdx,%rax,4)
// CHECK: encoding: [0x44,0x0f,0xb0,0x74,0x82,0xc0]
cmpxchgb %r14b, -64(%rdx,%rax,4)

// CHECK: cmpxchgb %r14b, 64(%rdx,%rax)
// CHECK: encoding: [0x44,0x0f,0xb0,0x74,0x02,0x40]
cmpxchgb %r14b, 64(%rdx,%rax)

// CHECK: cmpxchgb %r14b, %r14b
// CHECK: encoding: [0x45,0x0f,0xb0,0xf6]
cmpxchgb %r14b, %r14b

// CHECK: cmpxchgb %r14b, (%rdx)
// CHECK: encoding: [0x44,0x0f,0xb0,0x32]
cmpxchgb %r14b, (%rdx)

// CHECK: cmpxchgl %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0xb1,0xed]
cmpxchgl %r13d, %r13d

// CHECK: cmpxchgw %r14w, 485498096
// CHECK: encoding: [0x66,0x44,0x0f,0xb1,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
cmpxchgw %r14w, 485498096

// CHECK: cmpxchgw %r14w, 64(%rdx)
// CHECK: encoding: [0x66,0x44,0x0f,0xb1,0x72,0x40]
cmpxchgw %r14w, 64(%rdx)

// CHECK: cmpxchgw %r14w, 64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0x44,0x0f,0xb1,0x74,0x82,0x40]
cmpxchgw %r14w, 64(%rdx,%rax,4)

// CHECK: cmpxchgw %r14w, -64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0x44,0x0f,0xb1,0x74,0x82,0xc0]
cmpxchgw %r14w, -64(%rdx,%rax,4)

// CHECK: cmpxchgw %r14w, 64(%rdx,%rax)
// CHECK: encoding: [0x66,0x44,0x0f,0xb1,0x74,0x02,0x40]
cmpxchgw %r14w, 64(%rdx,%rax)

// CHECK: cmpxchgw %r14w, %r14w
// CHECK: encoding: [0x66,0x45,0x0f,0xb1,0xf6]
cmpxchgw %r14w, %r14w

// CHECK: cmpxchgw %r14w, (%rdx)
// CHECK: encoding: [0x66,0x44,0x0f,0xb1,0x32]
cmpxchgw %r14w, (%rdx)

// CHECK: cpuid
// CHECK: encoding: [0x0f,0xa2]
cpuid

// CHECK: invd
// CHECK: encoding: [0x0f,0x08]
invd

// CHECK: invlpg 485498096
// CHECK: encoding: [0x0f,0x01,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
invlpg 485498096

// CHECK: invlpg 64(%rdx)
// CHECK: encoding: [0x0f,0x01,0x7a,0x40]
invlpg 64(%rdx)

// CHECK: invlpg 64(%rdx,%rax,4)
// CHECK: encoding: [0x0f,0x01,0x7c,0x82,0x40]
invlpg 64(%rdx,%rax,4)

// CHECK: invlpg -64(%rdx,%rax,4)
// CHECK: encoding: [0x0f,0x01,0x7c,0x82,0xc0]
invlpg -64(%rdx,%rax,4)

// CHECK: invlpg 64(%rdx,%rax)
// CHECK: encoding: [0x0f,0x01,0x7c,0x02,0x40]
invlpg 64(%rdx,%rax)

// CHECK: invlpg (%rdx)
// CHECK: encoding: [0x0f,0x01,0x3a]
invlpg (%rdx)

// CHECK: rsm
// CHECK: encoding: [0x0f,0xaa]
rsm

// CHECK: wbinvd
// CHECK: encoding: [0x0f,0x09]
wbinvd

// CHECK: xaddb %r14b, 485498096
// CHECK: encoding: [0x44,0x0f,0xc0,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
xaddb %r14b, 485498096

// CHECK: xaddb %r14b, 64(%rdx)
// CHECK: encoding: [0x44,0x0f,0xc0,0x72,0x40]
xaddb %r14b, 64(%rdx)

// CHECK: xaddb %r14b, 64(%rdx,%rax,4)
// CHECK: encoding: [0x44,0x0f,0xc0,0x74,0x82,0x40]
xaddb %r14b, 64(%rdx,%rax,4)

// CHECK: xaddb %r14b, -64(%rdx,%rax,4)
// CHECK: encoding: [0x44,0x0f,0xc0,0x74,0x82,0xc0]
xaddb %r14b, -64(%rdx,%rax,4)

// CHECK: xaddb %r14b, 64(%rdx,%rax)
// CHECK: encoding: [0x44,0x0f,0xc0,0x74,0x02,0x40]
xaddb %r14b, 64(%rdx,%rax)

// CHECK: xaddb %r14b, %r14b
// CHECK: encoding: [0x45,0x0f,0xc0,0xf6]
xaddb %r14b, %r14b

// CHECK: xaddb %r14b, (%rdx)
// CHECK: encoding: [0x44,0x0f,0xc0,0x32]
xaddb %r14b, (%rdx)

// CHECK: xaddl %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0xc1,0xed]
xaddl %r13d, %r13d

// CHECK: xaddw %r14w, 485498096
// CHECK: encoding: [0x66,0x44,0x0f,0xc1,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
xaddw %r14w, 485498096

// CHECK: xaddw %r14w, 64(%rdx)
// CHECK: encoding: [0x66,0x44,0x0f,0xc1,0x72,0x40]
xaddw %r14w, 64(%rdx)

// CHECK: xaddw %r14w, 64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0x44,0x0f,0xc1,0x74,0x82,0x40]
xaddw %r14w, 64(%rdx,%rax,4)

// CHECK: xaddw %r14w, -64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0x44,0x0f,0xc1,0x74,0x82,0xc0]
xaddw %r14w, -64(%rdx,%rax,4)

// CHECK: xaddw %r14w, 64(%rdx,%rax)
// CHECK: encoding: [0x66,0x44,0x0f,0xc1,0x74,0x02,0x40]
xaddw %r14w, 64(%rdx,%rax)

// CHECK: xaddw %r14w, %r14w
// CHECK: encoding: [0x66,0x45,0x0f,0xc1,0xf6]
xaddw %r14w, %r14w

// CHECK: xaddw %r14w, (%rdx)
// CHECK: encoding: [0x66,0x44,0x0f,0xc1,0x32]
xaddw %r14w, (%rdx)

3,530 changes: 3,530 additions & 0 deletions llvm/test/MC/X86/I86-32.s

Large diffs are not rendered by default.

4,846 changes: 4,846 additions & 0 deletions llvm/test/MC/X86/I86-64.s

Large diffs are not rendered by default.

1,730 changes: 1,730 additions & 0 deletions llvm/test/MC/X86/MMX-32.s

Large diffs are not rendered by default.

1,754 changes: 1,754 additions & 0 deletions llvm/test/MC/X86/MMX-64.s

Large diffs are not rendered by default.

126 changes: 126 additions & 0 deletions llvm/test/MC/X86/PPRO-32.s
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s

// CHECK: cmovael %eax, %eax
// CHECK: encoding: [0x0f,0x43,0xc0]
cmovael %eax, %eax

// CHECK: cmoval %eax, %eax
// CHECK: encoding: [0x0f,0x47,0xc0]
cmoval %eax, %eax

// CHECK: cmovbel %eax, %eax
// CHECK: encoding: [0x0f,0x46,0xc0]
cmovbel %eax, %eax

// CHECK: cmovbl %eax, %eax
// CHECK: encoding: [0x0f,0x42,0xc0]
cmovbl %eax, %eax

// CHECK: cmovel %eax, %eax
// CHECK: encoding: [0x0f,0x44,0xc0]
cmovel %eax, %eax

// CHECK: cmovgel %eax, %eax
// CHECK: encoding: [0x0f,0x4d,0xc0]
cmovgel %eax, %eax

// CHECK: cmovgl %eax, %eax
// CHECK: encoding: [0x0f,0x4f,0xc0]
cmovgl %eax, %eax

// CHECK: cmovlel %eax, %eax
// CHECK: encoding: [0x0f,0x4e,0xc0]
cmovlel %eax, %eax

// CHECK: cmovll %eax, %eax
// CHECK: encoding: [0x0f,0x4c,0xc0]
cmovll %eax, %eax

// CHECK: cmovnel %eax, %eax
// CHECK: encoding: [0x0f,0x45,0xc0]
cmovnel %eax, %eax

// CHECK: cmovnol %eax, %eax
// CHECK: encoding: [0x0f,0x41,0xc0]
cmovnol %eax, %eax

// CHECK: cmovnpl %eax, %eax
// CHECK: encoding: [0x0f,0x4b,0xc0]
cmovnpl %eax, %eax

// CHECK: cmovnsl %eax, %eax
// CHECK: encoding: [0x0f,0x49,0xc0]
cmovnsl %eax, %eax

// CHECK: cmovol %eax, %eax
// CHECK: encoding: [0x0f,0x40,0xc0]
cmovol %eax, %eax

// CHECK: cmovpl %eax, %eax
// CHECK: encoding: [0x0f,0x4a,0xc0]
cmovpl %eax, %eax

// CHECK: cmovsl %eax, %eax
// CHECK: encoding: [0x0f,0x48,0xc0]
cmovsl %eax, %eax

// CHECK: fcmovbe %st(4), %st(0)
// CHECK: encoding: [0xda,0xd4]
fcmovbe %st(4), %st(0)

// CHECK: fcmovb %st(4), %st(0)
// CHECK: encoding: [0xda,0xc4]
fcmovb %st(4), %st(0)

// CHECK: fcmove %st(4), %st(0)
// CHECK: encoding: [0xda,0xcc]
fcmove %st(4), %st(0)

// CHECK: fcmovnbe %st(4), %st(0)
// CHECK: encoding: [0xdb,0xd4]
fcmovnbe %st(4), %st(0)

// CHECK: fcmovnb %st(4), %st(0)
// CHECK: encoding: [0xdb,0xc4]
fcmovnb %st(4), %st(0)

// CHECK: fcmovne %st(4), %st(0)
// CHECK: encoding: [0xdb,0xcc]
fcmovne %st(4), %st(0)

// CHECK: fcmovnu %st(4), %st(0)
// CHECK: encoding: [0xdb,0xdc]
fcmovnu %st(4), %st(0)

// CHECK: fcmovu %st(4), %st(0)
// CHECK: encoding: [0xda,0xdc]
fcmovu %st(4), %st(0)

// CHECK: fcomi %st(4)
// CHECK: encoding: [0xdb,0xf4]
fcomi %st(4)

// CHECK: fcompi %st(4)
// CHECK: encoding: [0xdf,0xf4]
fcompi %st(4)

// CHECK: fucomi %st(4)
// CHECK: encoding: [0xdb,0xec]
fucomi %st(4)

// CHECK: fucompi %st(4)
// CHECK: encoding: [0xdf,0xec]
fucompi %st(4)

// CHECK: sysenter
// CHECK: encoding: [0x0f,0x34]
sysenter

// CHECK: sysexitl
// CHECK: encoding: [0x0f,0x35]
sysexitl

// CHECK: ud2
// CHECK: encoding: [0x0f,0x0b]
ud2

130 changes: 130 additions & 0 deletions llvm/test/MC/X86/PPRO-64.s
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s

// CHECK: cmovael %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0x43,0xed]
cmovael %r13d, %r13d

// CHECK: cmoval %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0x47,0xed]
cmoval %r13d, %r13d

// CHECK: cmovbel %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0x46,0xed]
cmovbel %r13d, %r13d

// CHECK: cmovbl %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0x42,0xed]
cmovbl %r13d, %r13d

// CHECK: cmovel %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0x44,0xed]
cmovel %r13d, %r13d

// CHECK: cmovgel %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0x4d,0xed]
cmovgel %r13d, %r13d

// CHECK: cmovgl %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0x4f,0xed]
cmovgl %r13d, %r13d

// CHECK: cmovlel %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0x4e,0xed]
cmovlel %r13d, %r13d

// CHECK: cmovll %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0x4c,0xed]
cmovll %r13d, %r13d

// CHECK: cmovnel %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0x45,0xed]
cmovnel %r13d, %r13d

// CHECK: cmovnol %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0x41,0xed]
cmovnol %r13d, %r13d

// CHECK: cmovnpl %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0x4b,0xed]
cmovnpl %r13d, %r13d

// CHECK: cmovnsl %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0x49,0xed]
cmovnsl %r13d, %r13d

// CHECK: cmovol %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0x40,0xed]
cmovol %r13d, %r13d

// CHECK: cmovpl %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0x4a,0xed]
cmovpl %r13d, %r13d

// CHECK: cmovsl %r13d, %r13d
// CHECK: encoding: [0x45,0x0f,0x48,0xed]
cmovsl %r13d, %r13d

// CHECK: fcmovbe %st(4), %st(0)
// CHECK: encoding: [0xda,0xd4]
fcmovbe %st(4), %st(0)

// CHECK: fcmovb %st(4), %st(0)
// CHECK: encoding: [0xda,0xc4]
fcmovb %st(4), %st(0)

// CHECK: fcmove %st(4), %st(0)
// CHECK: encoding: [0xda,0xcc]
fcmove %st(4), %st(0)

// CHECK: fcmovnbe %st(4), %st(0)
// CHECK: encoding: [0xdb,0xd4]
fcmovnbe %st(4), %st(0)

// CHECK: fcmovnb %st(4), %st(0)
// CHECK: encoding: [0xdb,0xc4]
fcmovnb %st(4), %st(0)

// CHECK: fcmovne %st(4), %st(0)
// CHECK: encoding: [0xdb,0xcc]
fcmovne %st(4), %st(0)

// CHECK: fcmovnu %st(4), %st(0)
// CHECK: encoding: [0xdb,0xdc]
fcmovnu %st(4), %st(0)

// CHECK: fcmovu %st(4), %st(0)
// CHECK: encoding: [0xda,0xdc]
fcmovu %st(4), %st(0)

// CHECK: fcomi %st(4)
// CHECK: encoding: [0xdb,0xf4]
fcomi %st(4)

// CHECK: fcompi %st(4)
// CHECK: encoding: [0xdf,0xf4]
fcompi %st(4)

// CHECK: fucomi %st(4)
// CHECK: encoding: [0xdb,0xec]
fucomi %st(4)

// CHECK: fucompi %st(4)
// CHECK: encoding: [0xdf,0xec]
fucompi %st(4)

// CHECK: sysenter
// CHECK: encoding: [0x0f,0x34]
sysenter

// CHECK: sysexitl
// CHECK: encoding: [0x0f,0x35]
sysexitl

// CHECK: sysexitq
// CHECK: encoding: [0x48,0x0f,0x35]
sysexitq

// CHECK: ud2
// CHECK: encoding: [0x0f,0x0b]
ud2