directive-arch-armv4.s
989 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
@ Test the .arch directive for armv4
@ This test case will check the default .ARM.attributes value for the
@ armv4 architecture.
@ RUN: llvm-mc -triple arm-eabi -filetype asm %s \
@ RUN: | FileCheck %s -check-prefix CHECK-ASM
@ RUN: llvm-mc -triple arm-eabi -filetype obj %s \
@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv4
@ CHECK-ASM: .arch armv4
@ CHECK-ATTR: FileAttributes {
@ CHECK-ATTR: Attribute {
@ CHECK-ATTR: TagName: CPU_name
@ CHECK-ATTR: Value: 4
@ CHECK-ATTR: }
@ CHECK-ATTR: Attribute {
@ CHECK-ATTR: TagName: CPU_arch
@ CHECK-ATTR: Description: ARM v4
@ CHECK-ATTR: }
@ CHECK-ATTR: Attribute {
@ CHECK-ATTR: TagName: ARM_ISA_use
@ CHECK-ATTR: Description: Permitted
@ CHECK-ATTR: }
@ CHECK-ATTR: }
@ Check that multiplication is supported
mul r4, r5, r6
mla r4, r5, r6, r3
smull r4, r5, r6, r3
umull r4, r5, r6, r3
smlal r4, r5, r6, r3
umlal r4, r5, r6, r3