Files
clang-p2996/llvm/test/tools/llvm-objdump/ELF/ARM/v7m-subfeatures.s
Eli Friedman 4adcff0b70 [ARM] Fix llvm-objdump disassembly of armv7m object files.
Apparently, the features were getting mixed up, so we'd try to
disassemble in ARM mode. Fix sub-architecture detection to compute the
correct triple if we're detecting it automatically, so the user doesn't
need to pass --triple=thumb etc.

It's possible we should be somehow tying the "+thumb-mode" target
feature more directly to Tag_CPU_arch_profile? But this seems to work
reasonably well, anyway.

While I'm here, fix up the other llvm-objdump tests that were explicitly
specifying an ARM triple; that shouldn't be necessary.

Differential Revision: https://reviews.llvm.org/D106912
2021-07-28 11:41:54 -07:00

27 lines
517 B
ArmAsm

@ RUN: llvm-mc < %s -triple armv7m -mattr=+vfp4 -filetype=obj | llvm-objdump -d - | FileCheck %s
.eabi_attribute Tag_CPU_arch, 10 // v7
.eabi_attribute Tag_CPU_arch_profile, 0x4D // 'M' profile
.eabi_attribute Tag_FP_arch, 5 // VFP4
.thumb
vfp2:
vmla.f32 s0, s1, s2
@CHECK-LABEL: vfp2
@CHECK: 00 ee 81 0a vmla.f32 s0, s1, s2
.thumb
vfp4:
vmov.f32 s0, #0.5
@CHECK-LABEL: vfp4
@CHECK: b6 ee 00 0a vmov.f32 s0, #5.000000e-01
.thumb
div:
udiv r0, r1, r2
@CHECK-LABEL: div
@CHECK: b1 fb f2 f0 udiv r0, r1, r2