1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/test/CodeGen/Mips
David Truby 130948388d [llvm][sve] Lowering for VLS truncating stores
This adds custom lowering for truncating stores when operating on
fixed length vectors in SVE. It also includes a DAG combine to
fold extends followed by truncating stores into non-truncating
stores in order to prevent this pattern appearing once truncating
stores are supported.

Currently truncating stores are not used in certain cases where
the size of the vector is larger than the target vector width.

Differential Revision: https://reviews.llvm.org/D104471
2021-07-23 14:04:55 +01:00
..
cconv [llvm][sve] Lowering for VLS truncating stores 2021-07-23 14:04:55 +01:00
compactbranches
cstmaterialization
Fast-ISel
GlobalISel GlobalISel: Track argument pointeriness with arg flags 2021-07-15 19:11:40 -04:00
indirect-jump-hazard
instverify
llvm-ir [llvm][sve] Lowering for VLS truncating stores 2021-07-23 14:04:55 +01:00
longbranch
micromips-sizereduction
mips32r6
mips64r6
mirparser
msa [MIPS][MSA] Regenerate basic operations test checks 2021-07-20 13:37:44 +01:00
tailcall
2008-06-05-Carry.ll
2008-07-03-SRet.ll
2008-07-06-fadd64.ll
2008-07-07-Float2Int.ll
2008-07-07-FPExtend.ll
2008-07-07-IntDoubleConvertions.ll
2008-07-15-InternalConstant.ll
2008-07-15-SmallSection.ll
2008-07-16-SignExtInReg.ll
2008-07-22-Cstpool.ll
2008-07-23-fpcmp.ll
2008-07-29-icmp.ll
2008-07-31-fcopysign.ll
2008-08-01-AsmInline.ll
2008-08-03-fabs64.ll
2008-08-03-ReturnDouble.ll
2008-08-04-Bitconvert.ll
2008-08-06-Alloca.ll
2008-08-07-CC.ll
2008-08-07-FPRound.ll
2008-08-08-ctlz.ll
2008-10-13-LegalizerBug.ll
2008-11-10-xint_to_fp.ll
2009-11-16-CstPoolLoad.ll
2010-07-20-Switch.ll
2010-11-09-CountLeading.ll
2010-11-09-Mul.ll
2011-05-26-BranchKillsVreg.ll
2012-12-12-ExpandMemcpy.ll
2013-11-18-fp64-const0.ll
abicalls.ll
abiflags32.ll
abiflags-xx.ll
addc.ll
addi.ll
address-selection.ll
addressing-mode.ll
adjust-callstack-sp.ll
align16.ll
alloca16.ll
alloca.ll
analyzebranch.ll
and1.ll
ase_warnings.ll
asm-large-immediate.ll
assertzext-trunc.ll
atomic64.ll
atomic-min-max-64.ll
atomic-min-max.ll
atomic.ll
atomicCmpSwapPW.ll
atomicops.ll
beqzc1.ll
beqzc.ll
biggot.ll
blez_bgez.ll
blockaddr.ll
br-jmp.ll
branch-relaxation-with-hazard.ll
brconeq.ll
brconeqk.ll
brconeqz.ll
brconge.ll
brcongt.ll
brconle.ll
brconlt.ll
brconne.ll
brconnek.ll
brconnez.ll
brdelayslot.ll
brind-tailcall.ll
brind.ll
brsize3.ll
brsize3a.ll
brundef.ll
bswap.ll
buildpairextractelementf64.ll
buildpairf64-extractelementf64-implicit-sp.ll
cache-intrinsic.ll
call-after-trap.ll
call-optimization.ll
call-site-info-output.ll
cfi_offset.ll
check-adde-redundant-moves.ll
check-noat.ll
ci2.ll
cins.ll
cmov.ll
cmplarge.ll
coalesce-partial-redundant-reguse-terminator.mir
const1.ll
const4a.ll
const6.ll
const6a.ll
const-mult.ll
constantfp0.ll
constraint-c-err.ll
constraint-c.ll
constraint-empty.ll
copy-fp64.ll
countleading.ll
cprestore.ll
cpus-no-mips64.ll
cpus.ll
ctlz-v.ll
ctlz.ll
cttz-v.ll
dagcombine_crash.ll
dagcombine-store-gep-chain-slow.ll
dbg-call-site-info-reg-d-split.ll
DbgValueOtherTargets.test
delay-slot-fill-forward.ll
delay-slot-filler-bundled-insts-def-use.mir
delay-slot-filler-bundled-insts.mir
delay-slot-kill.ll
dext.ll
dins.ll
disable-tail-merge.ll
div_rem.ll
div.ll
divrem.ll
divu_remu.ll
divu.ll
double2int.ll
dsp-patterns-cmp-vselect.ll
dsp-patterns.ll
dsp-r1.ll
dsp-r2.ll
dsp-spill-reload.ll
dsp-vec-load-store.ll
dynamic-stack-realignment.ll
eh-dwarf-cfa.ll
eh-return32.ll
eh-return64.ll
eh.ll
ehframe-indirect.ll
elf_eflags.ll
emergency-spill-slot-near-fp.ll
emit-big-cst.ll
emutls_generic.ll
ex2.ll
extins.ll
f16abs.ll
f32-to-i64-single-float.ll
fabs.ll
fastcc_byval.ll
fastcc.ll
fcmp.ll
fcopysign-f32-f64.ll
fcopysign.ll
fixdfsf.ll
fmadd1.ll
fneg.ll
fp16-promote.ll
fp16instrinsmc.ll
fp16mix.ll
fp16static.ll
fp64a.ll
fp-contract.ll
fp-indexed-ls.ll
fp-spill-reload.ll
fpbr.ll
fpneeded.ll
fpnotneeded.ll
fpxx.ll
frame-address-err.ll
frame-address.ll
frameindex.ll
frem.ll
funnel-shift-rot.ll
funnel-shift.ll
global-address.ll
global-pointer-reg.ll
gpopt-explict-section.ll
gpreg-lazy-binding.ll
gprestore.ll
helloworld.ll
hf1_body.ll
hf16_1.ll
hf16call32_body.ll
hf16call32.ll
hfptrcall.ll
i32k.ll
i64arg.ll
imm.ll
implicit-sret.ll
indirectcall.ll
init-array.ll
inlineasm-assembler-directives.ll
inlineasm-constraint-bad-I-1.ll
inlineasm-constraint-bad-J.ll
inlineasm-constraint-bad-K.ll
inlineasm-constraint-bad-l1.ll
inlineasm-constraint-bad-L.ll
inlineasm-constraint-bad-N.ll
inlineasm-constraint-bad-O.ll
inlineasm-constraint-bad-P.ll
inlineasm-constraint-i1.ll
inlineasm-constraint-m-1.ll
inlineasm-constraint-m-2.ll
inlineasm-constraint-o.ll
inlineasm-constraint-R.ll
inlineasm-constraint-reg64.ll
inlineasm-constraint-reg.ll
inlineasm-constraint-ZC-1.ll
inlineasm-constraint-ZC-2.ll
inlineasm-constraint.ll
inlineasm-opcode-bad-y.ll
inlineasm-operand-code.ll
inlineasm-output-template.ll
insn-zero-size-bb.ll
int-to-float-conversion.ll
internalfunc.ll
interrupt-attr-64-error.ll
interrupt-attr-args-error.ll
interrupt-attr-error.ll
interrupt-attr.ll
jtstat.ll
jump-table-mul.ll
jumptable_labels.ll
l3mc.ll
largeimm1.ll
largeimmprinting.ll
lazy-binding.ll
lb1.ll
lbu1.ll
lcb2.ll
lcb3c.ll
lcb4a.ll
lcb5.ll
lh1.ll
lhu1.ll
lit.local.cfg
llcarry.ll
llrint-conv.ll
llround-conv.ll
load-store-left-right.ll
long-call-attr.ll
long-call-mcount.ll
long-calls.ll
longbranch.ll
lrint-conv.ll
lround-conv.ll
lw16-base-reg.ll
machineverifier.ll
madd-msub.ll
mature-mc-support.ll
mbrsize4a.ll
mcount.ll
memcpy.ll
micromips64-unsupported.ll
micromips-addiu.ll
micromips-addu16.ll
micromips-and16.ll
micromips-andi.ll
micromips-ase-function-attribute.ll
micromips-atomic1.ll
micromips-atomic.ll
micromips-attr.ll
micromips-b-range.ll
micromips-compact-branches.ll
micromips-compact-jump.ll
micromips-delay-slot-jr.ll
micromips-delay-slot.ll
micromips-directives.ll
micromips-eva.mir
micromips-gcc-except-table.ll
micromips-gp-rc.ll
micromips-jal.ll
micromips-li.ll
micromips-load-effective-address.ll
micromips-lwc1-swc1.ll
micromips-mtc-mfc.ll
micromips-not16.ll
micromips-or16.ll
micromips-pseudo-mtlohi-expand.ll
micromips-rdhwr-directives.ll
micromips-shift.ll
micromips-short-delay-slot.mir
micromips-subu16.ll
micromips-sw-lw-16.ll
micromips-sw.ll
micromips-target-external-symbol-reloc.ll
micromips-xor16.ll
mips3-spill-slot.ll
mips16_32_1.ll
mips16_32_3.ll
mips16_32_4.ll
mips16_32_5.ll
mips16_32_6.ll
mips16_32_7.ll
mips16_32_8.ll
mips16_32_9.ll
mips16_32_10.ll
mips16_fpret.ll
mips16-hf-attr-2.ll
mips16-hf-attr.ll
mips16ex.ll
mips16fpe.ll
mips64-f128-call.ll
mips64-f128.ll
mips64-libcall.ll
mips64-sret.ll
mips64directive.ll
mips64ext.ll
mips64extins.ll
mips64fpimm0.ll
mips64fpldst.ll
mips64imm.ll
mips64instrs.ll
mips64intldst.ll
mips64lea.ll
mips64muldiv.ll
mips64shift.ll
mips64signextendsesf.ll
mips64sinttofpsf.ll
mips-shf-gprel.s
mipslopat.ll
misha.ll
mno-ldc1-sdc1.ll
mul.ll
mulll.ll
mulull.ll
nacl-align.ll
nacl-branch-delay.ll
nacl-reserved-regs.ll
named-register-n32.ll
named-register-n64.ll
named-register-o32.ll
neg1.ll
nmadd.ll
no-frame-pointer-elim.ll
no-odd-spreg-msa.ll
no-odd-spreg.ll
nomips16.ll
not1.ll
null-streamer.ll
null.ll
o32_cc_byval.ll
o32_cc_vararg.ll
o32_cc.ll
octeon_popcnt.ll
octeon.ll
optimize-fp-math.ll
optimize-pic-o0.ll
or1.ll
pbqp-reserved-physreg.ll
powif64_16.ll
pr33682.ll
pr33978.ll
pr34975.ll
pr35071.ll
pr36061.ll
pr42736.ll
prevent-hoisting.ll
private-addr.ll
private.ll
pseudo-jump-fill.ll
ra-allocatable.ll
rdhwr-directives.ll
reloc-jalr.ll
rem.ll
remat-immed-load.ll
remu.ll
return_address_err.ll
return_address.ll
return-vector.ll
rotate.ll
s2rem.ll
sb1.ll
sel1c.ll
sel2c.ll
select.ll
selectcc.ll
selectiondag-optlevel.ll
seleq.ll
seleqk.ll
selgek.ll
selgt.ll
selle.ll
selltk.ll
selne.ll
selnek.ll
selpat.ll
selTBteqzCmpi.ll
selTBtnezCmpi.ll
selTBtnezSlti.ll
setcc-se.ll
seteq.ll
seteqz.ll
setge.ll
setgek.ll
setle.ll
setlt.ll
setltk.ll
setne.ll
setuge.ll
setugt.ll
setule.ll
setult.ll
setultk.ll
sh1.ll
shift-parts.ll
shrink-wrap-buildpairf64-extractelementf64.mir
shrink-wrapping.ll
simplebr.ll
sint-fp-store_pattern.ll
sitofp-selectcc-opt.ll
sll1.ll
sll2.ll
sll-micromips-r6-encoding.mir
slt.ll
small-section-reserve-gp.ll
spill-copy-acreg.ll
sr1.ll
sra1.ll
sra2.ll
srem-seteq-illegal-types.ll
srl1.ll
srl2.ll
stack-alignment.ll
stackcoloring.ll
stacksize.ll
start-asm-file.ll
stchar.ll
stldst.ll
sub1.ll
sub2.ll
swzero.ll
tail16.ll
tglobaladdr-wrapper.ll
thread-pointer.ll
tls16_2.ll
tls16.ll
tls-alias.ll
tls-models.ll
tls-static.ll
tls.ll
tnaked.ll
trap1.ll
trap.ll
uitofp.ll
ul1.ll
unaligned-memops-mapping.mir
unaligned-memops.ll
unalignedload.ll
unsized-global.ll
urem-seteq-illegal-types.ll
v2i16tof32.ll
vector-load-store.ll
vector-setcc.ll
weak.ll
whitespace.ll
xor1.ll
xray-mips-attribute-instrumentation.ll
xray-section-group.ll
zeroreg.ll