1// RUN: llvm-mc %s -triple=arm64-apple-darwin -filetype=asm -o - \ 2// RUN: | FileCheck %s --check-prefix=CHECK-ASM 3// RUN: llvm-mc %s -triple=arm64-apple-darwin -filetype=obj -o - \ 4// RUN: | llvm-objdump -d - | FileCheck %s --check-prefixes=CHECK-OBJ,CHECK-OBJ-CODE 5// RUN: llvm-mc %s -triple=aarch64-win32-gnu -filetype=asm -o - \ 6// RUN: | FileCheck %s --check-prefix=CHECK-ASM 7// RUN: llvm-mc %s -triple=aarch64-win32-gnu -filetype=obj -o - \ 8// RUN: | llvm-objdump -d - | FileCheck %s --check-prefixes=CHECK-OBJ,CHECK-OBJ-CODE 9// RUN: llvm-mc %s -triple=aarch64-linux-gnu -filetype=asm -o - \ 10// RUN: | FileCheck %s --check-prefix=CHECK-ASM 11// RUN: llvm-mc %s -triple=aarch64-linux-gnu -filetype=obj -o - \ 12// RUN: | llvm-objdump -d - | FileCheck %s --check-prefixes=CHECK-OBJ,CHECK-OBJ-DATA 13// RUN: llvm-mc %s -triple=aarch64_be-linux-gnu -filetype=asm -o - \ 14// RUN: | FileCheck %s --check-prefix=CHECK-ASM 15// RUN: llvm-mc %s -triple=aarch64_be-linux-gnu -filetype=obj -o - \ 16// RUN: | llvm-objdump -d - | FileCheck %s --check-prefixes=CHECK-OBJ,CHECK-OBJ-BE 17 18 .text 19 20 .p2align 2 21 .globl _func 22_func: 23 nop 24 // A .long is stored differently for big endian aarch64 targets, while 25 // instructions always are stored in little endian. 26 // ELF distinguishes between data and code when emitted this way, but 27 // MachO and COFF don't. 28 .long 0xd503201f 29 .inst 0xd503201f 30 31// CHECK-ASM: .p2align 2 32// CHECK-ASM: .globl _func 33// CHECK-ASM: _func: 34// CHECK-ASM: nop 35// CHECK-ASM: .{{long|word}} 3573751839 36// CHECK-ASM: .inst 0xd503201f 37 38// CHECK-OBJ: 0: 1f 20 03 d5 nop 39// CHECK-OBJ-CODE: 4: 1f 20 03 d5 nop 40// CHECK-OBJ-DATA: 4: 1f 20 03 d5 .word 0xd503201f 41// CHECK-OBJ-BE: 4: d5 03 20 1f .word 0xd503201f 42// CHECK-OBJ: 8: 1f 20 03 d5 nop 43