[arm] Implement eabi_attribute, cpu, and fpu directives.
This commit allows the ARM integrated assembler to parse
and assemble the code with .eabi_attribute, .cpu, and
.fpu directives.
To implement the feature, this commit moves the code from
AttrEmitter to ARMTargetStreamers, and several new test
cases related to cortex-m4, cortex-r5, and cortex-a15 are
added.
Besides, this commit also change the Subtarget->isFPOnlySP()
to Subtarget->hasD16() to match the usage of .fpu directive.
This commit changes the test cases:
* Several .eabi_attribute directives in
2010-09-29-mc-asm-header-test.ll are removed because the .fpu
directive already cover the functionality.
* In the Cortex-A15 test case, the value for
Tag_Advanced_SIMD_arch has be changed from 1 to 2,
which is more precise.
llvm-svn: 193524
2013-10-29 01:51:12 +08:00
|
|
|
@ Check multiple .fpu directives.
|
|
|
|
|
|
|
|
@ The later .fpu directive should overwrite the earlier one.
|
2015-06-05 21:31:19 +08:00
|
|
|
@ We also check here that all the .fpu directives that we expect to work do work
|
[arm] Implement eabi_attribute, cpu, and fpu directives.
This commit allows the ARM integrated assembler to parse
and assemble the code with .eabi_attribute, .cpu, and
.fpu directives.
To implement the feature, this commit moves the code from
AttrEmitter to ARMTargetStreamers, and several new test
cases related to cortex-m4, cortex-r5, and cortex-a15 are
added.
Besides, this commit also change the Subtarget->isFPOnlySP()
to Subtarget->hasD16() to match the usage of .fpu directive.
This commit changes the test cases:
* Several .eabi_attribute directives in
2010-09-29-mc-asm-header-test.ll are removed because the .fpu
directive already cover the functionality.
* In the Cortex-A15 test case, the value for
Tag_Advanced_SIMD_arch has be changed from 1 to 2,
which is more precise.
llvm-svn: 193524
2013-10-29 01:51:12 +08:00
|
|
|
|
2014-02-09 07:17:02 +08:00
|
|
|
@ RUN: llvm-mc -triple arm-eabi -filetype obj %s | llvm-readobj -arm-attributes \
|
|
|
|
@ RUN: | FileCheck %s -check-prefix CHECK-ATTR
|
[arm] Implement eabi_attribute, cpu, and fpu directives.
This commit allows the ARM integrated assembler to parse
and assemble the code with .eabi_attribute, .cpu, and
.fpu directives.
To implement the feature, this commit moves the code from
AttrEmitter to ARMTargetStreamers, and several new test
cases related to cortex-m4, cortex-r5, and cortex-a15 are
added.
Besides, this commit also change the Subtarget->isFPOnlySP()
to Subtarget->hasD16() to match the usage of .fpu directive.
This commit changes the test cases:
* Several .eabi_attribute directives in
2010-09-29-mc-asm-header-test.ll are removed because the .fpu
directive already cover the functionality.
* In the Cortex-A15 test case, the value for
Tag_Advanced_SIMD_arch has be changed from 1 to 2,
which is more precise.
llvm-svn: 193524
2013-10-29 01:51:12 +08:00
|
|
|
|
2015-06-05 21:31:19 +08:00
|
|
|
.fpu none
|
|
|
|
.fpu vfp
|
|
|
|
.fpu vfpv2
|
|
|
|
.fpu vfpv3
|
2015-06-29 17:32:29 +08:00
|
|
|
.fpu vfpv3-fp16
|
2015-06-05 21:31:19 +08:00
|
|
|
.fpu vfpv3-d16
|
2015-06-29 17:32:29 +08:00
|
|
|
.fpu vfpv3-d16-fp16
|
|
|
|
.fpu vfpv3xd
|
|
|
|
.fpu vfpv3xd-fp16
|
2015-06-05 21:31:19 +08:00
|
|
|
.fpu vfpv4
|
|
|
|
.fpu vfpv4-d16
|
|
|
|
.fpu fpv4-sp-d16
|
|
|
|
.fpu fpv5-d16
|
|
|
|
.fpu fpv5-sp-d16
|
|
|
|
.fpu fp-armv8
|
[arm] Implement eabi_attribute, cpu, and fpu directives.
This commit allows the ARM integrated assembler to parse
and assemble the code with .eabi_attribute, .cpu, and
.fpu directives.
To implement the feature, this commit moves the code from
AttrEmitter to ARMTargetStreamers, and several new test
cases related to cortex-m4, cortex-r5, and cortex-a15 are
added.
Besides, this commit also change the Subtarget->isFPOnlySP()
to Subtarget->hasD16() to match the usage of .fpu directive.
This commit changes the test cases:
* Several .eabi_attribute directives in
2010-09-29-mc-asm-header-test.ll are removed because the .fpu
directive already cover the functionality.
* In the Cortex-A15 test case, the value for
Tag_Advanced_SIMD_arch has be changed from 1 to 2,
which is more precise.
llvm-svn: 193524
2013-10-29 01:51:12 +08:00
|
|
|
.fpu neon
|
2015-06-29 17:32:29 +08:00
|
|
|
.fpu neon-fp16
|
2015-06-05 21:31:19 +08:00
|
|
|
.fpu neon-vfpv4
|
|
|
|
.fpu neon-fp-armv8
|
|
|
|
.fpu crypto-neon-fp-armv8
|
|
|
|
.fpu softvfp
|
|
|
|
|
[arm] Implement eabi_attribute, cpu, and fpu directives.
This commit allows the ARM integrated assembler to parse
and assemble the code with .eabi_attribute, .cpu, and
.fpu directives.
To implement the feature, this commit moves the code from
AttrEmitter to ARMTargetStreamers, and several new test
cases related to cortex-m4, cortex-r5, and cortex-a15 are
added.
Besides, this commit also change the Subtarget->isFPOnlySP()
to Subtarget->hasD16() to match the usage of .fpu directive.
This commit changes the test cases:
* Several .eabi_attribute directives in
2010-09-29-mc-asm-header-test.ll are removed because the .fpu
directive already cover the functionality.
* In the Cortex-A15 test case, the value for
Tag_Advanced_SIMD_arch has be changed from 1 to 2,
which is more precise.
llvm-svn: 193524
2013-10-29 01:51:12 +08:00
|
|
|
.fpu vfpv4
|
|
|
|
|
2014-02-09 07:17:02 +08:00
|
|
|
@ CHECK-ATTR: FileAttributes {
|
|
|
|
@ CHECK-ATTR: Attribute {
|
|
|
|
@ CHECK-ATTR: TagName: FP_arch
|
|
|
|
@ CHECK-ATTR: Description: VFPv4
|
|
|
|
@ CHECK-ATTR: }
|
|
|
|
@ CHECK-ATTR: }
|
|
|
|
|