llvm-6502/lib/Target/AArch64
Jim Grosbach a3edd6a038 AArch64: Better codegen for storing to __fp16.
Storing will generally be immediately preceded by rounding from an f32
or f64, so make sure to match those patterns directly to convert into the
FPR16 register class directly rather than going through the integer GPRs.

This also eliminates an extra step in the convert-from-f64 path
which was first converting to f32 and then to f16 from there.

rdar://17594379

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212638 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-09 18:55:52 +00:00
..
AsmParser Truncate the immediate in logical operation to the register width 2014-07-08 09:53:04 +00:00
Disassembler Convert some assert(0) to llvm_unreachable or fold an 'if' condition into the assert. 2014-06-19 06:10:58 +00:00
InstPrinter Replace some assert(0)'s with llvm_unreachable. 2014-06-18 05:05:13 +00:00
MCTargetDesc Move expression visitation logic up to MCStreamer. 2014-06-25 15:45:33 +00:00
TargetInfo AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
Utils Restore getInvertedCondCode() from the phased-out backend, fixing disassembly for NV 2014-05-29 11:34:50 +00:00
AArch64.h AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64.td [AArch64] Basic Sched Model for Cortex-A57. 2014-06-11 21:06:56 +00:00
AArch64AddressTypePromotion.cpp AArch64: Re-enable AArch64AddressTypePromotion 2014-07-02 18:17:40 +00:00
AArch64AdvSIMDScalarPass.cpp AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64AsmPrinter.cpp Replace some assert(0)'s with llvm_unreachable. 2014-06-18 05:05:13 +00:00
AArch64BranchRelaxation.cpp Replace some assert(0)'s with llvm_unreachable. 2014-06-18 05:05:13 +00:00
AArch64CallingConvention.td AArch64: mark small types (i1, i8, i16) as promoted 2014-06-03 13:54:53 +00:00
AArch64CleanupLocalDynamicTLSPass.cpp AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64CollectLOH.cpp AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64ConditionalCompares.cpp AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64DeadRegisterDefinitionsPass.cpp AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64ExpandPseudoInsts.cpp AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64FastISel.cpp Make AArch64FastISel::EmitIntExt explicitly check its source and destination types 2014-07-09 17:54:32 +00:00
AArch64FrameLowering.cpp Remove the uses of AArch64TargetMachine and AArch64Subtarget from 2014-06-10 17:33:39 +00:00
AArch64FrameLowering.h Remove the uses of AArch64TargetMachine and AArch64Subtarget from 2014-06-10 17:33:39 +00:00
AArch64InstrAtomics.td AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64InstrFormats.td Condition codes AL and NV are invalid in the aliases that use 2014-06-10 13:11:35 +00:00
AArch64InstrInfo.cpp Replace some assert(0)'s with llvm_unreachable. 2014-06-18 05:05:13 +00:00
AArch64InstrInfo.h Remove a method that was just replacing direct access to a member. 2014-06-10 22:57:21 +00:00
AArch64InstrInfo.td AArch64: Better codegen for storing to __fp16. 2014-07-09 18:55:52 +00:00
AArch64ISelDAGToDAG.cpp [AArch64] Unsized types don't specify an alignment. 2014-06-30 15:03:00 +00:00
AArch64ISelLowering.cpp [AArch64] Normalize all constants to build a vector. 2014-07-07 02:45:40 +00:00
AArch64ISelLowering.h [codegen,aarch64] Add a target hook to the code generator to control 2014-07-03 00:23:43 +00:00
AArch64LoadStoreOptimizer.cpp [AArch64] clang-format the load/store optimizer. 2014-06-04 12:40:35 +00:00
AArch64MachineFunctionInfo.h AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64MCInstLower.cpp Replace some assert(0)'s with llvm_unreachable. 2014-06-18 05:05:13 +00:00
AArch64MCInstLower.h AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64PerfectShuffle.h AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64PromoteConstant.cpp AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64RegisterInfo.cpp AArch64: implement copies to/from NZCV as a last ditch effort. 2014-05-27 12:16:02 +00:00
AArch64RegisterInfo.h AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64RegisterInfo.td AArch64: disallow x30 & x29 as the destination for indirect tail calls 2014-06-10 10:50:24 +00:00
AArch64SchedA53.td Fix typos 2014-05-31 21:26:28 +00:00
AArch64SchedA57.td [AArch64] Basic Sched Model for Cortex-A57. 2014-06-11 21:06:56 +00:00
AArch64SchedA57WriteRes.td [AArch64] Basic Sched Model for Cortex-A57. 2014-06-11 21:06:56 +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 [DAG] Pass the argument list to the CallLoweringInfo via move semantics. NFCI. 2014-07-01 22:01:54 +00:00
AArch64SelectionDAGInfo.h Have AArch64SelectionDAGInfo take a DataLayout parameter rather 2014-06-10 18:06:28 +00:00
AArch64StorePairSuppress.cpp AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64Subtarget.cpp Move to a private function to initialize the subtarget dependencies 2014-06-11 00:46:34 +00:00
AArch64Subtarget.h Move to a private function to initialize the subtarget dependencies 2014-06-11 00:46:34 +00:00
AArch64TargetMachine.cpp AArch64: Re-enable AArch64AddressTypePromotion 2014-07-02 18:17:40 +00:00
AArch64TargetMachine.h Remove extraneous includes from the target machines. 2014-06-26 19:30:05 +00:00
AArch64TargetObjectFile.cpp AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64TargetObjectFile.h AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64TargetTransformInfo.cpp AArch64: improve handling & modelling of FP_TO_XINT nodes. 2014-06-15 09:27:15 +00:00
CMakeLists.txt AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
LLVMBuild.txt AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
Makefile AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00