2011-08-17 18:21:36 +00:00
|
|
|
# RUN: llvm-mc -triple=thumbv6-apple-darwin -disassemble < %s | FileCheck %s
|
|
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# ADC (register)
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: adcs r4, r6
|
|
|
|
|
|
|
|
0x74 0x41
|
|
|
|
|
|
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# ADD (immediate)
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: adds r1, r2, #3
|
|
|
|
# CHECK: adds r2, r2, #3
|
|
|
|
# CHECK: adds r2, #8
|
|
|
|
|
|
|
|
0xd1 0x1c
|
|
|
|
0xd2 0x1c
|
|
|
|
0x08 0x32
|
|
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# ADD (register)
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: adds r1, r2, r3
|
|
|
|
# CHECK: add r2, r8
|
|
|
|
|
|
|
|
0xd1 0x18
|
|
|
|
0x42 0x44
|
2011-08-17 23:37:33 +00:00
|
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# ASR (immediate)
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: asrs r2, r3, #32
|
|
|
|
# CHECK: asrs r2, r3, #5
|
|
|
|
# CHECK: asrs r2, r3, #1
|
|
|
|
|
|
|
|
0x1a 0x10
|
|
|
|
0x5a 0x11
|
|
|
|
0x5a 0x10
|
|
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# ASR (register)
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: asrs r5, r2
|
|
|
|
|
|
|
|
0x15 0x41
|
|
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# BICS
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: bics r1, r6
|
|
|
|
|
|
|
|
0xb1 0x43
|
|
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# BKPT
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: bkpt #0
|
|
|
|
# CHECK: bkpt #255
|
|
|
|
|
|
|
|
0x00 0xbe
|
|
|
|
0xff 0xbe
|
|
|
|
|
2011-08-18 17:43:52 +00:00
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# BLX (register)
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: blx r4
|
|
|
|
|
|
|
|
0xa0 0x47
|
|
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# BX
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: bx r2
|
|
|
|
|
|
|
|
0x10 0x47
|
|
|
|
|
2011-08-18 20:05:06 +00:00
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CMN
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: cmn r5, r1
|
|
|
|
|
|
|
|
0xcd 0x42
|
|
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CMP
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: cmp r6, #32
|
|
|
|
# CHECK: cmp r3, r4
|
|
|
|
# CHECK: cmp r8, r1
|
|
|
|
|
|
|
|
0x20 0x2e
|
|
|
|
0xa3 0x42
|
|
|
|
0x88 0x45
|
|
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# EOR
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: eors r4, r5
|
|
|
|
|
|
|
|
0x6c 0x40
|
|
|
|
|
2011-08-22 17:56:58 +00:00
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# LDM
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: ldm r3, {r0, r1, r2, r3, r4, r5, r6, r7}
|
|
|
|
# CHECK: ldm r2!, {r1, r3, r4, r5, r7}
|
|
|
|
# CHECK: ldm r1, {r1}
|
|
|
|
|
|
|
|
0xff 0xcb
|
|
|
|
0xba 0xca
|
|
|
|
0x02 0xc9
|
|
|
|
|
|
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# LDR (immediate)
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: ldr r1, [r5]
|
|
|
|
# CHECK: ldr r2, [r6, #32]
|
|
|
|
# CHECK: ldr r3, [r7, #124]
|
|
|
|
# CHECK: ldr r1, [sp]
|
|
|
|
# CHECK: ldr r2, [sp, #24]
|
|
|
|
# CHECK: ldr r3, [sp, #1020]
|
|
|
|
|
|
|
|
|
|
|
|
0x29 0x68
|
|
|
|
0x32 0x6a
|
|
|
|
0xfb 0x6f
|
|
|
|
0x00 0x99
|
|
|
|
0x06 0x9a
|
|
|
|
0xff 0x9b
|
|
|
|
|