xref: /llvm-project/llvm/test/MC/ARM/assembly-default-build-attributes.s (revision f502b14d40e751fe00afc493ef0d08f196524886)
17ad2e8aaSOliver Stannard// RUN: llvm-mc -triple armv7a < %s -arm-add-build-attributes | FileCheck %s --check-prefix=v7A
27ad2e8aaSOliver Stannard// RUN: llvm-mc -triple armv6m < %s -arm-add-build-attributes | FileCheck %s --check-prefix=v6M
37ad2e8aaSOliver Stannard// RUN: llvm-mc -triple armv7m < %s -arm-add-build-attributes | FileCheck %s --check-prefix=v7M
47ad2e8aaSOliver Stannard// RUN: llvm-mc -triple armv7a -mcpu=cortex-a15 < %s -arm-add-build-attributes | FileCheck %s --check-prefix=Cortex-A15
5*f502b14dSLemonBoy// RUN: llvm-mc -triple armv8m.base < %s -arm-add-build-attributes | FileCheck %s --check-prefix=v8M_Baseline
6*f502b14dSLemonBoy// RUN: llvm-mc -triple armv8m.main < %s -arm-add-build-attributes | FileCheck %s --check-prefix=v8M_Mainline
77ad2e8aaSOliver Stannard
87ad2e8aaSOliver Stannard// This isn't intended to be a through check of the build attributes emitted
97ad2e8aaSOliver Stannard// for each target (that's tested elsewhere), but just to check that the
107ad2e8aaSOliver Stannard// hardware attributes are emitted by the assembler based on the selected
117ad2e8aaSOliver Stannard// target when requested.
127ad2e8aaSOliver Stannard
137ad2e8aaSOliver Stannard// v7A-NOT: .cpu
147ad2e8aaSOliver Stannard// v7A: .eabi_attribute 6, 10   @ Tag_CPU_arch
157ad2e8aaSOliver Stannard// v7A: .eabi_attribute 7, 65   @ Tag_CPU_arch_profile
167ad2e8aaSOliver Stannard// v7A: .eabi_attribute 8, 1    @ Tag_ARM_ISA_use
177ad2e8aaSOliver Stannard// v7A: .eabi_attribute 9, 2    @ Tag_THUMB_ISA_use
187ad2e8aaSOliver Stannard// v7A: .fpu    neon
197ad2e8aaSOliver Stannard// v7A: .eabi_attribute 34, 1   @ Tag_CPU_unaligned_access
207ad2e8aaSOliver Stannard
217ad2e8aaSOliver Stannard// v6M-NOT: .cpu
227ad2e8aaSOliver Stannard// v6M: .eabi_attribute 6, 12   @ Tag_CPU_arch
237ad2e8aaSOliver Stannard// v6M: .eabi_attribute 7, 77   @ Tag_CPU_arch_profile
247ad2e8aaSOliver Stannard// v6M: .eabi_attribute 8, 0    @ Tag_ARM_ISA_use
257ad2e8aaSOliver Stannard// v6M: .eabi_attribute 9, 1    @ Tag_THUMB_ISA_use
261043dffbSSjoerd Meijer// v6M: .eabi_attribute 34, 0   @ Tag_CPU_unaligned_access
277ad2e8aaSOliver Stannard
287ad2e8aaSOliver Stannard// v7M-NOT: .cpu
297ad2e8aaSOliver Stannard// v7M: .eabi_attribute 6, 10   @ Tag_CPU_arch
307ad2e8aaSOliver Stannard// v7M: .eabi_attribute 7, 77   @ Tag_CPU_arch_profile
317ad2e8aaSOliver Stannard// v7M: .eabi_attribute 8, 0    @ Tag_ARM_ISA_use
327ad2e8aaSOliver Stannard// v7M: .eabi_attribute 9, 2    @ Tag_THUMB_ISA_use
337ad2e8aaSOliver Stannard// v7M: .eabi_attribute 34, 1   @ Tag_CPU_unaligned_access
347ad2e8aaSOliver Stannard
35*f502b14dSLemonBoy// v8M_Baseline-NOT: .cpu
36*f502b14dSLemonBoy// v8M_Baseline: .eabi_attribute 6, 16   @ Tag_CPU_arch
37*f502b14dSLemonBoy// v8M_Baseline: .eabi_attribute 7, 77   @ Tag_CPU_arch_profile
38*f502b14dSLemonBoy// v8M_Baseline: .eabi_attribute 8, 0    @ Tag_ARM_ISA_use
39*f502b14dSLemonBoy// v8M_Baseline: .eabi_attribute 9, 3    @ Tag_THUMB_ISA_use
40*f502b14dSLemonBoy// v8M_Baseline: .eabi_attribute 34, 0   @ Tag_CPU_unaligned_access
41*f502b14dSLemonBoy
42*f502b14dSLemonBoy// v8M_Mainline-NOT: .cpu
43*f502b14dSLemonBoy// v8M_Mainline: .eabi_attribute 6, 17   @ Tag_CPU_arch
44*f502b14dSLemonBoy// v8M_Mainline: .eabi_attribute 7, 77   @ Tag_CPU_arch_profile
45*f502b14dSLemonBoy// v8M_Mainline: .eabi_attribute 8, 0    @ Tag_ARM_ISA_use
46*f502b14dSLemonBoy// v8M_Mainline: .eabi_attribute 9, 3    @ Tag_THUMB_ISA_use
47*f502b14dSLemonBoy// v8M_Mainline: .eabi_attribute 34, 1   @ Tag_CPU_unaligned_access
48*f502b14dSLemonBoy
497ad2e8aaSOliver Stannard// Cortex-A15: .cpu    cortex-a15
507ad2e8aaSOliver Stannard// Cortex-A15: .eabi_attribute 6, 10   @ Tag_CPU_arch
517ad2e8aaSOliver Stannard// Cortex-A15: .eabi_attribute 7, 65   @ Tag_CPU_arch_profile
527ad2e8aaSOliver Stannard// Cortex-A15: .eabi_attribute 8, 1    @ Tag_ARM_ISA_use
537ad2e8aaSOliver Stannard// Cortex-A15: .eabi_attribute 9, 2    @ Tag_THUMB_ISA_use
547ad2e8aaSOliver Stannard// Cortex-A15: .fpu    neon-vfpv4
557ad2e8aaSOliver Stannard// Cortex-A15: .eabi_attribute 36, 1   @ Tag_FP_HP_extension
567ad2e8aaSOliver Stannard// Cortex-A15: .eabi_attribute 42, 1   @ Tag_MPextension_use
577ad2e8aaSOliver Stannard// Cortex-A15: .eabi_attribute 44, 2   @ Tag_DIV_use
587ad2e8aaSOliver Stannard// Cortex-A15: .eabi_attribute 34, 1   @ Tag_CPU_unaligned_access
597ad2e8aaSOliver Stannard// Cortex-A15: .eabi_attribute 68, 3   @ Tag_Virtualization_use
60