diff options
| author | Sumanth Gundapaneni <sgundapa@codeaurora.org> | 2017-10-18 18:10:13 +0000 |
|---|---|---|
| committer | Sumanth Gundapaneni <sgundapa@codeaurora.org> | 2017-10-18 18:10:13 +0000 |
| commit | 57098f5ac331149f1fb599f55f6f4980850555ee (patch) | |
| tree | 8320277354bb7e83d2541c77fc7eef507e8c9732 /clang/test/CodeGen | |
| parent | e1983bcf552980433a7a8ed7a2ae31ded4ae9b4a (diff) | |
| download | bcm5719-llvm-57098f5ac331149f1fb599f55f6f4980850555ee.tar.gz bcm5719-llvm-57098f5ac331149f1fb599f55f6f4980850555ee.zip | |
[Hexagon] Handling of new HVX flags and target-features
This patch has the following changes
A new flag "-mhvx-length={64B|128B}" is introduced to specify the length of the vector.
Previously we have used "-mhvx-double" for 128 Bytes. This adds the target-feature "+hvx-length{64|128}b"
The "-mhvx" flag must be provided on command line to enable HVX for Hexagon. If no -mhvx-length flag
is specified, a default length is picked from the arch mentioned in this priority order from either -mhvx=vxx
or -mcpu. For v60 and v62 the default length is 64 Byte. For unknown versions, the length is 128 Byte. The
-mhvx flag adds the target-feature "+hvxv{hvx_version}"
The 64 Byte mode is soon going to be deprecated. A warning is emitted if 64 Byte is enabled. A warning is
still emitted for the default 64 Byte as well. This warning can be suppressed with a -Wno flag.
The "-mhvx-double" and "-mno-hvx-double" flags are deprecated. A warning is emitted if the driver sees
them on commandline. "-mhvx-double" is an alias to "-mhvx-length=128B"
The compilation will error out if -mhvx-length is specified with out an -mhvx/-mhvx= flag
The macro HVX_LENGTH is defined and is set to the length of the vector.
Eg: #define HVX_LENGTH 64
The macro HVX_ARCH is defined and is set to the version of the HVX.
Eg: #define HVX_ARCH 62
Differential Revision: https://reviews.llvm.org/D38852
llvm-svn: 316102
Diffstat (limited to 'clang/test/CodeGen')
| -rw-r--r-- | clang/test/CodeGen/hexagon-inline-asm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/test/CodeGen/hexagon-inline-asm.c b/clang/test/CodeGen/hexagon-inline-asm.c index eada1de9c97..3de3f58baf3 100644 --- a/clang/test/CodeGen/hexagon-inline-asm.c +++ b/clang/test/CodeGen/hexagon-inline-asm.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple hexagon-unknown-elf -target-feature +hvx -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -triple hexagon-unknown-elf -target-feature +hvx -target-feature +hvx-length64b -emit-llvm -o - %s | FileCheck %s typedef int v64 __attribute__((__vector_size__(64))) __attribute__((aligned(64))); |

