// RUN: llvm-mc -triple armv7a %s -o - | FileCheck %s --check-prefix=ASM-ARM
// RUN: llvm-mc -triple armv7a -filetype obj %s -o - | \
// RUN: llvm-objdump --triple=armv7a -dz - | FileCheck %s --check-prefix=OBJ-ARM
// RUN: llvm-mc -triple thumbv7a %s -o - | FileCheck %s --check-prefix=ASM-THUMB
// RUN: llvm-mc -triple thumbv7a -filetype obj %s -o - | \
// RUN: llvm-objdump --triple=thumbv7a -dz - | FileCheck %s --check-prefix=OBJ-THUMB
// llvm.org/pr30955 - LLVM was handling `.balign <alignment>, 0` strangely on
// non-x86 targets.
.text
// ASM-ARM: add r0, r0, #1
// OBJ-ARM: e2800001 add r0, r0, #1
// ASM-THUMB: add.w r0, r0, #1
// OBJ-THUMB: f100 0001 add.w r0, r0, #0x1
add r0, r0, 0x1
// ASM-ARM: .p2align 4, 0x0
// OBJ-ARM-NEXT: 00000000 andeq r0, r0, r0
// OBJ-ARM-NEXT: 00000000 andeq r0, r0, r0
// OBJ-ARM-NEXT: 00000000 andeq r0, r0, r0
// ASM-THUMB: .p2align 4, 0x0
// OBJ-THUMB-NEXT: 0000 movs r0, r0
// OBJ-THUMB-NEXT: 0000 movs r0, r0
// OBJ-THUMB-NEXT: 0000 movs r0, r0
// OBJ-THUMB-NEXT: 0000 movs r0, r0
// OBJ-THUMB-NEXT: 0000 movs r0, r0
// OBJ-THUMB-NEXT: 0000 movs r0, r0
.balign 0x10, 0
// ASM-ARM: add r0, r0, #1
// OBJ-ARM-NEXT: e2800001 add r0, r0, #1
// ASM-THUMB: add.w r0, r0, #1
// OBJ-THUMB-NEXT: f100 0001 add.w r0, r0, #0x1
add r0, r0, 0x1