| # RUN: llvm-mc -triple=xtensa -mattr=+density -disassemble %s | FileCheck -check-prefixes=CHECK-DENSITY %s |
| # RUN: not llvm-mc -triple=xtensa -disassemble %s 2>&1 | FileCheck --implicit-check-not=warning: -check-prefixes=CHECK-CORE %s |
| |
| #------------------------------------------------------------------------------ |
| # Verify that binary code is correctly disassembled with |
| # code density option enabled. Also verify that dissasembling without |
| # density option generates warnings. |
| #------------------------------------------------------------------------------ |
| |
| [0x4a, 0x23] |
| # CHECK-DENSITY: add.n a2, a3, a4 |
| # CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding |
| |
| [0x3b, 0x23] |
| # CHECK-DENSITY: addi.n a2, a3, 3 |
| # CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding |
| |
| [0x9c, 0x03] |
| # CHECK-DENSITY: beqz.n a3, . +20 |
| # CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding |
| |
| [0xcc, 0xe3] |
| # CHECK-DENSITY: bnez.n a3, . +18 |
| # CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding |
| |
| [0x6d, 0xf0] |
| # CHECK-DENSITY: ill.n |
| # CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding |
| |
| [0x28, 0x33] |
| # CHECK-DENSITY: l32i.n a2, a3, 12 |
| # CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding |
| |
| [0x2d, 0x03] |
| # CHECK-DENSITY: mov.n a2, a3 |
| # CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding |
| |
| [0x0d, 0xf0] |
| # CHECK-DENSITY: ret.n |
| # CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding |
| |
| [0x29, 0x33] |
| # CHECK-DENSITY: s32i.n a2, a3, 12 |
| # CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding |
| |
| [0x6c, 0x02] |
| # CHECK-DENSITY: movi.n a2, -32 |
| # CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding |
| |
| [0x3d, 0xf0] |
| # CHECK-DENSITY: nop.n |
| # CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding |