llvm-project/llvm/test/CodeGen/Thumb2
Lucas Prates a255931c40 [ARM] Supporting lowering of half-precision FP arguments and returns in AArch32's backend
Summary:
Half-precision floating point arguments and returns are currently
promoted to either float or int32 in clang's CodeGen and there's
no existing support for the lowering of `half` arguments and returns
from IR in AArch32's backend.

Such frontend coercions, implemented as coercion through memory
in clang, can cause a series of issues in argument lowering, as causing
arguments to be stored on the wrong bits on big-endian architectures
and incurring in missing overflow detections in the return of certain
functions.

This patch introduces the handling of half-precision arguments and returns in
the backend using the actual "half" type on the IR. Using the "half"
type the backend is able to properly enforce the AAPCS' directions for
those arguments, making sure they are stored on the proper bits of the
registers and performing the necessary floating point convertions.

Reviewers: rjmccall, olista01, asl, efriedma, ostannard, SjoerdMeijer

Reviewed By: ostannard

Subscribers: stuij, hiraditya, dmgreen, llvm-commits, chill, dnsampaio, danielkiss, kristof.beyls, cfe-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D75169
2020-06-18 13:15:13 +01:00
..
LowOverheadLoops [ARM] Reimplement MVE Tail-Predication pass using @llvm.get.active.lane.mask 2020-06-17 15:17:42 +01:00
mve-intrinsics [ARM] Convert floating point splats to integer 2020-05-13 15:24:16 +01:00
2009-07-17-CrossRegClassCopy.ll
2009-07-21-ISelBug.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
2009-07-23-CPIslandBug.ll
2009-07-30-PEICrash.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2009-08-01-WrongLDRBOpc.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2009-08-02-CoalescerBug.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2009-08-04-CoalescerAssert.ll
2009-08-04-CoalescerBug.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2009-08-04-ScavengerAssert.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2009-08-04-SubregLoweringBug.ll
2009-08-04-SubregLoweringBug2.ll
2009-08-04-SubregLoweringBug3.ll
2009-08-06-SpDecBug.ll
2009-08-07-CoalescerBug.ll
2009-08-07-NeonFPBug.ll
2009-08-08-ScavengerAssert.ll
2009-08-10-ISelBug.ll
2009-08-21-PostRAKill4.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2009-09-01-PostRAProlog.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2009-10-15-ITBlockBranch.ll
2009-11-01-CopyReg2RegBug.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2009-11-11-ScavengerAssert.ll
2009-11-13-STRDBug.ll
2009-12-01-LoopIVUsers.ll
2010-01-06-TailDuplicateLabels.ll Work around grep vs. CRLF issue in Thumb2 test by matching excess whitespace 2018-09-18 00:04:29 +00:00
2010-01-19-RemovePredicates.ll
2010-02-11-phi-cycle.ll [MBP] Avoid tail duplication if it can't bring benefit 2019-12-06 09:53:53 -08:00
2010-02-24-BigStack.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2010-03-08-addi12-ccout.ll
2010-03-15-AsmCCClobber.ll Revert "ARM-Darwin: keep the frame register reserved even if not updated." 2019-12-06 10:59:26 -08:00
2010-04-15-DynAllocBug.ll [ARM] Run ARMParallelDSP in the IRPasses phase 2019-03-14 10:57:40 +00:00
2010-04-26-CopyRegCrash.ll
2010-05-24-rsbs.ll
2010-06-14-NEONCoalescer.ll
2010-06-19-ITBlockCrash.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2010-06-21-TailMergeBug.ll [ARM] Remove EarlyCSE from backend 2019-03-15 13:36:37 +00:00
2010-08-10-VarSizedAllocaBug.ll
2010-11-22-EpilogueBug.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
2010-12-03-AddSPNarrowing.ll
2011-04-21-FILoweringBug.ll
2011-06-07-TwoAddrEarlyClobber.ll
2011-12-16-T2SizeReduceAssert.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2012-01-13-CBNZBug.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2013-02-19-tail-call-register-hint.ll
2013-03-02-vduplane-nonconstant-source-index.ll
2013-03-06-vector-sext-operand-scalarize.ll
aapcs.ll [ARM] Replace fp-only-sp and d16 with fp64 and d32. 2019-05-28 16:13:20 +00:00
aligned-constants.ll [AsmPrinter] Print FP constant in hexadecimal form instead 2020-02-07 16:00:55 +00:00
aligned-spill.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
bfi.ll
bfx.ll
bicbfi.ll
bug-subw.ll [ARM][Thumb2] Fix ADD/SUB invalid writes to SP 2020-01-14 11:47:19 +00:00
buildvector-crash.ll
call-site-info-update.ll [CallSiteInfo] Handle bundles when updating call site info 2020-02-27 13:57:06 +01:00
carry.ll
cbnz.ll [MBP] Avoid tail duplication if it can't bring benefit 2019-12-06 09:53:53 -08:00
cde-gpr.ll [ARM,CDE] Implement GPR CDE intrinsics 2020-03-20 14:01:51 +00:00
cde-vec.ll [ARM,CDE] Implement predicated Q-register CDE intrinsics 2020-03-25 17:08:19 +00:00
cde-vfp.ll [ARM,CDE] Implement CDE S and D-register intrinsics 2020-03-20 14:01:53 +00:00
cmp-frame.ll ARM: Don't rewrite add reg, $sp, 0 -> mov reg, $sp if the add defines CPSR. 2018-02-27 19:00:59 +00:00
constant-hoisting.ll [DAG] Refactor DAGCombiner::ReassociateOps 2019-04-29 17:50:10 +00:00
constant-islands-cbz.ll [ARM] Search backwards for CMP when combining into CBZ 2019-03-17 16:11:22 +00:00
constant-islands-cbz.mir Revert "[ARM] Add CPSR as an implicit use of t2IT" 2020-02-27 15:43:44 +00:00
constant-islands-jump-table.ll
constant-islands-new-island-padding.ll [AsmPrinter] Print FP constant in hexadecimal form instead 2020-02-07 16:00:55 +00:00
constant-islands-new-island.ll
constant-islands.ll [ARM] Fix for buildbots 2019-09-17 14:21:36 +00:00
cortex-fp.ll
crash.ll
cross-rc-coalescing-1.ll
cross-rc-coalescing-2.ll [DAG] Move integer setcc %x, %x folding into FoldSetCC 2019-03-13 11:08:57 +00:00
csel.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
div.ll
emit-unwinding.ll [ARM][Thumb][FIX] Add unwinding information to t4 2019-12-30 15:59:48 +00:00
fir.ll [ARM] Optimise ASRL/LSRL to smaller shifts using demand bits. 2020-03-13 10:09:03 +00:00
float-cmp.ll [TargetLowering][ARM][X86] Change softenSetCCOperands handling of ONE to avoid spurious exceptions for QNANs with strict FP quiet compares 2020-01-10 11:00:17 -08:00
float-intrinsics-double.ll [ARM] Use isFMAFasterThanFMulAndFAdd for scalars as well as MVE vectors 2020-01-05 11:24:04 +00:00
float-intrinsics-float.ll [ARM] Use isFMAFasterThanFMulAndFAdd for scalars as well as MVE vectors 2020-01-05 11:24:04 +00:00
float-ops.ll [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
fp16-stacksplot.mir [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
frame-index-addrmode-t2i8s4.mir [ARM] Fix rewrite of frame index in Thumb2's address mode i8s4 2020-05-27 13:09:13 +01:00
frame-pointer.ll Migrate function attribute "no-frame-pointer-elim-non-leaf" to "frame-pointer"="non-leaf" as cleanups after D56351 2019-12-24 16:05:15 -08:00
frameless.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
frameless2.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
high-reg-spill.mir [MIR] Add comments to INLINEASM immediate flag MachineOperands 2020-04-16 13:46:14 +02:00
ifcvt-cbz.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
ifcvt-compare.ll
ifcvt-minsize.ll Revert "[IPRA][ARM] Spill extra registers at -Oz" 2020-04-06 10:34:59 +01:00
ifcvt-neon-deprecated.mir [ARM][ReachingDefs] RDA in LoLoops 2019-11-26 10:13:46 +00:00
ifcvt-no-branch-predictor.ll [ARM] Cortex-M4 schedule 2019-05-15 12:41:58 +00:00
ifcvt-rescan-bug-2016-08-22.ll
ifcvt-rescan-diamonds.ll
inflate-regs.ll
inline-asm-i-constraint-i1.ll [TargetLowering] Extend bool args to inline-asm according to getBooleanType 2019-05-22 16:16:15 +00:00
inlineasm-error-t-toofewregs-mve.ll [ARM] Support inline assembler constraints for MVE. 2019-06-25 16:49:32 +00:00
inlineasm-mve.ll [ARM] Support inline assembler constraints for MVE. 2019-06-25 16:49:32 +00:00
inlineasm.ll
intrinsics-cc.ll
intrinsics-coprocessor.ll
large-call.ll [ARM][THUMB2] Allow emitting T3 types of add and sub 2019-12-30 11:03:58 +00:00
large-stack.ll
ldr-str-imm12.ll Revert "[NFC][ARM] Update test" 2020-02-28 09:14:50 -08:00
lit.local.cfg [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
longMACt.ll
lsll0.ll [DAG] SimplifyMultipleUseDemandedBits - remove superfluous bitcasts 2020-05-08 19:04:49 +01:00
lsr-deficiency.ll
m4-sched-ldr.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
m4-sched-regs.ll [ARM] Don't use the Machine Scheduler for cortex-m at minsize 2019-05-15 12:58:02 +00:00
machine-licm.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
mul_const.ll
mve-abs.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-basic.ll [SelectionDAG] Don't promote the alignment of allocas beyond the stack alignment. 2020-05-11 17:39:00 -07:00
mve-be.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
mve-bitarith.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-bitcasts.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-bitreverse.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-bswap.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-ctlz.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-ctpop.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-cttz.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-div-expand.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-extractelt.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-float16regloops.ll [LSR] Filter for postinc formulae 2020-06-17 12:32:04 +01:00
mve-float32regloops.ll [LSR] Filter for postinc formulae 2020-06-17 12:32:04 +01:00
mve-fma-loops.ll [ARM] Reimplement MVE Tail-Predication pass using @llvm.get.active.lane.mask 2020-06-17 15:17:42 +01:00
mve-fmas.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-fmath.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-fp-negabs.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-fp16convertloops.ll [ARM] FP16 conversion tests. NFC 2020-06-04 13:13:56 +01:00
mve-frint.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-gather-increment.ll [ARM] Change test target to arm-none-none-eabi. NFC 2020-05-08 14:16:31 +01:00
mve-gather-ind8-unscaled.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-gather-ind16-scaled.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-gather-ind16-unscaled.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-gather-ind32-scaled.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-gather-ind32-unscaled.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-gather-optimisation-deep.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-gather-ptrs.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-gather-scatter-opt.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-gather-scatter-optimisation.ll [ARM][MVE] Add support for incrementing scatters 2020-05-15 17:02:00 +01:00
mve-halving.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-ldst-offset.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
mve-ldst-postinc.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
mve-ldst-preinc.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
mve-ldst-regimm.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-loadstore.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
mve-masked-ldst-offset.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
mve-masked-ldst-postinc.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
mve-masked-ldst-preinc.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
mve-masked-ldst.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
mve-masked-load.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
mve-masked-store.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
mve-minmax.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-multivec-spill.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-neg.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-nofloat.ll [ARM] Add test for MVE and no floats. NFC 2019-07-09 14:43:17 +00:00
mve-phireg.ll Revert "[CodeGen] Add support for multiple memory operands in MachineInstr::mayAlias" 2020-05-22 21:26:46 +02:00
mve-postinc-distribute.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-postinc-distribute.mir [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-postinc-lsr.ll [ARM] Convert floating point splats to integer 2020-05-13 15:24:16 +01:00
mve-pred-and.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-pred-bitcast.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
mve-pred-build-const.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-pred-build-var.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-pred-const.ll [ARM] MVE predcast with const test. NFC 2020-05-05 09:53:42 +01:00
mve-pred-convert.ll [ARM] Correct the type on a predicate cast 2020-05-05 13:15:10 +01:00
mve-pred-ext.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-pred-loadstore.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
mve-pred-not.ll [Target][ARM] Replace re-uses of old VPR values with VPNOTs 2020-05-12 12:09:57 +01:00
mve-pred-or.ll [Target][ARM] Fold or(A, B) more aggressively for I1 vectors 2020-05-05 10:03:02 +01:00
mve-pred-shuffle.ll [ARM] Convert VDUPLANE to VDUP under MVE 2020-05-09 18:58:13 +01:00
mve-pred-spill.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
mve-pred-threshold.ll [ARM] Convert floating point splats to integer 2020-05-13 15:24:16 +01:00
mve-pred-xor.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-satmul-loops.ll [ARM] VQMOVN demand bits analysis 2020-06-05 18:41:02 +01:00
mve-saturating-arith.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-scatter-increment.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
mve-scatter-ind8-unscaled.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-scatter-ind16-scaled.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-scatter-ind16-unscaled.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-scatter-ind32-scaled.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-scatter-ind32-unscaled.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-scatter-ptrs.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-sext.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-shifts-scalar.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-shifts.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-shuffle.ll [ARM] Supporting lowering of half-precision FP arguments and returns in AArch32's backend 2020-06-18 13:15:13 +01:00
mve-shuffleext.ll [ARM] FP16 conversion tests. NFC 2020-06-04 13:13:56 +01:00
mve-shufflemov.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-simple-arith.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-soft-float-abi.ll [ARM] MVE vector for 64bit types 2019-07-15 18:42:54 +00:00
mve-stack.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-stacksplot.mir [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vaddqr.ll [ARM] Convert a bitcast VDUP to a VDUP 2020-05-06 14:14:21 +01:00
mve-vaddv.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vcmp.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vcmpf.ll [Target][ARM] Fold or(A, B) more aggressively for I1 vectors 2020-05-05 10:03:02 +01:00
mve-vcmpfr.ll [ARM] VMOVhr load -> vldr 2020-05-06 15:45:56 +01:00
mve-vcmpfz.ll [Target][ARM] Fold or(A, B) more aggressively for I1 vectors 2020-05-05 10:03:02 +01:00
mve-vcmpr.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vcmpz.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vctp.ll [ARM,MVE] Rename and clean up VCTP IR intrinsics. 2019-12-02 16:20:30 +00:00
mve-vcvt.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vcvt16.ll [ARM] FP16 conversion tests. NFC 2020-06-04 13:13:56 +01:00
mve-vdup.ll [ARM] Supporting lowering of half-precision FP arguments and returns in AArch32's backend 2020-06-18 13:15:13 +01:00
mve-vecreduce-add.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vecreduce-bit.ll [ARM] Add some MVE vecreduce tests. NFC 2020-06-09 12:07:19 +01:00
mve-vecreduce-fadd.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vecreduce-fminmax.ll [ARM] Supporting lowering of half-precision FP arguments and returns in AArch32's backend 2020-06-18 13:15:13 +01:00
mve-vecreduce-fmul.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vecreduce-loops.ll [ARM] Add some MVE vecreduce tests. NFC 2020-06-09 12:07:19 +01:00
mve-vecreduce-mla.ll [ARM] Extra MVE VMLAV reduction patterns 2020-05-29 16:23:24 +01:00
mve-vecreduce-mul.ll [ARM] Add some MVE vecreduce tests. NFC 2020-06-09 12:07:19 +01:00
mve-vector-spill.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vfma.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vhaddsub.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vld2-post.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vld2.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vld3.ll [ARM] Convert VDUPLANE to VDUP under MVE 2020-05-09 18:58:13 +01:00
mve-vld4-post.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vld4.ll [ARM] Convert VDUPLANE to VDUP under MVE 2020-05-09 18:58:13 +01:00
mve-vldst4.ll [ARM] Convert floating point splats to integer 2020-05-13 15:24:16 +01:00
mve-vmaxv.ll [ARM] MVE VMINV/VMAXV test additions. NFC 2020-05-26 14:00:14 +01:00
mve-vmla.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vmovimm.ll [ARM] Fix crash trying to generate i1 immediates 2020-06-16 12:27:24 +01:00
mve-vmovn.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
mve-vmovnstore.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vmulh.ll [ARM] VMULH tests for when other parts are working. NFC 2020-05-25 12:46:18 +01:00
mve-vmull-loop.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vmull.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vmulqr.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vmvnimm.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vpsel.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vpt-2-blocks-1-pred.mir [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vpt-2-blocks-2-preds.mir [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vpt-2-blocks-ctrl-flow.mir [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vpt-2-blocks-non-consecutive-ins.mir [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vpt-2-blocks.mir [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vpt-3-blocks-kill-vpr.mir [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vpt-block-1-ins.mir [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vpt-block-2-ins.mir [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vpt-block-4-ins.mir [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vpt-block-elses.mir [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vpt-block-fold-vcmp.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
mve-vpt-block-optnone.mir [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vpt-blocks.ll [Target][ARM] Replace re-uses of old VPR values with VPNOTs 2020-05-12 12:09:57 +01:00
mve-vpt-from-intrinsics.ll [ARM] Reegenerate MVE tests. NFC 2020-01-15 08:10:38 +00:00
mve-vpt-nots.mir [Target][ARM] Improvements to the VPT Block Insertion Pass 2020-04-01 12:34:20 +01:00
mve-vpt-optimisations.mir [Target][ARM] Replace re-uses of old VPR values with VPNOTs 2020-05-12 12:09:57 +01:00
mve-vpt-preuse.mir [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vqmovn-combine.ll [ARM] Combines for VMOVN 2020-05-16 15:13:16 +01:00
mve-vqmovn.ll [ARM] MVE saturating truncates 2020-05-16 15:10:20 +01:00
mve-vqshrn.ll [ARM] Patterns for VQSHRN 2020-05-16 17:46:43 +01:00
mve-vst2-post.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vst2.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vst3.ll Revert "[CodeGen] Add support for multiple memory operands in MachineInstr::mayAlias" 2020-05-22 21:26:46 +02:00
mve-vst4-post.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vst4.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-vsubqr.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
mve-widen-narrow.ll [ARM] Change more triples to arm-none-none-eabi. NFC 2020-05-15 22:53:07 +01:00
peephole-addsub.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
peephole-cmp.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
pic-load.ll
postinc-distribute.mir [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
segmented-stacks.ll [ARM] Use the correct opcodes for Thumb2 segmented stack frame lowering 2020-01-06 16:38:49 +00:00
setjmp_longjmp.ll
shift_parts.ll [ARM] Optimise ASRL/LSRL to smaller shifts using demand bits. 2020-03-13 10:09:03 +00:00
stack_guard_remat.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
t2-teq-reduce.mir Revert "[ARM] Add CPSR as an implicit use of t2IT" 2020-02-27 15:43:44 +00:00
t2peephole-t2ADDrr-to-t2ADDri.ll [ARM][Thumb2] Fix ADD/SUB invalid writes to SP 2020-01-14 11:47:19 +00:00
t2sizereduction.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
tail-call-r9.ll
tbb-removeadd.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
thumb2-adc.ll
thumb2-add.ll
thumb2-add2.ll
thumb2-add3.ll
thumb2-add4.ll
thumb2-add5.ll
thumb2-add6.ll
thumb2-and.ll
thumb2-and2.ll
thumb2-asr.ll
thumb2-asr2.ll
thumb2-bcc.ll
thumb2-bfc.ll
thumb2-bic.ll
thumb2-branch.ll
thumb2-call-tc.ll
thumb2-call.ll
thumb2-cbnz.ll
thumb2-clz.ll
thumb2-cmn.ll [ARM] Materialise some boolean values to avoid a branch 2018-02-16 09:23:59 +00:00
thumb2-cmn2.ll [ARM] Materialise some boolean values to avoid a branch 2018-02-16 09:23:59 +00:00
thumb2-cmp.ll [ARM] Treat cmn immediates as legal in isLegalICmpImmediate. 2018-07-10 23:44:37 +00:00
thumb2-cpsr-liveness.ll
thumb2-eor.ll
thumb2-eor2.ll
thumb2-execute-only-prologue.ll [ARM] unwinding .pad instructions missing in execute-only prologue 2020-04-07 11:51:59 +01:00
thumb2-ifcvt1-tc.ll
thumb2-ifcvt1.ll Correctly modify the CFG in IfConverter, and then remove the 2020-05-07 18:17:07 -04:00
thumb2-ifcvt2.ll MachO: trap unreachable instructions 2018-04-13 22:25:20 +00:00
thumb2-ifcvt3.ll
thumb2-jtb.ll Generalize MergeBlockIntoPredecessor. Replace uses of MergeBasicBlockIntoOnlyPred. 2018-06-20 22:01:04 +00:00
thumb2-ldm.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
thumb2-ldr.ll
thumb2-ldr_ext.ll
thumb2-ldr_post.ll
thumb2-ldr_pre.ll [NFC][Thumb2] Autogenerate thumb2-ldr_pre.ll test 2019-05-21 21:49:05 +00:00
thumb2-ldrb.ll
thumb2-ldrd.ll
thumb2-ldrh.ll
thumb2-lsl.ll
thumb2-lsl2.ll
thumb2-lsr.ll
thumb2-lsr2.ll
thumb2-lsr3.ll
thumb2-mla.ll
thumb2-mls.ll
thumb2-mov.ll
thumb2-mul.ll
thumb2-mulhi.ll
thumb2-mvn.ll
thumb2-mvn2.ll
thumb2-neg.ll
thumb2-orn.ll
thumb2-orn2.ll
thumb2-orr.ll
thumb2-orr2.ll
thumb2-pack.ll
thumb2-rev.ll
thumb2-rev16.ll [DAGCombine] Combine pattern for REV16 2020-02-17 14:54:17 +00:00
thumb2-ror.ll [TargetLowering] Only demand a rotation's modulo amount bits 2020-03-17 21:23:46 +00:00
thumb2-rsb.ll
thumb2-rsb2.ll
thumb2-sbc.ll
thumb2-select.ll
thumb2-select_xform.ll [ARM] Return true in enableMultipleCopyHints(). 2018-02-16 09:51:01 +00:00
thumb2-shifter.ll
thumb2-smla.ll
thumb2-smul.ll
thumb2-spill-q.ll [Thumb] preserve test intent by removing undef 2018-05-16 22:47:42 +00:00
thumb2-str.ll
thumb2-str_post.ll
thumb2-str_pre.ll
thumb2-strb.ll
thumb2-strh.ll
thumb2-sub.ll
thumb2-sub2.ll
thumb2-sub3.ll
thumb2-sub4.ll
thumb2-sub5.ll
thumb2-sxt-uxt.ll
thumb2-sxt_rot.ll
thumb2-tbb.ll
thumb2-tbh.ll [ARM] Make InstrEmitter mark CPSR defs dead for Thumb1. 2018-10-26 19:32:24 +00:00
thumb2-teq.ll [ARM] Materialise some boolean values to avoid a branch 2018-02-16 09:23:59 +00:00
thumb2-teq2.ll [ARM] Size reduce teq to eors 2019-01-10 08:36:33 +00:00
thumb2-tst.ll [ARM] Materialise some boolean values to avoid a branch 2018-02-16 09:23:59 +00:00
thumb2-tst2.ll [ARM] Materialise some boolean values to avoid a branch 2018-02-16 09:23:59 +00:00
thumb2-uxt_rot.ll
thumb2-uxtb.ll Regenerate UXTB tests 2019-07-27 18:44:15 +00:00
tls1.ll
tls2.ll
tpsoft.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
umulo-64-legalisation-lowering.ll [SchedModel] Fix for read advance cycles with implicit pseudo operands. 2018-10-30 15:04:40 +00:00
umulo-128-legalisation-lowering.ll Revert "[CodeGen] Add support for multiple memory operands in MachineInstr::mayAlias" 2020-05-22 21:26:46 +02:00
unreachable-large-offset-gep.ll CGP: Clear data structures at the end of a loop iteration instead of the beginning. 2018-10-23 21:23:18 +00:00
v8_IT_1.ll
v8_IT_2.ll
v8_IT_3.ll [Codegen] Merge tail blocks with no successors after block placement 2019-06-13 18:11:32 +00:00
v8_IT_4.ll
v8_IT_5.ll
v8_IT_6.ll
v8_deprecate_IT.ll [ARM] Comply with rules on ARMv8-A thumb mode partial deprecation of IT. 2019-06-18 20:55:09 +00:00
vqabs.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
vqneg.ll [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00