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
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.
31 // CHECK-ASM: .p2align 2
32 // CHECK-ASM: .globl _func
35 // CHECK-ASM: .{{long|word}} 3573751839
36 // CHECK-ASM: .inst 0xd503201f
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