mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
b26209eb93
Now that most of the methods in Clang and LLVM that were parsing arch/cpu/fpu strings are using ARMTargetParser, it's time to make it a bit more conforming with what the ABI says. This commit adds some clarification on what build attributes are accepted and which are "non-standard". It also makes clear that the "defaultCPU" and "defaultArch" methods were really just build attribute getters. It also diverges from GCC's behaviour to say that armv2/armv3 are really an ARMv4 in the build attributes, when the ABI has a clear state for that: Pre-v4. llvm-svn: 238344
31 lines
828 B
ArmAsm
31 lines
828 B
ArmAsm
@ Test the .arch directive for armv3m
|
|
|
|
@ This test case will check the default .ARM.attributes value for the
|
|
@ armv3m 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 -arm-attributes | FileCheck %s -check-prefix CHECK-ATTR
|
|
|
|
.syntax unified
|
|
.arch armv3m
|
|
|
|
@ CHECK-ASM: .arch armv3m
|
|
|
|
@ CHECK-ATTR: FileAttributes {
|
|
@ CHECK-ATTR: Attribute {
|
|
@ CHECK-ATTR: TagName: CPU_name
|
|
@ CHECK-ATTR: Value: 3M
|
|
@ CHECK-ATTR: }
|
|
@ CHECK-ATTR: Attribute {
|
|
@ CHECK-ATTR: TagName: CPU_arch
|
|
@ CHECK-ATTR: Description: Pre-v4
|
|
@ CHECK-ATTR: }
|
|
@ CHECK-ATTR: Attribute {
|
|
@ CHECK-ATTR: TagName: ARM_ISA_use
|
|
@ CHECK-ATTR: Description: Permitted
|
|
@ CHECK-ATTR: }
|
|
@ CHECK-ATTR: }
|
|
|