1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 22:42:46 +02:00
llvm-mirror/lib/Target/AArch64
Ahmed Bougacha 6c08d94243 [AArch64] Don't force MVT::Untyped when selecting LD1LANEpost.
The result is either an Untyped reg sequence, on ldN with N > 1, or
just the type of the input vector, on ld1.  Don't force Untyped.
Instead, just use the type of the reg sequence.

This mirrors the behavior of createTuple, which feeds the LD1*_POST.

The narrow code path wasn't actually covered by tests, because V64
insert_vector_elt are widened to V128 before the LD1LANEpost combine
has the chance to run, usually.

The only case where it does run on V64 vectors is if the vector ops
legalizer ran.  So, tickle the code with a ctpop.

Fixes PR23265.

llvm-svn: 235243
2015-04-17 23:43:33 +00:00
..
AsmParser [AArch64] Refactor AArch64NamedImmMapper to become dependent on subtarget features. 2015-04-16 12:15:27 +00:00
Disassembler [AArch64] Add v8.1a "Limited Ordering Regions" extension 2015-04-16 15:30:43 +00:00
InstPrinter [AArch64] Refactor AArch64NamedImmMapper to become dependent on subtarget features. 2015-04-16 12:15:27 +00:00
MCTargetDesc [mc] Clean up emission of byte sequences 2015-04-17 11:12:43 +00:00
TargetInfo AArch64: stop trying to take control of all UnknownArch triples. 2014-08-08 08:27:44 +00:00
Utils [AArch64] Add v8.1a "Virtualization Host Extensions" 2015-04-16 15:38:58 +00:00
AArch64.h [PM] Remove a bunch of stale TTI creation method declarations. I nuked 2015-02-01 00:22:15 +00:00
AArch64.td [AArch64] Rename v8.1a from "extension" to "architecture" 2015-04-01 14:49:29 +00:00
AArch64A53Fix835769.cpp Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
AArch64A57FPLoadBalancing.cpp unique_ptrs are unique already, no need to unique them any further. 2015-03-13 16:59:29 +00:00
AArch64AddressTypePromotion.cpp Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
AArch64AdvSIMDScalarPass.cpp This only needs TargetInstrInfo, not the specialized one. 2015-01-30 01:10:18 +00:00
AArch64AsmPrinter.cpp DebugInfo: Gut DIVariable and DIGlobalVariable 2015-04-14 02:22:36 +00:00
AArch64BranchRelaxation.cpp Migrate AArch64 except for TTI and AsmPrinter away from getSubtargetImpl. 2015-01-28 03:51:33 +00:00
AArch64CallingConvention.h Move DataLayout back to the TargetMachine from TargetSubtargetInfo 2015-01-26 19:03:15 +00:00
AArch64CallingConvention.td Move DataLayout back to the TargetMachine from TargetSubtargetInfo 2015-01-26 19:03:15 +00:00
AArch64CleanupLocalDynamicTLSPass.cpp Fix PR22408 - LLVM producing AArch64 TLS relocations that GNU linkers cannot handle yet. 2015-03-04 09:12:08 +00:00
AArch64CollectLOH.cpp Change range-based for-loops to be -Wrange-loop-analysis clean. 2015-04-15 01:21:15 +00:00
AArch64ConditionalCompares.cpp AArch64: Canonicalize access to function attributes, NFC 2015-02-14 02:09:06 +00:00
AArch64ConditionOptimizer.cpp Migrate AArch64 except for TTI and AsmPrinter away from getSubtargetImpl. 2015-01-28 03:51:33 +00:00
AArch64DeadRegisterDefinitionsPass.cpp Remove 'virtual' keyword from methods markedwith 'override' keyword. 2014-08-30 16:48:34 +00:00
AArch64ExpandPseudoInsts.cpp Transfer implicit operands when expanding the RET_ReallyLR pseudo instruction. 2015-03-30 22:45:56 +00:00
AArch64FastISel.cpp Disable AArch64 fast-isel on big-endian call vector returns. 2015-04-16 21:19:36 +00:00
AArch64FrameLowering.cpp [AArch64] Strengthen the code for the prologue insertion. 2015-04-10 23:14:34 +00:00
AArch64FrameLowering.h [AArch64] Add support for dynamic stack alignment 2015-04-09 08:49:47 +00:00
AArch64InstrAtomics.td Make use of isAtLeastRelease/Acquire in the ARM/AArch64 backends 2014-08-18 16:48:58 +00:00
AArch64InstrFormats.td [AArch64] Add v8.1a "Limited Ordering Regions" extension 2015-04-16 15:30:43 +00:00
AArch64InstrInfo.cpp [AArch64] Fix invalid use of references to BuildMI. 2015-04-16 11:37:40 +00:00
AArch64InstrInfo.h Revert "Migrate the AArch64 TargetRegisterInfo to its TargetMachine" 2015-03-18 20:37:30 +00:00
AArch64InstrInfo.td [AArch64] Add v8.1a "Limited Ordering Regions" extension 2015-04-16 15:30:43 +00:00
AArch64ISelDAGToDAG.cpp [AArch64] Don't force MVT::Untyped when selecting LD1LANEpost. 2015-04-17 23:43:33 +00:00
AArch64ISelLowering.cpp [AArch64] Avoid vector->load dependency cycles when creating LD1*post. 2015-04-17 21:02:30 +00:00
AArch64ISelLowering.h AArch64: Don't lower ISD::SELECT to ISD::SELECT_CC 2015-04-07 17:33:05 +00:00
AArch64LoadStoreOptimizer.cpp [AArch64][LoadStoreOptimizer] Generate LDP + SXTW instead of LD[U]R + LD[U]RSW. 2015-03-06 22:42:10 +00:00
AArch64MachineCombinerPattern.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AArch64MachineFunctionInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AArch64MCInstLower.cpp Fix PR22408 - LLVM producing AArch64 TLS relocations that GNU linkers cannot handle yet. 2015-03-04 09:12:08 +00:00
AArch64MCInstLower.h Delete unused argument in AArch64MCInstLower constructor: it doesn't 2014-08-19 21:51:08 +00:00
AArch64PBQPRegAlloc.cpp Avoid copying LiveInterval, this could lead to a double-delete 2015-03-03 22:25:48 +00:00
AArch64PBQPRegAlloc.h [AArch64] Cleanup A57PBQPConstraints 2014-10-22 12:40:20 +00:00
AArch64PerfectShuffle.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AArch64PromoteConstant.cpp Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
AArch64RegisterInfo.cpp [AArch64] Add support for dynamic stack alignment 2015-04-09 08:49:47 +00:00
AArch64RegisterInfo.h [AArch64] Add support for dynamic stack alignment 2015-04-09 08:49:47 +00:00
AArch64RegisterInfo.td Teach the AArch64 backend about v4f16 and v8f16 2014-08-27 16:16:04 +00:00
AArch64SchedA53.td Fix typos 2014-05-31 21:26:28 +00:00
AArch64SchedA57.td [AArch64] Changes some SchedAlias to WriteRes for Cortex-A57. 2015-04-10 13:19:27 +00:00
AArch64SchedA57WriteRes.td [AArch64] Refines the Cortex-A57 Machine Model 2014-09-29 21:27:36 +00:00
AArch64SchedCyclone.td AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64Schedule.td AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64SelectionDAGInfo.cpp Get the cached subtarget off the MachineFunction rather than 2015-02-20 08:39:06 +00:00
AArch64SelectionDAGInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AArch64StorePairSuppress.cpp Clean up the AArch64 store pair suppression pass initialization 2015-01-27 07:54:36 +00:00
AArch64Subtarget.cpp [AArch64] Rename v8.1a from "extension" to "architecture" 2015-04-01 14:49:29 +00:00
AArch64Subtarget.h [AArch64] Rename v8.1a from "extension" to "architecture" 2015-04-01 14:49:29 +00:00
AArch64TargetMachine.cpp [CodeGen] Split -enable-global-merge into ARM and AArch64 options. 2015-04-11 00:06:36 +00:00
AArch64TargetMachine.h Remove the bare getSubtargetImpl call from the AArch64 port. As part 2015-03-21 04:04:50 +00:00
AArch64TargetObjectFile.cpp [AsmPrinter][TLOF] 32-bit MachO support for replacing GOT equivalents 2015-03-06 13:49:05 +00:00
AArch64TargetObjectFile.h [AsmPrinter][TLOF] 32-bit MachO support for replacing GOT equivalents 2015-03-06 13:49:05 +00:00
AArch64TargetTransformInfo.cpp [AArch64] Enable partial & runtime unrolling on cortex-a57 2015-03-09 06:14:28 +00:00
AArch64TargetTransformInfo.h [multiversion] Remove the function parameter from the unrolling 2015-02-01 14:31:23 +00:00
CMakeLists.txt [AArch64] Add workaround for Cortex-A53 erratum (835769) 2014-10-13 10:12:35 +00:00
LLVMBuild.txt Prune redundant libdeps. 2014-07-24 11:45:27 +00:00
Makefile AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00