llvm-project/clang/lib/Basic/Targets
Krzysztof Parzyszek b1d47467e2 [Hexagon] Change HVX vector predicate types from v512/1024i1 to v64/128i1
This commit removes the artificial types <512 x i1> and <1024 x i1>
from HVX intrinsics, and makes v512i1 and v1024i1 no longer legal on
Hexagon.

It may cause existing bitcode files to become invalid.

* Converting between vector predicates and vector registers must be
  done explicitly via vandvrt/vandqrt instructions (their intrinsics),
  i.e. (for 64-byte mode):
    %Q = call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %V, i32 -1)
    %V = call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %Q, i32 -1)

  The conversion intrinsics are:
    declare  <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32>, i32)
    declare <128 x i1> @llvm.hexagon.V6.vandvrt.128B(<32 x i32>, i32)
    declare <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1>, i32)
    declare <32 x i32> @llvm.hexagon.V6.vandqrt.128B(<128 x i1>, i32)
  They are all pure.

* Vector predicate values cannot be loaded/stored directly. This directly
  reflects the architecture restriction. Loading and storing or vector
  predicates must be done indirectly via vector registers and explicit
  conversions via vandvrt/vandqrt instructions.
2020-02-19 14:14:56 -06:00
..
AArch64.cpp [ARM][AArch64] Complex addition Neon intrinsics for Armv8.3-A 2019-12-02 14:38:39 +00:00
AArch64.h Implement target(branch-protection) attribute for AArch64 2019-11-15 15:40:46 +00:00
AMDGPU.cpp Separately track input and output denormal mode 2020-02-04 12:59:21 -05:00
AMDGPU.h [AMDGPU] gfx1010 clang target 2019-05-13 23:15:59 +00:00
ARC.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ARC.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ARM.cpp [ARM][TargetParser] Improve handling of dependencies between target features 2020-02-05 16:07:51 +00:00
ARM.h [ARM][AArch64] Complex addition Neon intrinsics for Armv8.3-A 2019-12-02 14:38:39 +00:00
AVR.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVR.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
BPF.cpp [BPF] do compile-once run-everywhere relocation for bitfields 2019-10-08 18:23:17 +00:00
BPF.h reland "[DebugInfo] Support to emit debugInfo for extern variables" 2019-12-22 18:28:50 -08:00
Hexagon.cpp [Hexagon] Add support for Hexagon v67t microarchitecture (tiny core) 2020-01-21 11:35:10 -06:00
Hexagon.h [Hexagon] Change HVX vector predicate types from v512/1024i1 to v64/128i1 2020-02-19 14:14:56 -06:00
Lanai.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Lanai.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Le64.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Le64.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MSP430.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MSP430.h [MSP430] Ajust f32/f64 alignment according to MSP430 EABI 2019-01-25 08:51:53 +00:00
Mips.cpp [mips] Check that features required by built-ins are enabled 2019-11-29 00:23:00 +03:00
Mips.h [mips] Add `octeon+` to the list of CPUs accepted by the driver 2019-11-07 13:58:50 +03:00
NVPTX.cpp [HIP] Add GPU arch gfx1010, gfx1011, and gfx1012 2019-07-11 17:50:09 +00:00
NVPTX.h Add support for the MS qualifiers __ptr32, __ptr64, __sptr, __uptr. 2019-12-18 10:41:12 -08:00
OSTargets.cpp clang: Only define OBJC_NEW_PROPERTIES when -x objective-c 2020-01-24 14:55:12 -08:00
OSTargets.h [PS4] Predefine the __SCE__ macro for the x86_64-scei-ps4 triple 2019-12-12 11:00:09 -08:00
PNaCl.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
PNaCl.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
PPC.cpp [Driver][PowerPC] Move powerpcspe logic from cc1 to Driver 2020-01-10 11:43:17 -08:00
PPC.h [PowerPC]: Add powerpcspe target triple subarch component 2020-01-08 19:10:53 -06:00
RISCV.cpp Revert "[RISCV] Add Clang frontend support for Bitmanip extension" 2020-01-15 10:43:42 +00:00
RISCV.h Revert "[RISCV] Add Clang frontend support for Bitmanip extension" 2020-01-15 10:43:42 +00:00
SPIR.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SPIR.h Add support for the MS qualifiers __ptr32, __ptr64, __sptr, __uptr. 2019-12-18 10:41:12 -08:00
Sparc.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Sparc.h [clang, test] Fix Clang :: Headers/max_align.c on 64-bit SPARC 2019-07-23 16:24:00 +00:00
SystemZ.cpp [SystemZ] Support z15 processor name 2019-09-20 23:06:03 +00:00
SystemZ.h [SystemZ] Support -msoft-float 2020-02-04 10:32:45 -05:00
TCE.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
TCE.h Add support for the MS qualifiers __ptr32, __ptr64, __sptr, __uptr. 2019-12-18 10:41:12 -08:00
WebAssembly.cpp [WebAssembly] Add experimental multivalue calling ABI 2020-02-04 21:09:49 -08:00
WebAssembly.h [WebAssembly] Add experimental multivalue calling ABI 2020-02-04 21:09:49 -08:00
X86.cpp [Sema][X86] Consider target attribute into the checks in validateOutputSize and validateInputSize. 2019-12-23 11:23:30 -08:00
X86.h Support -fstack-clash-protection for x86 2020-02-09 10:42:45 +01:00
XCore.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
XCore.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00