diff options
author | MinSeong Kim <min.s.kim@samsung.com> | 2016-01-05 12:51:59 +0000 |
---|---|---|
committer | MinSeong Kim <min.s.kim@samsung.com> | 2016-01-05 12:51:59 +0000 |
commit | a7385ebf78eeaf0206bf0a6ac2252e219c308a01 (patch) | |
tree | d024c01b3c7f20656efdce27393b8818fc851cc0 /llvm/test/CodeGen/ARM/build-attributes.ll | |
parent | b4872150d2f9d88250090d7a36767a80f4decc4f (diff) | |
download | bcm5719-llvm-a7385ebf78eeaf0206bf0a6ac2252e219c308a01.tar.gz bcm5719-llvm-a7385ebf78eeaf0206bf0a6ac2252e219c308a01.zip |
[AArch64] Add support for Samsung Exynos-M1
Adds core tuning support for new Samsung Exynos-M1 core (ARMv8-A).
Differential Revision: http://reviews.llvm.org/D15663
llvm-svn: 256828
Diffstat (limited to 'llvm/test/CodeGen/ARM/build-attributes.ll')
-rw-r--r-- | llvm/test/CodeGen/ARM/build-attributes.ll | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/build-attributes.ll b/llvm/test/CodeGen/ARM/build-attributes.ll index bf502b3ae07..a74b3e441a1 100644 --- a/llvm/test/CodeGen/ARM/build-attributes.ll +++ b/llvm/test/CodeGen/ARM/build-attributes.ll @@ -109,6 +109,9 @@ ; RUN: llc < %s -mtriple=armv8-linux-gnueabi -mcpu=cortex-a72 -enable-unsafe-fp-math -disable-fp-elim -enable-no-infs-fp-math -enable-no-nans-fp-math -fp-contract=fast | FileCheck %s --check-prefix=CORTEX-A72-FAST ; RUN: llc < %s -mtriple=armv8-linux-gnueabi -mcpu=cortex-a72 -enable-sign-dependent-rounding-fp-math | FileCheck %s --check-prefix=DYN-ROUNDING ; RUN: llc < %s -mtriple=armv8.1a-linux-gnueabi | FileCheck %s --check-prefix=GENERIC-ARMV8_1-A +; RUN: llc < %s -mtriple=armv8-linux-gnueabi -mcpu=exynos-m1 | FileCheck %s --check-prefix=EXYNOS-M1 +; RUN: llc < %s -mtriple=armv8-linux-gnueabi -mcpu=exynos-m1 -enable-unsafe-fp-math -disable-fp-elim -enable-no-infs-fp-math -enable-no-nans-fp-math -fp-contract=fast | FileCheck %s --check-prefix=EXYNOS-M1-FAST +; RUN: llc < %s -mtriple=armv8-linux-gnueabi -mcpu=exynos-m1 -enable-sign-dependent-rounding-fp-math | FileCheck %s --check-prefix=DYN-ROUNDING ; RUN: llc < %s -mtriple=armv8.1a-linux-gnueabi -enable-unsafe-fp-math -disable-fp-elim -enable-no-infs-fp-math -enable-no-nans-fp-math -fp-contract=fast | FileCheck %s --check-prefix=GENERIC-ARMV8_1-A-FAST ; RUN: llc < %s -mtriple=armv8.1a-linux-gnueabi -enable-sign-dependent-rounding-fp-math | FileCheck %s --check-prefix=DYN-ROUNDING ; RUN: llc < %s -mtriple=armv7-none-linux-gnueabi -mcpu=cortex-a7 | FileCheck %s --check-prefix=CORTEX-A7-CHECK @@ -138,6 +141,9 @@ ; RUN: llc < %s -mtriple=armv8-none-linux-gnueabi -mcpu=cortex-a57 -mattr=+strict-align | FileCheck %s --check-prefix=STRICT-ALIGN ; RUN: llc < %s -mtriple=armv8-none-linux-gnueabi -mcpu=cortex-a72 | FileCheck %s --check-prefix=NO-STRICT-ALIGN ; RUN: llc < %s -mtriple=armv8-none-linux-gnueabi -mcpu=cortex-a72 -mattr=+strict-align | FileCheck %s --check-prefix=STRICT-ALIGN +; RUN: llc < %s -mtriple=armv8-none-linux-gnueabi -mcpu=exynos-m1 | FileCheck %s --check-prefix=NO-STRICT-ALIGN +; RUN: llc < %s -mtriple=armv8-none-linux-gnueabi -mcpu=exynos-m1 -mattr=+strict-align | FileCheck %s --check-prefix=STRICT-ALIGN + ; ARMv7a ; RUN: llc < %s -mtriple=armv7-none-linux-gnueabi -mcpu=cortex-a7 | FileCheck %s --check-prefix=NO-STRICT-ALIGN ; RUN: llc < %s -mtriple=armv7-none-linux-gnueabi -mcpu=cortex-a7 -mattr=+strict-align | FileCheck %s --check-prefix=STRICT-ALIGN @@ -1238,6 +1244,36 @@ ; CORTEX-A72-FAST-NOT: .eabi_attribute 22 ; CORTEX-A72-FAST: .eabi_attribute 23, 1 +; EXYNOS-M1: .cpu exynos-m1 +; EXYNOS-M1: .eabi_attribute 6, 14 +; EXYNOS-M1: .eabi_attribute 7, 65 +; EXYNOS-M1: .eabi_attribute 8, 1 +; EXYNOS-M1: .eabi_attribute 9, 2 +; EXYNOS-M1: .fpu crypto-neon-fp-armv8 +; EXYNOS-M1: .eabi_attribute 12, 3 +; EXYNOS-M1-NOT: .eabi_attribute 19 +;; We default to IEEE 754 compliance +; EXYNOS-M1: .eabi_attribute 20, 1 +; EXYNOS-M1: .eabi_attribute 21, 1 +; EXYNOS-M1-NOT: .eabi_attribute 22 +; EXYNOS-M1: .eabi_attribute 23, 3 +; EXYNOS-M1: .eabi_attribute 24, 1 +; EXYNOS-M1: .eabi_attribute 25, 1 +; EXYNOS-M1-NOT: .eabi_attribute 27 +; EXYNOS-M1-NOT: .eabi_attribute 28 +; EXYNOS-M1: .eabi_attribute 36, 1 +; EXYNOS-M1: .eabi_attribute 38, 1 +; EXYNOS-M1: .eabi_attribute 42, 1 +; EXYNOS-M1-NOT: .eabi_attribute 44 +; EXYNOS-M15: .eabi_attribute 68, 3 + +; EXYNOS-M1-FAST-NOT: .eabi_attribute 19 +;; The exynos-m1 has the ARMv8 FP unit, which always flushes preserving sign. +; EXYNOS-M1-FAST: .eabi_attribute 20, 2 +; EXYNOS-M1-FAST-NOT: .eabi_attribute 21 +; EXYNOS-M1-FAST-NOT: .eabi_attribute 22 +; EXYNOS-M1-FAST: .eabi_attribute 23, 1 + ; GENERIC-FPU-VFPV3-FP16: .fpu vfpv3-fp16 ; GENERIC-FPU-VFPV3-D16-FP16: .fpu vfpv3-d16-fp16 ; GENERIC-FPU-VFPV3XD: .fpu vfpv3xd |