forked from OSchip/llvm-project
43 lines
1.9 KiB
ArmAsm
43 lines
1.9 KiB
ArmAsm
// RUN: llvm-mc %s -triple=arm64-apple-darwin -filetype=asm -o - \
|
|
// RUN: | FileCheck %s --check-prefix=CHECK-ASM
|
|
// RUN: llvm-mc %s -triple=arm64-apple-darwin -filetype=obj -o - \
|
|
// RUN: | llvm-objdump -d - | FileCheck %s --check-prefixes=CHECK-OBJ,CHECK-OBJ-CODE
|
|
// RUN: llvm-mc %s -triple=aarch64-win32-gnu -filetype=asm -o - \
|
|
// RUN: | FileCheck %s --check-prefix=CHECK-ASM
|
|
// RUN: llvm-mc %s -triple=aarch64-win32-gnu -filetype=obj -o - \
|
|
// RUN: | llvm-objdump -d - | FileCheck %s --check-prefixes=CHECK-OBJ,CHECK-OBJ-CODE
|
|
// RUN: llvm-mc %s -triple=aarch64-linux-gnu -filetype=asm -o - \
|
|
// RUN: | FileCheck %s --check-prefix=CHECK-ASM
|
|
// RUN: llvm-mc %s -triple=aarch64-linux-gnu -filetype=obj -o - \
|
|
// RUN: | llvm-objdump -d - | FileCheck %s --check-prefixes=CHECK-OBJ,CHECK-OBJ-DATA
|
|
// RUN: llvm-mc %s -triple=aarch64_be-linux-gnu -filetype=asm -o - \
|
|
// RUN: | FileCheck %s --check-prefix=CHECK-ASM
|
|
// RUN: llvm-mc %s -triple=aarch64_be-linux-gnu -filetype=obj -o - \
|
|
// RUN: | llvm-objdump -d - | FileCheck %s --check-prefixes=CHECK-OBJ,CHECK-OBJ-BE
|
|
|
|
.text
|
|
|
|
.p2align 2
|
|
.globl _func
|
|
_func:
|
|
nop
|
|
// A .long is stored differently for big endian aarch64 targets, while
|
|
// instructions always are stored in little endian.
|
|
// ELF distinguishes between data and code when emitted this way, but
|
|
// MachO and COFF don't.
|
|
.long 0xd503201f
|
|
.inst 0xd503201f
|
|
|
|
// CHECK-ASM: .p2align 2
|
|
// CHECK-ASM: .globl _func
|
|
// CHECK-ASM: _func:
|
|
// CHECK-ASM: nop
|
|
// CHECK-ASM: .{{long|word}} 3573751839
|
|
// CHECK-ASM: .inst 0xd503201f
|
|
|
|
// CHECK-OBJ: 0: 1f 20 03 d5 nop
|
|
// CHECK-OBJ-CODE: 4: 1f 20 03 d5 nop
|
|
// CHECK-OBJ-DATA: 4: 1f 20 03 d5 .word 0xd503201f
|
|
// CHECK-OBJ-BE: 4: d5 03 20 1f .word 0xd503201f
|
|
// CHECK-OBJ: 8: 1f 20 03 d5 nop
|