xref: /llvm-project/llvm/test/MC/ARM/align-fill-byte-zero.s (revision ea222be0d9266d9d5c100496f8c9606f213454ee)
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