llvm-mirror/lib/Target/AArch64
Sander de Smalen d48e3148d9 [AArch64][SVE] Asm: Support for predicated unary operations.
This patch adds support for the following instructions:
  CLS  (Count Leading Sign bits)
  CLZ  (Count Leading Zeros)
  CNT  (Count non-zero bits)
  CNOT (Logically invert boolean condition in vector)
  NOT  (Bitwise invert vector)
  FABS (Floating-point absolute value)
  FNEG (Floating-point negate)

All operations are predicated and unary, e.g.
  clz  z0.s, p0/m, z1.s

- CLS, CLZ, CNT, CNOT and NOT have variants for 8, 16, 32
  and 64 bit elements.

- FABS and FNEG have variants for 16, 32 and 64 bit elements.

llvm-svn: 336677
2018-07-10 14:05:55 +00:00
..
AsmParser [AArch64][SVE] Asm: Support for ADR instruction. 2018-07-09 09:58:24 +00:00
Disassembler [AArch64] Make function parameter names in declarations match those of definitions 2018-07-03 19:07:53 +00:00
InstPrinter [AArch64][ARM] Armv8.4-A: Trace synchronization barrier instruction 2018-07-06 08:03:12 +00:00
MCTargetDesc [AArch64][SVE] Asm: Support for INC/DEC (scalar) instructions. 2018-06-15 15:47:44 +00:00
TargetInfo
Utils [AArch64] Armv8.4-A: TLB support 2018-07-06 13:00:16 +00:00
AArch64.h Revert r331816 and r331820 - [globalisel] Add a combiner helpers for extending loads and use them in a pre-legalize combiner for AArch64 2018-05-09 05:00:17 +00:00
AArch64.td [ARM][AArch64] Armv8.4-A Enablement 2018-06-29 08:43:19 +00:00
AArch64A53Fix835769.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AArch64A57FPLoadBalancing.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AArch64AdvSIMDScalarPass.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AArch64AsmPrinter.cpp [AArch64] Support "S" inline assembler constraint 2018-05-16 09:33:25 +00:00
AArch64CallingConvention.h
AArch64CallingConvention.td
AArch64CallLowering.cpp [AArch64][GlobalISel] Fix fallbacks introduced in r336120 due to unselectable stores. 2018-07-03 15:59:26 +00:00
AArch64CallLowering.h
AArch64CleanupLocalDynamicTLSPass.cpp
AArch64CollectLOH.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AArch64CondBrTuning.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AArch64ConditionalCompares.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AArch64ConditionOptimizer.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AArch64DeadRegisterDefinitionsPass.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AArch64ExpandPseudoInsts.cpp [AArch64] Improve orr+movk sequences for MOVi64imm. 2018-05-24 19:38:23 +00:00
AArch64FalkorHWPFFix.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AArch64FastISel.cpp
AArch64FrameLowering.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AArch64FrameLowering.h
AArch64GenRegisterBankInfo.def
AArch64InstrAtomics.td
AArch64InstrFormats.td Recommit: [AArch64] Armv8.4-A: Flag manipulation instructions 2018-07-06 12:32:33 +00:00
AArch64InstrInfo.cpp [MachineOutliner] Assert that Liveness tracking is accurate (NFC) 2018-07-07 08:02:19 +00:00
AArch64InstrInfo.h [MachineOutliner] Fix typo in getOutliningCandidateInfo function name 2018-07-04 15:37:08 +00:00
AArch64InstrInfo.td Recommit: [AArch64] Armv8.4-A: Flag manipulation instructions 2018-07-06 12:32:33 +00:00
AArch64InstructionSelector.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AArch64ISelDAGToDAG.cpp Revert "[AArch64] Coalesce Copy Zero during instruction selection" 2018-06-21 16:05:24 +00:00
AArch64ISelLowering.cpp [AArch64] Add custom lowering for v4i8 trunc store 2018-06-27 13:58:46 +00:00
AArch64ISelLowering.h [AArch64] Add custom lowering for v4i8 trunc store 2018-06-27 13:58:46 +00:00
AArch64LegalizerInfo.cpp [globalisel][legalizer] Add AtomicOrdering to LegalityQuery and use it in AArch64 2018-06-27 19:03:21 +00:00
AArch64LegalizerInfo.h
AArch64LoadStoreOptimizer.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AArch64MachineFunctionInfo.h
AArch64MacroFusion.cpp
AArch64MacroFusion.h
AArch64MCInstLower.cpp
AArch64MCInstLower.h
AArch64PBQPRegAlloc.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AArch64PBQPRegAlloc.h
AArch64PerfectShuffle.h
AArch64PromoteConstant.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AArch64RedundantCopyElimination.cpp [CodeGen][AArch64] Use RegUnits to track register aliases. (NFC) 2018-05-23 17:49:38 +00:00
AArch64RegisterBankInfo.cpp
AArch64RegisterBankInfo.h
AArch64RegisterBanks.td
AArch64RegisterInfo.cpp [AArch64] Remove Duplicate FP16 Patterns with same encoding, match on existing patterns 2018-06-27 09:20:13 +00:00
AArch64RegisterInfo.h [AArch64] Remove Duplicate FP16 Patterns with same encoding, match on existing patterns 2018-06-27 09:20:13 +00:00
AArch64RegisterInfo.td [AArch64][SVE] Asm: Support for ADR instruction. 2018-07-09 09:58:24 +00:00
AArch64SchedA53.td
AArch64SchedA57.td
AArch64SchedA57WriteRes.td
AArch64SchedCyclone.td
AArch64SchedExynosM1.td [ExynosM1][Sched] Fix resource usage in scheduling model. 2018-06-11 07:33:08 +00:00
AArch64SchedExynosM3.td [ExynosM3] Fix scheduling info. 2018-05-18 13:10:41 +00:00
AArch64SchedFalkor.td
AArch64SchedFalkorDetails.td
AArch64SchedKryo.td
AArch64SchedKryoDetails.td
AArch64SchedThunderX2T99.td [TableGen] Emit a fatal error on inconsistencies in resource units vs cycles. 2018-06-13 09:41:49 +00:00
AArch64SchedThunderX.td
AArch64Schedule.td
AArch64SelectionDAGInfo.cpp
AArch64SelectionDAGInfo.h
AArch64SIMDInstrOpt.cpp
AArch64StorePairSuppress.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
AArch64Subtarget.cpp
AArch64Subtarget.h [ARM][AArch64] Armv8.4-A Enablement 2018-06-29 08:43:19 +00:00
AArch64SVEInstrInfo.td [AArch64][SVE] Asm: Support for predicated unary operations. 2018-07-10 14:05:55 +00:00
AArch64SystemOperands.td [AArch64] Armv8.4-A: TLB support 2018-07-06 13:00:16 +00:00
AArch64TargetMachine.cpp [MachineOutliner] Define MachineOutliner support in TargetOptions 2018-06-28 17:45:43 +00:00
AArch64TargetMachine.h
AArch64TargetObjectFile.cpp
AArch64TargetObjectFile.h
AArch64TargetTransformInfo.cpp [AArch64] Add custom lowering for v4i8 trunc store 2018-06-27 13:58:46 +00:00
AArch64TargetTransformInfo.h
CMakeLists.txt Revert r331816 and r331820 - [globalisel] Add a combiner helpers for extending loads and use them in a pre-legalize combiner for AArch64 2018-05-09 05:00:17 +00:00
LLVMBuild.txt
SVEInstrFormats.td [AArch64][SVE] Asm: Support for predicated unary operations. 2018-07-10 14:05:55 +00:00