llvm-6502/test/MC/MBlaze/mblaze_fpu.s
Wesley Peck 41400da31e 1. Finishing MBlaze MC asm parser test cases
2. Parsing .word directive in MBlaze asm parser
3. Fixing hack where memory instructions reversed order of last two parameters
4. Fixing many improperly encoded instructions
5. Support parsing special instructions (MFS,MTS,etc.)
6. Removing unused functions from inst printer


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118941 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-12 23:30:17 +00:00

78 lines
2.3 KiB
ArmAsm

# RUN: llvm-mc -triple mblaze-unknown-unknown -show-encoding %s | FileCheck %s
# Test to ensure that all FPU instructions can be parsed by the
# assembly parser correctly.
# TYPE A: OPCODE RD RA RB FLAGS
# BINARY: 011011 00000 00000 00000 00000000000
# CHECK: fadd
# BINARY: 010110 00000 00001 00010 00000000000
# CHECK: encoding: [0x58,0x01,0x10,0x00]
fadd r0, r1, r2
# CHECK: frsub
# BINARY: 010110 00000 00001 00010 00010000000
# CHECK: encoding: [0x58,0x01,0x10,0x80]
frsub r0, r1, r2
# CHECK: fmul
# BINARY: 010110 00000 00001 00010 00100000000
# CHECK: encoding: [0x58,0x01,0x11,0x00]
fmul r0, r1, r2
# CHECK: fdiv
# BINARY: 010110 00000 00001 00010 00110000000
# CHECK: encoding: [0x58,0x01,0x11,0x80]
fdiv r0, r1, r2
# CHECK: fsqrt
# BINARY: 010110 00000 00001 00000 01110000000
# CHECK: encoding: [0x58,0x01,0x03,0x80]
fsqrt r0, r1
# CHECK: fint
# BINARY: 010110 00000 00001 00000 01100000000
# CHECK: encoding: [0x58,0x01,0x03,0x00]
fint r0, r1
# CHECK: flt
# BINARY: 010110 00000 00001 00000 01010000000
# CHECK: encoding: [0x58,0x01,0x02,0x80]
flt r0, r1
# CHECK: fcmp.un
# BINARY: 010110 00000 00001 00010 01000000000
# CHECK: encoding: [0x58,0x01,0x12,0x00]
fcmp.un r0, r1, r2
# CHECK: fcmp.lt
# BINARY: 010110 00000 00001 00010 01000010000
# CHECK: encoding: [0x58,0x01,0x12,0x10]
fcmp.lt r0, r1, r2
# CHECK: fcmp.eq
# BINARY: 010110 00000 00001 00010 01000100000
# CHECK: encoding: [0x58,0x01,0x12,0x20]
fcmp.eq r0, r1, r2
# CHECK: fcmp.le
# BINARY: 010110 00000 00001 00010 01000110000
# CHECK: encoding: [0x58,0x01,0x12,0x30]
fcmp.le r0, r1, r2
# CHECK: fcmp.gt
# BINARY: 010110 00000 00001 00010 01001000000
# CHECK: encoding: [0x58,0x01,0x12,0x40]
fcmp.gt r0, r1, r2
# CHECK: fcmp.ne
# BINARY: 010110 00000 00001 00010 01001010000
# CHECK: encoding: [0x58,0x01,0x12,0x50]
fcmp.ne r0, r1, r2
# CHECK: fcmp.ge
# BINARY: 010110 00000 00001 00010 01001100000
# CHECK: encoding: [0x58,0x01,0x12,0x60]
fcmp.ge r0, r1, r2