1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/CodeGen/Mips
Craig Topper ee6566c72b [LegalizeDAG][Mips] Add an assert to protect a uint_to_fp implementation from double rounding. Add a i32->f32 uint_to_fp implementation that avoids this code.
The algorithm here only works if the sint_to_fp doesn't do any
rounding. Otherwise it can round before the offset fixup is
applied. Add an assert to protect this.

To avoid breaking the one test in tree that tested this code
with a set of types that fail the assert, I've enabled i32->f32
to use the i64->f32 algorithm. This only occurs when f64 isn't
a legal type. If f64 is legal then we do i32->f64->f32 instead.

Differential Revision: https://reviews.llvm.org/D72794
2020-01-16 11:08:16 -08:00
..
cconv
compactbranches
cstmaterialization
Fast-ISel Revert "[Support] make report_fatal_error abort instead of exit" 2020-01-15 17:52:25 -08:00
GlobalISel GlobalISel: Preserve load/store metadata in IRTranslator 2020-01-16 13:49:43 -05:00
indirect-jump-hazard Revert "[Support] make report_fatal_error abort instead of exit" 2020-01-15 17:52:25 -08:00
instverify Revert "[Support] make report_fatal_error abort instead of exit" 2020-01-15 17:52:25 -08:00
llvm-ir [SelectionDAG] ComputeKnownBits - minimum leading/trailing zero bits in LSHR/SHL (PR44526) 2020-01-13 11:08:12 +00:00
longbranch
micromips-sizereduction
mips32r6 Revert "[Support] make report_fatal_error abort instead of exit" 2020-01-15 17:52:25 -08:00
mips64r6 Revert "[Support] make report_fatal_error abort instead of exit" 2020-01-15 17:52:25 -08:00
mirparser
msa Revert "[Support] make report_fatal_error abort instead of exit" 2020-01-15 17:52:25 -08: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 [Mips] Add support for min/max/umin/umax atomics 2019-12-12 11:32:37 +01:00
atomic-min-max.ll [Mips] Add support for min/max/umin/umax atomics 2019-12-12 11:32:37 +01:00
atomic.ll [Mips] Add support for min/max/umin/umax atomics 2019-12-12 11:32:37 +01:00
atomicCmpSwapPW.ll
atomicops.ll
beqzc1.ll Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
beqzc.ll Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
biggot.ll
blez_bgez.ll
blockaddr.ll
br-jmp.ll
branch-relaxation-with-hazard.ll Mips: Make test resistant to future changes 2019-12-21 04:56:20 -05:00
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 Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
brsize3a.ll Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
brundef.ll
bswap.ll
buildpairextractelementf64.ll
buildpairf64-extractelementf64-implicit-sp.ll
cache-intrinsic.ll
call-optimization.ll
cfi_offset.ll
check-adde-redundant-moves.ll
check-noat.ll
ci2.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
cins.ll
cmov.ll
cmplarge.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
coalesce-partial-redundant-reguse-terminator.mir
const1.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
const4a.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
const6.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
const6a.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
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 Revert "[Support] make report_fatal_error abort instead of exit" 2020-01-15 17:52:25 -08:00
cpus.ll Revert "[Support] make report_fatal_error abort instead of exit" 2020-01-15 17:52:25 -08:00
ctlz-v.ll
ctlz.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
cttz-v.ll
dagcombine_crash.ll
dagcombine-store-gep-chain-slow.ll
DbgValueOtherTargets.test
delay-slot-fill-forward.ll Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
delay-slot-filler-bundled-insts-def-use.mir MipsDelaySlotFiller: Update registers def-uses for BUNDLE instructions 2020-01-09 20:46:02 +00:00
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 Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
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 Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
fp16mix.ll
fp16static.ll
fp64a.ll Revert "[Support] make report_fatal_error abort instead of exit" 2020-01-15 17:52:25 -08:00
fp-contract.ll
fp-indexed-ls.ll
fp-spill-reload.ll
fpbr.ll
fpneeded.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
fpnotneeded.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
fpxx.ll Revert "[Support] make report_fatal_error abort instead of exit" 2020-01-15 17:52:25 -08:00
frame-address-err.ll
frame-address.ll
frameindex.ll
frem.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 Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
hf16call32.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
hfptrcall.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
i32k.ll
i64arg.ll
imm.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 Revert "[Support] make report_fatal_error abort instead of exit" 2020-01-15 17:52:25 -08:00
interrupt-attr-args-error.ll Revert "[Support] make report_fatal_error abort instead of exit" 2020-01-15 17:52:25 -08:00
interrupt-attr-error.ll Revert "[Support] make report_fatal_error abort instead of exit" 2020-01-15 17:52:25 -08:00
interrupt-attr.ll
jtstat.ll
jump-table-mul.ll
jumptable_labels.ll
l3mc.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
largeimm1.ll
largeimmprinting.ll
lazy-binding.ll
lb1.ll
lbu1.ll
lcb2.ll Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
lcb3c.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
lcb4a.ll Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
lcb5.ll Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
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 Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
mcount.ll
memcpy.ll
micromips64-unsupported.ll Revert "[Support] make report_fatal_error abort instead of exit" 2020-01-15 17:52:25 -08:00
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 Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
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 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
mips16_32_3.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
mips16_32_4.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
mips16_32_5.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
mips16_32_6.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
mips16_32_7.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
mips16_32_8.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
mips16_32_9.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
mips16_32_10.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
mips16_fpret.ll
mips16-hf-attr-2.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
mips16-hf-attr.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
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 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
no-odd-spreg-msa.ll
no-odd-spreg.ll
nomips16.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
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 Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
powif64_16.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
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 [MIPS] Don't emit R_(MICRO)MIPS_JALR relocations against data symbols 2020-01-13 14:14:03 +00:00
rem.ll
remat-immed-load.ll
remu.ll
return_address_err.ll
return_address.ll
return-vector.ll
rotate.ll
s2rem.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
sb1.ll
sel1c.ll Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
sel2c.ll Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
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 Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
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 Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
sra1.ll
sra2.ll
srl1.ll
srl2.ll
stack-alignment.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
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.ll
tnaked.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
trap1.ll
trap.ll
uitofp.ll [LegalizeDAG][Mips] Add an assert to protect a uint_to_fp implementation from double rounding. Add a i32->f32 uint_to_fp implementation that avoids this code. 2020-01-16 11:08:16 -08:00
ul1.ll
unaligned-memops-mapping.mir
unaligned-memops.ll
unalignedload.ll
unsized-global.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