summaryrefslogtreecommitdiff
path: root/test/MC/AsmParser
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-09-30 17:14:30 +0000
committerChris Lattner <sabre@nondot.org>2010-09-30 17:14:30 +0000
commitebfa86b4349bb38732f0b927ed2589b176e69cb5 (patch)
treecec851645282d2ad6a7a1b141b9205b5c24497e0 /test/MC/AsmParser
parent905f2e06691672c236ae864faf0ad7220afc2844 (diff)
downloadllvm-ebfa86b4349bb38732f0b927ed2589b176e69cb5.tar.gz
llvm-ebfa86b4349bb38732f0b927ed2589b176e69cb5.tar.bz2
llvm-ebfa86b4349bb38732f0b927ed2589b176e69cb5.tar.xz
merge two tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115170 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/AsmParser')
-rw-r--r--test/MC/AsmParser/X86/x86_64-new-encoder.s262
-rw-r--r--test/MC/AsmParser/X86/x86_instructions.s256
2 files changed, 256 insertions, 262 deletions
diff --git a/test/MC/AsmParser/X86/x86_64-new-encoder.s b/test/MC/AsmParser/X86/x86_64-new-encoder.s
deleted file mode 100644
index f0720d07c7..0000000000
--- a/test/MC/AsmParser/X86/x86_64-new-encoder.s
+++ /dev/null
@@ -1,262 +0,0 @@
-// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
-
-movl foo(%rip), %eax
-// CHECK: movl foo(%rip), %eax
-// CHECK: encoding: [0x8b,0x05,A,A,A,A]
-// CHECK: fixup A - offset: 2, value: foo-4, kind: reloc_riprel_4byte
-
-movb $12, foo(%rip)
-// CHECK: movb $12, foo(%rip)
-// CHECK: encoding: [0xc6,0x05,A,A,A,A,0x0c]
-// CHECK: fixup A - offset: 2, value: foo-5, kind: reloc_riprel_4byte
-
-movw $12, foo(%rip)
-// CHECK: movw $12, foo(%rip)
-// CHECK: encoding: [0x66,0xc7,0x05,A,A,A,A,0x0c,0x00]
-// CHECK: fixup A - offset: 3, value: foo-6, kind: reloc_riprel_4byte
-
-movl $12, foo(%rip)
-// CHECK: movl $12, foo(%rip)
-// CHECK: encoding: [0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
-// CHECK: fixup A - offset: 2, value: foo-8, kind: reloc_riprel_4byte
-
-movq $12, foo(%rip)
-// CHECK: movq $12, foo(%rip)
-// CHECK: encoding: [0x48,0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
-// CHECK: fixup A - offset: 3, value: foo-8, kind: reloc_riprel_4byte
-
-// CHECK: addq $-424, %rax
-// CHECK: encoding: [0x48,0x05,0x58,0xfe,0xff,0xff]
-addq $-424, %rax
-
-
-// CHECK: movq _foo@GOTPCREL(%rip), %rax
-// CHECK: encoding: [0x48,0x8b,0x05,A,A,A,A]
-// CHECK: fixup A - offset: 3, value: _foo@GOTPCREL-4, kind: reloc_riprel_4byte_movq_load
-movq _foo@GOTPCREL(%rip), %rax
-
-// CHECK: movq _foo@GOTPCREL(%rip), %r14
-// CHECK: encoding: [0x4c,0x8b,0x35,A,A,A,A]
-// CHECK: fixup A - offset: 3, value: _foo@GOTPCREL-4, kind: reloc_riprel_4byte_movq_load
-movq _foo@GOTPCREL(%rip), %r14
-
-
-// CHECK: movq (%r13,%rax,8), %r13
-// CHECK: encoding: [0x4d,0x8b,0x6c,0xc5,0x00]
-movq 0x00(%r13,%rax,8),%r13
-
-// CHECK: testq %rax, %rbx
-// CHECK: encoding: [0x48,0x85,0xd8]
-testq %rax, %rbx
-
-// CHECK: cmpq %rbx, %r14
-// CHECK: encoding: [0x49,0x39,0xde]
- cmpq %rbx, %r14
-
-// rdar://7947167
-
-movsq
-// CHECK: movsq
-// CHECK: encoding: [0x48,0xa5]
-
-movsl
-// CHECK: movsl
-// CHECK: encoding: [0xa5]
-
-stosq
-// CHECK: stosq
-// CHECK: encoding: [0x48,0xab]
-stosl
-// CHECK: stosl
-// CHECK: encoding: [0xab]
-
-
-// Not moffset forms of moves, they are x86-32 only! rdar://7947184
-movb 0, %al // CHECK: movb 0, %al # encoding: [0x8a,0x04,0x25,0x00,0x00,0x00,0x00]
-movw 0, %ax // CHECK: movw 0, %ax # encoding: [0x66,0x8b,0x04,0x25,0x00,0x00,0x00,0x00]
-movl 0, %eax // CHECK: movl 0, %eax # encoding: [0x8b,0x04,0x25,0x00,0x00,0x00,0x00]
-
-// CHECK: pushfq # encoding: [0x9c]
- pushf
-// CHECK: pushfq # encoding: [0x9c]
- pushfq
-// CHECK: popfq # encoding: [0x9d]
- popf
-// CHECK: popfq # encoding: [0x9d]
- popfq
-
-// CHECK: movabsq $-281474976710654, %rax
-// CHECK: encoding: [0x48,0xb8,0x02,0x00,0x00,0x00,0x00,0x00,0xff,0xff]
- movabsq $0xFFFF000000000002, %rax
-
-// CHECK: movq $-281474976710654, %rax
-// CHECK: encoding: [0x48,0xb8,0x02,0x00,0x00,0x00,0x00,0x00,0xff,0xff]
- movq $0xFFFF000000000002, %rax
-
-// CHECK: movq $-65536, %rax
-// CHECK: encoding: [0x48,0xc7,0xc0,0x00,0x00,0xff,0xff]
- movq $0xFFFFFFFFFFFF0000, %rax
-
-// CHECK: movq $-256, %rax
-// CHECK: encoding: [0x48,0xc7,0xc0,0x00,0xff,0xff,0xff]
- movq $0xFFFFFFFFFFFFFF00, %rax
-
-// CHECK: movq $10, %rax
-// CHECK: encoding: [0x48,0xc7,0xc0,0x0a,0x00,0x00,0x00]
- movq $10, %rax
-
-// rdar://8014869
-//
-// CHECK: ret
-// CHECK: encoding: [0xc3]
- retq
-
-// CHECK: sete %al
-// CHECK: encoding: [0x0f,0x94,0xc0]
- setz %al
-
-// CHECK: setne %al
-// CHECK: encoding: [0x0f,0x95,0xc0]
- setnz %al
-
-// CHECK: je 0
-// CHECK: encoding: [0x74,A]
- jz 0
-
-// CHECK: jne
-// CHECK: encoding: [0x75,A]
- jnz 0
-
-// rdar://8017515
-btq $0x01,%rdx
-// CHECK: btq $1, %rdx
-// CHECK: encoding: [0x48,0x0f,0xba,0xe2,0x01]
-
-//rdar://8017633
-// CHECK: movzbl %al, %esi
-// CHECK: encoding: [0x0f,0xb6,0xf0]
- movzx %al, %esi
-
-// CHECK: movzbq %al, %rsi
-// CHECK: encoding: [0x48,0x0f,0xb6,0xf0]
- movzx %al, %rsi
-
-// CHECK: movzbq (%rsp), %rsi
-// CHECK: encoding: [0x48,0x0f,0xb6,0x34,0x24]
- movzx 0(%rsp), %rsi
-
-
-// rdar://7873482
-// CHECK: [0x65,0x8b,0x04,0x25,0x7c,0x00,0x00,0x00]
- movl %gs:124, %eax
-
-// CHECK: jmpq *8(%rax)
-// CHECK: encoding: [0xff,0x60,0x08]
- jmp *8(%rax)
-
-// CHECK: btq $61, -216(%rbp)
-// CHECK: encoding: [0x48,0x0f,0xba,0xa5,0x28,0xff,0xff,0xff,0x3d]
- btq $61, -216(%rbp)
-
-
-// rdar://8061602
-L1:
- jecxz L1
-// CHECK: jecxz L1
-// CHECK: encoding: [0x67,0xe3,A]
- jrcxz L1
-// CHECK: jrcxz L1
-// CHECK: encoding: [0xe3,A]
-
-// PR8061
-xchgl 368(%rax),%ecx
-// CHECK: xchgl %ecx, 368(%rax)
-xchgl %ecx, 368(%rax)
-// CHECK: xchgl %ecx, 368(%rax)
-
-// rdar://8407548
-xchg 0xdeadbeef(%rbx,%rcx,8),%bl
-// CHECK: xchgb %bl, 3735928559(%rbx,%rcx,8)
-
-
-
-// PR7254
-lock incl 1(%rsp)
-// CHECK: lock
-// CHECK: incl 1(%rsp)
-
-// rdar://8033482
-rep movsl
-// CHECK: rep
-// CHECK: encoding: [0xf3]
-// CHECK: movsl
-// CHECK: encoding: [0xa5]
-
-
-// rdar://8403974
-iret
-// CHECK: iretl
-// CHECK: encoding: [0xcf]
-iretw
-// CHECK: iretw
-// CHECK: encoding: [0x66,0xcf]
-iretl
-// CHECK: iretl
-// CHECK: encoding: [0xcf]
-iretq
-// CHECK: iretq
-// CHECK: encoding: [0x48,0xcf]
-
-// rdar://8403907
-sysret
-// CHECK: sysretl
-// CHECK: encoding: [0x0f,0x07]
-sysretl
-// CHECK: sysretl
-// CHECK: encoding: [0x0f,0x07]
-sysretq
-// CHECK: sysretq
-// CHECK: encoding: [0x48,0x0f,0x07]
-
-// rdar://8407242
-push %fs
-// CHECK: pushq %fs
-// CHECK: encoding: [0x0f,0xa0]
-push %gs
-// CHECK: pushq %gs
-// CHECK: encoding: [0x0f,0xa8]
-
-pushw %fs
-// CHECK: pushw %fs
-// CHECK: encoding: [0x66,0x0f,0xa0]
-pushw %gs
-// CHECK: pushw %gs
-// CHECK: encoding: [0x66,0x0f,0xa8]
-
-
-pop %fs
-// CHECK: popq %fs
-// CHECK: encoding: [0x0f,0xa1]
-pop %gs
-// CHECK: popq %gs
-// CHECK: encoding: [0x0f,0xa9]
-
-popw %fs
-// CHECK: popw %fs
-// CHECK: encoding: [0x66,0x0f,0xa1]
-popw %gs
-// CHECK: popw %gs
-// CHECK: encoding: [0x66,0x0f,0xa9]
-
-// rdar://8438816
-fildq -8(%rsp)
-fildll -8(%rsp)
-// CHECK: fildll -8(%rsp)
-// CHECK: encoding: [0xdf,0x6c,0x24,0xf8]
-// CHECK: fildll -8(%rsp)
-// CHECK: encoding: [0xdf,0x6c,0x24,0xf8]
-
-
-
-
-
diff --git a/test/MC/AsmParser/X86/x86_instructions.s b/test/MC/AsmParser/X86/x86_instructions.s
index a0bc0c9236..e63b69799b 100644
--- a/test/MC/AsmParser/X86/x86_instructions.s
+++ b/test/MC/AsmParser/X86/x86_instructions.s
@@ -494,3 +494,259 @@ fsubrp %ST(0), %ST(1) // CHECK: encoding: [0xde,0xe9]
fsubrp %ST(1), %ST(0) // CHECK: encoding: [0xde,0xe9]
+movl foo(%rip), %eax
+// CHECK: movl foo(%rip), %eax
+// CHECK: encoding: [0x8b,0x05,A,A,A,A]
+// CHECK: fixup A - offset: 2, value: foo-4, kind: reloc_riprel_4byte
+
+movb $12, foo(%rip)
+// CHECK: movb $12, foo(%rip)
+// CHECK: encoding: [0xc6,0x05,A,A,A,A,0x0c]
+// CHECK: fixup A - offset: 2, value: foo-5, kind: reloc_riprel_4byte
+
+movw $12, foo(%rip)
+// CHECK: movw $12, foo(%rip)
+// CHECK: encoding: [0x66,0xc7,0x05,A,A,A,A,0x0c,0x00]
+// CHECK: fixup A - offset: 3, value: foo-6, kind: reloc_riprel_4byte
+
+movl $12, foo(%rip)
+// CHECK: movl $12, foo(%rip)
+// CHECK: encoding: [0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
+// CHECK: fixup A - offset: 2, value: foo-8, kind: reloc_riprel_4byte
+
+movq $12, foo(%rip)
+// CHECK: movq $12, foo(%rip)
+// CHECK: encoding: [0x48,0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
+// CHECK: fixup A - offset: 3, value: foo-8, kind: reloc_riprel_4byte
+
+// CHECK: addq $-424, %rax
+// CHECK: encoding: [0x48,0x05,0x58,0xfe,0xff,0xff]
+addq $-424, %rax
+
+
+// CHECK: movq _foo@GOTPCREL(%rip), %rax
+// CHECK: encoding: [0x48,0x8b,0x05,A,A,A,A]
+// CHECK: fixup A - offset: 3, value: _foo@GOTPCREL-4, kind: reloc_riprel_4byte_movq_load
+movq _foo@GOTPCREL(%rip), %rax
+
+// CHECK: movq _foo@GOTPCREL(%rip), %r14
+// CHECK: encoding: [0x4c,0x8b,0x35,A,A,A,A]
+// CHECK: fixup A - offset: 3, value: _foo@GOTPCREL-4, kind: reloc_riprel_4byte_movq_load
+movq _foo@GOTPCREL(%rip), %r14
+
+
+// CHECK: movq (%r13,%rax,8), %r13
+// CHECK: encoding: [0x4d,0x8b,0x6c,0xc5,0x00]
+movq 0x00(%r13,%rax,8),%r13
+
+// CHECK: testq %rax, %rbx
+// CHECK: encoding: [0x48,0x85,0xd8]
+testq %rax, %rbx
+
+// CHECK: cmpq %rbx, %r14
+// CHECK: encoding: [0x49,0x39,0xde]
+ cmpq %rbx, %r14
+
+// rdar://7947167
+
+movsq
+// CHECK: movsq
+// CHECK: encoding: [0x48,0xa5]
+
+movsl
+// CHECK: movsl
+// CHECK: encoding: [0xa5]
+
+stosq
+// CHECK: stosq
+// CHECK: encoding: [0x48,0xab]
+stosl
+// CHECK: stosl
+// CHECK: encoding: [0xab]
+
+
+// Not moffset forms of moves, they are x86-32 only! rdar://7947184
+movb 0, %al // CHECK: movb 0, %al # encoding: [0x8a,0x04,0x25,0x00,0x00,0x00,0x00]
+movw 0, %ax // CHECK: movw 0, %ax # encoding: [0x66,0x8b,0x04,0x25,0x00,0x00,0x00,0x00]
+movl 0, %eax // CHECK: movl 0, %eax # encoding: [0x8b,0x04,0x25,0x00,0x00,0x00,0x00]
+
+// CHECK: pushfq # encoding: [0x9c]
+ pushf
+// CHECK: pushfq # encoding: [0x9c]
+ pushfq
+// CHECK: popfq # encoding: [0x9d]
+ popf
+// CHECK: popfq # encoding: [0x9d]
+ popfq
+
+// CHECK: movabsq $-281474976710654, %rax
+// CHECK: encoding: [0x48,0xb8,0x02,0x00,0x00,0x00,0x00,0x00,0xff,0xff]
+ movabsq $0xFFFF000000000002, %rax
+
+// CHECK: movq $-281474976710654, %rax
+// CHECK: encoding: [0x48,0xb8,0x02,0x00,0x00,0x00,0x00,0x00,0xff,0xff]
+ movq $0xFFFF000000000002, %rax
+
+// CHECK: movq $-65536, %rax
+// CHECK: encoding: [0x48,0xc7,0xc0,0x00,0x00,0xff,0xff]
+ movq $0xFFFFFFFFFFFF0000, %rax
+
+// CHECK: movq $-256, %rax
+// CHECK: encoding: [0x48,0xc7,0xc0,0x00,0xff,0xff,0xff]
+ movq $0xFFFFFFFFFFFFFF00, %rax
+
+// CHECK: movq $10, %rax
+// CHECK: encoding: [0x48,0xc7,0xc0,0x0a,0x00,0x00,0x00]
+ movq $10, %rax
+
+// rdar://8014869
+//
+// CHECK: ret
+// CHECK: encoding: [0xc3]
+ retq
+
+// CHECK: sete %al
+// CHECK: encoding: [0x0f,0x94,0xc0]
+ setz %al
+
+// CHECK: setne %al
+// CHECK: encoding: [0x0f,0x95,0xc0]
+ setnz %al
+
+// CHECK: je 0
+// CHECK: encoding: [0x74,A]
+ jz 0
+
+// CHECK: jne
+// CHECK: encoding: [0x75,A]
+ jnz 0
+
+// rdar://8017515
+btq $0x01,%rdx
+// CHECK: btq $1, %rdx
+// CHECK: encoding: [0x48,0x0f,0xba,0xe2,0x01]
+
+//rdar://8017633
+// CHECK: movzbl %al, %esi
+// CHECK: encoding: [0x0f,0xb6,0xf0]
+ movzx %al, %esi
+
+// CHECK: movzbq %al, %rsi
+// CHECK: encoding: [0x48,0x0f,0xb6,0xf0]
+ movzx %al, %rsi
+
+// CHECK: movzbq (%rsp), %rsi
+// CHECK: encoding: [0x48,0x0f,0xb6,0x34,0x24]
+ movzx 0(%rsp), %rsi
+
+
+// rdar://7873482
+// CHECK: [0x65,0x8b,0x04,0x25,0x7c,0x00,0x00,0x00]
+ movl %gs:124, %eax
+
+// CHECK: jmpq *8(%rax)
+// CHECK: encoding: [0xff,0x60,0x08]
+ jmp *8(%rax)
+
+// CHECK: btq $61, -216(%rbp)
+// CHECK: encoding: [0x48,0x0f,0xba,0xa5,0x28,0xff,0xff,0xff,0x3d]
+ btq $61, -216(%rbp)
+
+
+// rdar://8061602
+L1:
+ jecxz L1
+// CHECK: jecxz L1
+// CHECK: encoding: [0x67,0xe3,A]
+ jrcxz L1
+// CHECK: jrcxz L1
+// CHECK: encoding: [0xe3,A]
+
+// PR8061
+xchgl 368(%rax),%ecx
+// CHECK: xchgl %ecx, 368(%rax)
+xchgl %ecx, 368(%rax)
+// CHECK: xchgl %ecx, 368(%rax)
+
+// rdar://8407548
+xchg 0xdeadbeef(%rbx,%rcx,8),%bl
+// CHECK: xchgb %bl, 3735928559(%rbx,%rcx,8)
+
+
+
+// PR7254
+lock incl 1(%rsp)
+// CHECK: lock
+// CHECK: incl 1(%rsp)
+
+// rdar://8033482
+rep movsl
+// CHECK: rep
+// CHECK: encoding: [0xf3]
+// CHECK: movsl
+// CHECK: encoding: [0xa5]
+
+
+// rdar://8403974
+iret
+// CHECK: iretl
+// CHECK: encoding: [0xcf]
+iretw
+// CHECK: iretw
+// CHECK: encoding: [0x66,0xcf]
+iretl
+// CHECK: iretl
+// CHECK: encoding: [0xcf]
+iretq
+// CHECK: iretq
+// CHECK: encoding: [0x48,0xcf]
+
+// rdar://8403907
+sysret
+// CHECK: sysretl
+// CHECK: encoding: [0x0f,0x07]
+sysretl
+// CHECK: sysretl
+// CHECK: encoding: [0x0f,0x07]
+sysretq
+// CHECK: sysretq
+// CHECK: encoding: [0x48,0x0f,0x07]
+
+// rdar://8407242
+push %fs
+// CHECK: pushq %fs
+// CHECK: encoding: [0x0f,0xa0]
+push %gs
+// CHECK: pushq %gs
+// CHECK: encoding: [0x0f,0xa8]
+
+pushw %fs
+// CHECK: pushw %fs
+// CHECK: encoding: [0x66,0x0f,0xa0]
+pushw %gs
+// CHECK: pushw %gs
+// CHECK: encoding: [0x66,0x0f,0xa8]
+
+
+pop %fs
+// CHECK: popq %fs
+// CHECK: encoding: [0x0f,0xa1]
+pop %gs
+// CHECK: popq %gs
+// CHECK: encoding: [0x0f,0xa9]
+
+popw %fs
+// CHECK: popw %fs
+// CHECK: encoding: [0x66,0x0f,0xa1]
+popw %gs
+// CHECK: popw %gs
+// CHECK: encoding: [0x66,0x0f,0xa9]
+
+// rdar://8438816
+fildq -8(%rsp)
+fildll -8(%rsp)
+// CHECK: fildll -8(%rsp)
+// CHECK: encoding: [0xdf,0x6c,0x24,0xf8]
+// CHECK: fildll -8(%rsp)
+// CHECK: encoding: [0xdf,0x6c,0x24,0xf8]
+