; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 | FileCheck %s
; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 | FileCheck %s
-; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O0 -filetype obj -o - | llvm-readobj --arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
-; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 -filetype obj -o - | llvm-readobj --arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
-; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 -filetype obj -o - | llvm-readobj --arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
+; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O0 -filetype obj -o - | llvm-readobj --arch-specific - | FileCheck %s --check-prefix=CHECK-OBJ
+; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 -filetype obj -o - | llvm-readobj --arch-specific - | FileCheck %s --check-prefix=CHECK-OBJ
+; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 -filetype obj -o - | llvm-readobj --arch-specific - | FileCheck %s --check-prefix=CHECK-OBJ
; CHECK: .eabi_attribute 30, 4 @ Tag_ABI_optimization_goals
; CHECK-OBJ: TagName: ABI_optimization_goals
; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 | FileCheck %s
; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 | FileCheck %s
-; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O0 -filetype obj -o - | llvm-readobj --arm-attributes - | FileCheck %s
-; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 -filetype obj -o - | llvm-readobj --arm-attributes - | FileCheck %s
-; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 -filetype obj -o - | llvm-readobj --arm-attributes - | FileCheck %s
+; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O0 -filetype obj -o - | llvm-readobj --arch-specific - | FileCheck %s
+; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 -filetype obj -o - | llvm-readobj --arch-specific - | FileCheck %s
+; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 -filetype obj -o - | llvm-readobj --arch-specific - | FileCheck %s
; CHECK-NOT: .eabi_attribute 30
; CHECK-NOT: Tag_ABI_optimization_goals
; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 | FileCheck %s
; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 | FileCheck %s
-; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O0 -filetype obj -o - | llvm-readobj --arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
-; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 -filetype obj -o - | llvm-readobj --arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
-; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 -filetype obj -o - | llvm-readobj --arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
+; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O0 -filetype obj -o - | llvm-readobj --arch-specific - | FileCheck %s --check-prefix=CHECK-OBJ
+; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 -filetype obj -o - | llvm-readobj --arch-specific - | FileCheck %s --check-prefix=CHECK-OBJ
+; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 -filetype obj -o - | llvm-readobj --arch-specific - | FileCheck %s --check-prefix=CHECK-OBJ
; CHECK: .eabi_attribute 30, 6 @ Tag_ABI_optimization_goals
; CHECK-OBJ: TagName: ABI_optimization_goals
; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 | FileCheck %s
; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 | FileCheck %s
-; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O0 -filetype obj -o - | llvm-readobj --arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
-; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 -filetype obj -o - | llvm-readobj --arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
-; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 -filetype obj -o - | llvm-readobj --arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
+; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O0 -filetype obj -o - | llvm-readobj --arch-specific - | FileCheck %s --check-prefix=CHECK-OBJ
+; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 -filetype obj -o - | llvm-readobj --arch-specific - | FileCheck %s --check-prefix=CHECK-OBJ
+; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 -filetype obj -o - | llvm-readobj --arch-specific - | FileCheck %s --check-prefix=CHECK-OBJ
; CHECK: .eabi_attribute 30, 3 @ Tag_ABI_optimization_goals
; CHECK-OBJ: TagName: ABI_optimization_goals
; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 | FileCheck %s --check-prefix=SPEED
; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 | FileCheck %s --check-prefix=MAXSPEED
-; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O0 -filetype obj -o - | llvm-readobj --arm-attributes - | FileCheck %s --check-prefix=NONE-OBJ
-; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 -filetype obj -o - | llvm-readobj --arm-attributes - | FileCheck %s --check-prefix=SPEED-OBJ
-; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 -filetype obj -o - | llvm-readobj --arm-attributes - | FileCheck %s --check-prefix=MAXSPEED-OBJ
+; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O0 -filetype obj -o - | llvm-readobj --arch-specific - | FileCheck %s --check-prefix=NONE-OBJ
+; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 -filetype obj -o - | llvm-readobj --arch-specific - | FileCheck %s --check-prefix=SPEED-OBJ
+; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 -filetype obj -o - | llvm-readobj --arch-specific - | FileCheck %s --check-prefix=MAXSPEED-OBJ
; NONE: .eabi_attribute 30, 5 @ Tag_ABI_optimization_goals
; SPEED: .eabi_attribute 30, 1 @ Tag_ABI_optimization_goals
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv2
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv2a
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv3
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv3m
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv4
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv4t
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv5
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv5t
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv5te
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv6-m
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv6
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv6k
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv6t2
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv6z
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv7-a
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv7-m
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv7-r
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv7
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv7a
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv7e-m
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv7em
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv7m
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv7r
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv8-a
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv8.2-a
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch armv8a
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch iwmmxt
@ 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
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.arch iwmmxt2
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
-@ RUN: | llvm-readobj --arm-attributes | FileCheck %s -check-prefix CHECK-ATTR
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s -check-prefix CHECK-ATTR
.syntax unified
.thumb
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc < %s -triple armv7-unknown-linux-gnueabi -filetype=obj -o - \
-@ RUN: | llvm-readobj --arm-attributes | FileCheck %s --check-prefix=CHECK-OBJ
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s --check-prefix=CHECK-OBJ
.syntax unified
.thumb
@ The later .fpu directive should overwrite the earlier one.
@ We also check here that all the .fpu directives that we expect to work do work
-@ RUN: llvm-mc -triple arm-eabi -filetype obj %s | llvm-readobj --arm-attributes \
+@ RUN: llvm-mc -triple arm-eabi -filetype obj %s | llvm-readobj --arch-specific \
@ RUN: | FileCheck %s -check-prefix CHECK-ATTR
.fpu none
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
-@ RUN: | llvm-readobj --arm-attributes | FileCheck %s
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s
.syntax unified
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
-@ RUN: | llvm-readobj --arm-attributes | FileCheck %s
+@ RUN: | llvm-readobj --arch-specific | FileCheck %s
.syntax unified