1// RUN: llvm-mc -triple armv7a %s -o - | FileCheck %s --check-prefix=ASM-ARM 2// RUN: llvm-mc -triple armv7a -filetype obj %s -o - | \ 3// RUN: llvm-objdump --triple=armv7a -dz - | FileCheck %s --check-prefix=OBJ-ARM 4 5// RUN: llvm-mc -triple thumbv7a %s -o - | FileCheck %s --check-prefix=ASM-THUMB 6// RUN: llvm-mc -triple thumbv7a -filetype obj %s -o - | \ 7// RUN: llvm-objdump --triple=thumbv7a -dz - | FileCheck %s --check-prefix=OBJ-THUMB 8 9// llvm.org/pr30955 - LLVM was handling `.balign <alignment>, 0` strangely on 10// non-x86 targets. 11 12 .text 13 14// ASM-ARM: add r0, r0, #1 15// OBJ-ARM: e2800001 add r0, r0, #1 16 17// ASM-THUMB: add.w r0, r0, #1 18// OBJ-THUMB: f100 0001 add.w r0, r0, #0x1 19 add r0, r0, 0x1 20 21// ASM-ARM: .p2align 4, 0x0 22// OBJ-ARM-NEXT: 00000000 andeq r0, r0, r0 23// OBJ-ARM-NEXT: 00000000 andeq r0, r0, r0 24// OBJ-ARM-NEXT: 00000000 andeq r0, r0, r0 25 26// ASM-THUMB: .p2align 4, 0x0 27// OBJ-THUMB-NEXT: 0000 movs r0, r0 28// OBJ-THUMB-NEXT: 0000 movs r0, r0 29// OBJ-THUMB-NEXT: 0000 movs r0, r0 30// OBJ-THUMB-NEXT: 0000 movs r0, r0 31// OBJ-THUMB-NEXT: 0000 movs r0, r0 32// OBJ-THUMB-NEXT: 0000 movs r0, r0 33 .balign 0x10, 0 34 35// ASM-ARM: add r0, r0, #1 36// OBJ-ARM-NEXT: e2800001 add r0, r0, #1 37 38// ASM-THUMB: add.w r0, r0, #1 39// OBJ-THUMB-NEXT: f100 0001 add.w r0, r0, #0x1 40 add r0, r0, 0x1 41