- Jun 12, 2015
-
-
John Brawn authored
ARMTargetParser::getFPUFeatures should disable fp16 whenever it disables vfp4, as otherwise something like -mcpu=cortex-a7 -mfpu=none leaves us with fp16 enabled (though the only effect that will have is a wrong build attribute). Differential Revision: http://reviews.llvm.org/D10397 llvm-svn: 239599
-
- Jun 05, 2015
-
-
John Brawn authored
These are added mainly for the benefit of clang, but this also means that they are now allowed in .fpu directives and we emit the correct .fpu directive when single-precision-only is used. Differential Revision: http://reviews.llvm.org/D10238 llvm-svn: 239151
-
- Apr 09, 2015
-
-
Javed Absar authored
Currently, llvm (backend) doesn't know cortex-r4, even though it is the default target for armv7r. Using "--target=armv7r-arm-none-eabi" provokes 'cortex-r4' is not a recognized processor for this target' by llvm. This patch adds support for cortex-r4 and, very closely related, r4f. llvm-svn: 234486
-
- Mar 26, 2015
-
-
Vladimir Sukharev authored
New architecture and cpu added, following http://community.arm.com/groups/processors/blog/2014/12/02/the-armv8-a-architecture-and-its-ongoing-development Reviewers: t.p.northover Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8505 llvm-svn: 233290
-
- Mar 17, 2015
-
-
Renato Golin authored
ARMv6K is another layer between ARMV6 and ARMV6T2. This is the LLVM side of the changes. ARMV6 family LLVM implementation. +-------------------------------------+ | ARMV6 | +----------------+--------------------+ | ARMV6M (thumb) | ARMV6K (arm,thumb) | <- From ARMV6K and ARMV6M processors +----------------+--------------------+ have support for hint instructions | ARMV6T2 (arm,thumb,thumb2) | (SEV/WFE/WFI/NOP/YIELD). They can +-------------------------------------+ be either real or default to NOP. | ARMV7 (arm,thumb,thumb2) | The two processors also use +-------------------------------------+ different encoding for them. Patch by Vinicius Tinti. llvm-svn: 232468
-
- Feb 18, 2015
-
-
Bradley Smith authored
Add some of the missing M and R class Cortex CPUs, namely: Cortex-M0+ (called Cortex-M0plus for GCC compatibility) Cortex-M1 SC000 SC300 Cortex-R5 llvm-svn: 229660
-
- Feb 10, 2015
-
-
Bradley Smith authored
llvm-svn: 228696
-
- Feb 04, 2015
-
-
Renato Golin authored
Currently, Cortex-A72 is modelled as an Cortex-A57 except the fp load balancing pass isn't enabled for Cortex-A72 as it's not profitable to have it enabled for this core. Patch by Ranjeet Singh. llvm-svn: 228140
-
- Jan 29, 2015
-
-
Charlie Turner authored
llvm-svn: 227429
-
- Jan 07, 2015
-
-
Charlie Turner authored
llvm-svn: 225348
-
- Jan 05, 2015
-
-
Charlie Turner authored
Claim conformance to version 2.09 of the ARM ABI. This build attribute must be emitted first amongst the build attributes when written to an object file. This is to simplify conformance detection by consumers. Change-Id: If9eddcfc416bc9ad6e5cc8cdcb05d0031af7657e llvm-svn: 225166
-
- Dec 12, 2014
-
-
Charlie Turner authored
The __fp16 type is unconditionally exposed. Since -mfp16-format is not yet supported, there is not a user switch to change this behaviour. This build attribute should capture the default behaviour of the compiler, which is to expose the IEEE 754 version of __fp16. When -mfp16-format is emitted, that will be the way to control the value of this build attribute. Change-Id: I8a46641ff0fd2ef8ad0af5f482a6d1af2ac3f6b0 llvm-svn: 224115
-
- Dec 05, 2014
-
-
Charlie Turner authored
The test file test/CodeGen/ARM/build-attributes.ll was missing several floating-point build attribute tests. The intention of this commit is that for each CPU / architecture currently tested, there are now tests that make sure the following attributes are sufficiently checked, * Tag_ABI_FP_rounding * Tag_ABI_FP_denormal * Tag_ABI_FP_exceptions * Tag_ABI_FP_user_exceptions * Tag_ABI_FP_number_model Also in this commit, the -unsafe-fp-math flag has been augmented with the full suite of flags Clang sends to LLVM when you pass -ffast-math to Clang. That is, `-unsafe-fp-math' has been changed to `-enable-unsafe-fp-math -disable-fp-elim -enable-no-infs-fp-math -enable-no-nans-fp-math -fp-contract=fast' Change-Id: I35d766076bcbbf09021021c0a534bf8bf9a32dfc llvm-svn: 223454
-
- Dec 03, 2014
-
-
Charlie Turner authored
LLVM understands a -enable-sign-dependent-rounding-fp-math codegen option. When the user has specified this option, the Tag_ABI_FP_rounding attribute should be emitted with value 1. This option currently does not appear to disable transformations and optimizations that assume default floating point rounding behavior, AFAICT, but the intention should be recorded in the build attributes, regardless of what the compiler actually does with the intention. Change-Id: If838578df3dc652b6f2796b8d152545674bcb30e llvm-svn: 223218
-
Charlie Turner authored
Change-Id: I051866d073fc6ce87ce3e693a3762da6d81f4393 llvm-svn: 223217
-
- Dec 02, 2014
-
-
Charlie Turner authored
The default ARM floating-point mode does not support IEEE 754 mode exactly. Of relevance to this patch is that input denormals are flushed to zero. The way in which they're flushed to zero depends on the architecture, * For VFPv2, it is implementation defined as to whether the sign of zero is preserved. * For VFPv3 and above, the sign of zero is always preserved when a denormal is flushed to zero. When FP support has been disabled, the strategy taken by this patch is to assume the software support will mirror the behaviour of the hardware support for the target *if it existed*. That is, for architectures which can only have VFPv2, it is assumed the software will flush to positive zero. For later architectures it is assumed the software will flush to zero preserving sign. Change-Id: Icc5928633ba222a4ba3ca8c0df44a440445865fd llvm-svn: 223110
-
- Nov 03, 2014
-
-
Charlie Turner authored
This CPU definition is redundant. The Cortex-A9 is defined as supporting multiprocessing extensions. Remove its definition and update appropriate tests. LLVM defines both a cortex-a9 CPU and a cortex-a9-mp CPU. The only difference between the two CPU definitions in ARM.td is that cortex-a9-mp contains the feature FeatureMP for multiprocessing extensions. This is redundant since the Cortex-A9 is defined as having multiprocessing extensions in the TRMs. armcc also defines the Cortex-A9 as having multiprocessing extensions by default. Change-Id: Ifcadaa6c322be0a33d9d2a39cfdd7da1d75981a7 llvm-svn: 221166
-
- Oct 30, 2014
-
-
Tim Northover authored
It should be on for every target that supports unaligned accesses (e.g. not v6m). Patch by Charlie Turner. llvm-svn: 220912
-
- Oct 13, 2014
-
-
Renato Golin authored
Patch by Matthew Wahab. llvm-svn: 219606
-
- Oct 08, 2014
-
-
Renato Golin authored
Patch by Charlie Turner. llvm-svn: 219301
-
- Oct 01, 2014
-
-
Oliver Stannard authored
The Cortex-M7 has 3 options for its FPU: none, FPv5-SP-D16 and FPv5-DP-D16. FPv5 has the same instructions as FP-ARMv8, so it can be modelled using the same target feature, and all double-precision operations are already disabled by the fp-only-sp target features. llvm-svn: 218747
-
- Jul 25, 2014
-
-
Amara Emerson authored
Patch by Ben Foster! Differential Revision: http://reviews.llvm.org/D4657 llvm-svn: 213944
-
- May 27, 2014
-
-
Amara Emerson authored
Patch by Asiri Rathnayake. llvm-svn: 209656
-
- Feb 16, 2014
-
-
Nico Rieck authored
llvm-svn: 201479
-
- Jan 20, 2014
-
-
Artyom Skrobov authored
[ARM] Do not generate Tag_DIV_use=AllowDIVExt when hardware div is non-optional: it should have the default value of AllowDIVIfExists llvm-svn: 199638
-
- Jan 19, 2014
-
-
Saleem Abdulrasool authored
Update names for the names as per the current ABI errata. Mark deprecated tags as such. llvm-svn: 199576
-
- Jan 16, 2014
-
-
Amara Emerson authored
The encoding of build attributes is already tested in CodeGen/ARM/build-attributes-encoding.s llvm-svn: 199393
-
- Jan 10, 2014
-
-
Artyom Skrobov authored
llvm-svn: 198945
-
- Nov 25, 2013
-
-
Amara Emerson authored
Patch by Oliver Stannard. llvm-svn: 195640
-
- Nov 22, 2013
-
-
Richard Barton authored
Patch by Oliver Stannard! llvm-svn: 195448
-
- Nov 21, 2013
-
-
Artyom Skrobov authored
llvm-svn: 195365
-
- Nov 12, 2013
-
-
Bradley Smith authored
llvm-svn: 194470
-
- Nov 01, 2013
-
-
Bradley Smith authored
Add a Virtualization ARM subtarget feature along with adding proper build attribute emission for Tag_Virtualization_use (encodes Virtualization and TrustZone) and Tag_MPextension_use. Also rework test/CodeGen/ARM/2010-10-19-mc-elf-objheader.ll testcase to something that is more maintainable. This changes the focus of this testcase away from testing CPU defaults (which is tested elsewhere), onto specifically testing that attributes are encoded correctly. llvm-svn: 193859
-
Bradley Smith authored
Fix Tag_ABI_HardFP_use build attribute to handle single precision FP, replace deprecated Tag_ABI_HardFP_use value of 3 with 0 and also add some tests for Tag_ABI_VFP_args. llvm-svn: 193856
-
- Oct 28, 2013
-
-
Logan Chien authored
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
-
- Oct 14, 2013
-
-
Bernard Ogden authored
llvm-svn: 192591
-
Bernard Ogden authored
Some previous implicit defaults have changed, for example FP and NEON are now on by default. llvm-svn: 192590
-
- Oct 11, 2013
-
-
Amara Emerson authored
llvm-svn: 192458
-
- Oct 07, 2013
-
-
Amara Emerson authored
llvm-svn: 192111
-
- Oct 03, 2013
-
-
Logan Chien authored
llvm-svn: 191891
-