| # 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 |