mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-22 07:32:48 +00:00
b834f5d13d
something totally broken and parsing them as immediates, but the .td file also had the wrong match class so things sortof worked. Except, that is, that we would parse movl $0, %eax as movl 0, %eax Feel free to guess how well that worked. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94869 91177308-0d34-0410-b5e6-96231b3b80d8
67 lines
1.6 KiB
ArmAsm
67 lines
1.6 KiB
ArmAsm
// FIXME: Switch back to FileCheck once we print actual instructions
|
|
|
|
// RUN: llvm-mc -triple x86_64-unknown-unknown %s | FileCheck %s
|
|
|
|
// CHECK: subb %al, %al
|
|
subb %al, %al
|
|
|
|
// CHECK: addl $24, %eax
|
|
addl $24, %eax
|
|
|
|
// CHECK: movl %eax, 10(%ebp)
|
|
movl %eax, 10(%ebp)
|
|
// CHECK: movl %eax, 10(%ebp,%ebx)
|
|
movl %eax, 10(%ebp, %ebx)
|
|
// CHECK: movl %eax, 10(%ebp,%ebx,4)
|
|
movl %eax, 10(%ebp, %ebx, 4)
|
|
// CHECK: movl %eax, 10(,%ebx,4)
|
|
movl %eax, 10(, %ebx, 4)
|
|
|
|
// CHECK: movl 0, %eax
|
|
movl 0, %eax
|
|
// CHECK: movl $0, %eax
|
|
movl $0, %eax
|
|
|
|
// CHECK: ret
|
|
ret
|
|
|
|
// FIXME: Check that this matches SUB32ri8
|
|
// CHECK: subl $1, %eax
|
|
subl $1, %eax
|
|
|
|
// FIXME: Check that this matches SUB32ri8
|
|
// CHECK: subl $-1, %eax
|
|
subl $-1, %eax
|
|
|
|
// FIXME: Check that this matches SUB32ri
|
|
// CHECK: subl $256, %eax
|
|
subl $256, %eax
|
|
|
|
// FIXME: Check that this matches XOR64ri8
|
|
// CHECK: xorq $1, %rax
|
|
xorq $1, %rax
|
|
|
|
// FIXME: Check that this matches XOR64ri32
|
|
// CHECK: xorq $256, %rax
|
|
xorq $256, %rax
|
|
|
|
// FIXME: Check that this matches SUB8rr
|
|
// CHECK: subb %al, %bl
|
|
subb %al, %bl
|
|
|
|
// FIXME: Check that this matches SUB16rr
|
|
// CHECK: subw %ax, %bx
|
|
subw %ax, %bx
|
|
|
|
// FIXME: Check that this matches SUB32rr
|
|
// CHECK: subl %eax, %ebx
|
|
subl %eax, %ebx
|
|
|
|
// FIXME: Check that this matches the correct instruction.
|
|
// CHECK: call *%rax
|
|
call *%rax
|
|
|
|
// FIXME: Check that this matches the correct instruction.
|
|
// CHECK: shldl %cl, %eax, %ebx
|
|
shldl %cl, %eax, %ebx
|