1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
llvm-mirror/test/CodeGen/Mips
Simon Dardis c2db7efb6c [mips] Pick the right variant of DINS upfront and enable target instruction verification
This patch complements D16810 "[mips] Make isel select the correct DEXT variant
up front.". Now ISel picks the right variant of DINS, so now there is no need
to replace DINS with the appropriate variant during
MipsMCCodeEmitter::encodeInstruction().

This patch also enables target specific instruction verification for ins, dins,
dinsm, dinsu, ext, dext, dextm, dextu. These instructions have constraints that
are checked when generating MipsISD::Ins and MipsISD::Ext nodes, but these
constraints are not checked during instruction selection. Adding machine
verification should catch outstanding cases.

Finally, correct a bug that instruction verification uncovered, where the
position operand of a DINSU generated during lowering was being silently
and accidently corrected to the correct value.

Reviewers: slthakur

Differential Revision: https://reviews.llvm.org/D34809

llvm-svn: 313254
2017-09-14 10:58:00 +00:00
..
cconv [SelectionDAG][mips] Fix PR33883 2017-07-31 14:06:58 +00:00
compactbranches MIR: remove explicit "noVRegs" property. 2017-05-30 21:28:57 +00:00
cstmaterialization [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
Fast-ISel [CodeGen] Pass SDAG an ORE, and replace FastISel stats with remarks. 2017-03-30 17:49:58 +00:00
instverify [mips] Pick the right variant of DINS upfront and enable target instruction verification 2017-09-14 10:58:00 +00:00
llvm-ir Revert "Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding"" 2017-09-04 15:47:00 +00:00
micromips-sizereduction [mips][microMIPS] Extending size reduction pass with XOR16 2017-08-10 10:27:29 +00:00
mips32r6
mips64r6
msa [mips] Alter register classes for MSA pseudo f16 instructions 2017-07-18 12:05:35 +00:00
tailcall evert "[mips] Fix test mips64fpldst.ll with machine verifier enabled" 2017-06-07 11:21:37 +00:00
2008-06-05-Carry.ll Reland "[mips] Fix multiprecision arithmetic." 2017-07-13 11:28:05 +00:00
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 [mips] Lift the assertion on the types that can be used with MipsGPRel 2017-08-11 14:36:05 +00:00
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-bswap.ll
2008-08-08-ctlz.ll
2008-10-13-LegalizerBug.ll
2008-11-10-xint_to_fp.ll
2009-11-16-CstPoolLoad.ll [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
2010-07-20-Switch.ll [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
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 [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
abiflags32.ll
abiflags-xx.ll
addc.ll
addi.ll
addressing-mode.ll
adjust-callstack-sp.ll
align16.ll
alloca16.ll
alloca.ll
analyzebranch.ll [mips] Correct label prefixes for N32 and N64. 2016-07-19 10:49:03 +00:00
and1.ll
asm-large-immediate.ll
assertzext-trunc.ll
atomic.ll [mips] Correct label prefixes for N32 and N64. 2016-07-19 10:49:03 +00:00
atomicCmpSwapPW.ll [mips] Revert fixes for PR32020. 2017-03-09 14:03:26 +00:00
atomicops.ll
beqzc1.ll
beqzc.ll
biggot.ll [mips] do not use FastISel when -mxgot is present 2017-06-07 12:59:53 +00:00
blez_bgez.ll [mips] Correct label prefixes for N32 and N64. 2016-07-19 10:49:03 +00:00
blockaddr.ll [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
br-jmp.ll
brconeq.ll Revert "CodeGen: Allow small copyable blocks to "break" the CFG." 2017-01-11 19:55:19 +00:00
brconeqk.ll Revert "CodeGen: Allow small copyable blocks to "break" the CFG." 2017-01-11 19:55:19 +00:00
brconeqz.ll
brconge.ll Increase tail dup threshold for -O3 from 3 to 4. 2017-08-17 23:38:41 +00:00
brcongt.ll Revert "CodeGen: Allow small copyable blocks to "break" the CFG." 2017-01-11 19:55:19 +00:00
brconle.ll Increase tail dup threshold for -O3 from 3 to 4. 2017-08-17 23:38:41 +00:00
brconlt.ll Revert "CodeGen: Allow small copyable blocks to "break" the CFG." 2017-01-11 19:55:19 +00:00
brconne.ll
brconnek.ll
brconnez.ll CodeGen: Allow small copyable blocks to "break" the CFG. 2017-01-31 23:48:32 +00:00
brdelayslot.ll [mips] Enable tail calls by default 2016-08-04 09:17:07 +00:00
brind.ll
brsize3.ll
brsize3a.ll
brundef.ll [MIPS] BuildCondBr should preserve MO flags 2017-06-13 14:11:29 +00:00
bswap.ll
buildpairextractelementf64.ll
cache-intrinsic.ll
call-optimization.ll [mips] Do not allow -opt-bisect-limit to skip the PIC call optimization pass. 2016-10-27 15:50:36 +00:00
cannot-copy-registers.ll
cfi_offset.ll
check-adde-redundant-moves.ll
check-noat.ll
ci2.ll
cins.ll [Mips] Add support to match more patterns for DEXT and CINS 2017-03-15 13:10:08 +00:00
cmov.ll [mips] Optimize materialization of i64 constants 2016-07-25 09:57:28 +00:00
cmplarge.ll
const1.ll
const4a.ll
const6.ll
const6a.ll
const-mult.ll
constantfp0.ll
countleading.ll
cprestore.ll
ctlz-v.ll Reland "[SelectionDAG] Enable target specific vector scalarization of calls and returns" 2017-06-09 14:37:08 +00:00
ctlz.ll
cttz-v.ll Reland "[SelectionDAG] Enable target specific vector scalarization of calls and returns" 2017-06-09 14:37:08 +00:00
dagcombine_crash.ll
DbgValueOtherTargets.test
delay-slot-fill-forward.ll
delay-slot-kill.ll
dext.ll [Mips] Add support to match more patterns for DEXT and CINS 2017-03-15 13:10:08 +00:00
dins.ll [mips] Pick the right variant of DINS upfront and enable target instruction verification 2017-09-14 10:58:00 +00:00
disable-tail-merge.ll
div_rem.ll
div.ll
divrem.ll [mips] interAptiv based generic schedule model 2016-09-01 14:53:53 +00:00
divu_remu.ll
divu.ll
double2int.ll
dsp-patterns-cmp-vselect.ll
dsp-patterns.ll Reland "[mips] Fix multiprecision arithmetic." 2017-07-13 11:28:05 +00:00
dsp-r1.ll [mips][dsp] Modify repl.ph to accept signed immediate values 2017-06-07 14:48:46 +00:00
dsp-r2.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 [mips] Remove N32 Android test because Android does not support N32 ABI. NFC 2016-12-08 22:10:38 +00:00
elf_eflags.ll [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
emergency-spill-slot-near-fp.ll RegScavenging: Add scavengeRegisterBackwards() 2017-06-17 02:08:18 +00:00
emit-big-cst.ll
emutls_generic.ll
ex2.ll
extins.ll
f16abs.ll
fabs.ll
fastcc.ll In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled. 2017-03-14 00:34:14 +00:00
fcmp.ll [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
fcopysign-f32-f64.ll [mips] Pick the right variant of DINS upfront and enable target instruction verification 2017-09-14 10:58:00 +00:00
fcopysign.ll [mips] Pick the right variant of DINS upfront and enable target instruction verification 2017-09-14 10:58:00 +00:00
fixdfsf.ll
fmadd1.ll [mips] Add madd4 subtarget feature 2017-06-06 15:33:01 +00:00
fneg.ll
fp16-promote.ll [mips] Change gnueabi to gnu in the triple because EABI has been removed recently. NFC 2016-12-08 22:10:44 +00:00
fp16instrinsmc.ll
fp16mix.ll
fp16static.ll
fp64a.ll
fp-indexed-ls.ll
fp-spill-reload.ll
fpbr.ll [mips] Correct label prefixes for N32 and N64. 2016-07-19 10:49:03 +00:00
fpneeded.ll
fpnotneeded.ll
fpxx.ll
frame-address.ll
frem.ll
global-address.ll [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
global-pointer-reg.ll
gpopt-explict-section.ll [mips] Handle variables with an explicit section and interactions with .sdata, .sbss 2017-08-16 12:18:04 +00:00
gpreg-lazy-binding.ll [mips] Disable tail calls temporarily 2016-09-27 13:15:54 +00:00
gprestore.ll
helloworld.ll
hf1_body.ll
hf16_1.ll
hf16call32_body.ll
hf16call32.ll
hfptrcall.ll
i32k.ll
i64arg.ll [mips] Restrict tail call optimization 2016-11-20 21:23:08 +00:00
imm.ll
indirectcall.ll [mips] Disable tail calls temporarily 2016-09-27 13:15:54 +00:00
init-array.ll
inlineasm64.ll
inlineasm_constraint_m.ll
inlineasm_constraint_R.ll
inlineasm_constraint_ZC.ll
inlineasm_constraint.ll
inlineasm-assembler-directives.ll
inlineasm-cnstrnt-bad-I-1.ll
inlineasm-cnstrnt-bad-J.ll
inlineasm-cnstrnt-bad-K.ll
inlineasm-cnstrnt-bad-L.ll
inlineasm-cnstrnt-bad-N.ll
inlineasm-cnstrnt-bad-O.ll
inlineasm-cnstrnt-bad-P.ll
inlineasm-cnstrnt-reg64.ll
inlineasm-cnstrnt-reg.ll
inlineasm-constraint_ZC_2.ll [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
inlineasm-operand-code.ll
inlineasmmemop.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
jumptable_labels.ll [mips] Correct label prefixes for N32 and N64. 2016-07-19 10:49:03 +00:00
l3mc.ll
largeimm1.ll
largeimmprinting.ll
lazy-binding.ll [mips] Restrict tail call optimization 2016-11-20 21:23:08 +00:00
lb1.ll
lbu1.ll
lcb2.ll
lcb3c.ll
lcb4a.ll
lcb5.ll
lh1.ll
lhu1.ll
lit.local.cfg
llcarry.ll Reland "[mips] Fix multiprecision arithmetic." 2017-07-13 11:28:05 +00:00
load-store-left-right.ll [Mips] Add support to match more patterns for DEXT and CINS 2017-03-15 13:10:08 +00:00
long-call-attr.ll [mips] Support long_call/far/near attributes passed by front-end 2017-07-20 12:19:26 +00:00
long-calls.ll [mips] Handle the long-calls feature flags in the MIPS backend 2017-07-15 07:14:25 +00:00
longbranch.ll Revert r305382, it caused PR33513. 2017-06-19 19:48:59 +00:00
lw16-base-reg.ll
machineverifier.ll
madd-msub.ll Reland "[mips] Fix multiprecision arithmetic." 2017-07-13 11:28:05 +00:00
mature-mc-support.ll [LLC] Add an inline assembly diagnostics handler. 2017-02-03 11:14:39 +00:00
mbrsize4a.ll
memcpy.ll
micromips-addiu.ll
micromips-addu16.ll
micromips-and16.ll
micromips-andi.ll
micromips-atomic1.ll
micromips-atomic.ll
micromips-attr.ll [mips] Support micromips attribute passed by front-end 2017-05-22 12:47:41 +00:00
micromips-compact-branches.ll CodeGen: Allow small copyable blocks to "break" the CFG. 2017-01-31 23:48:32 +00:00
micromips-compact-jump.ll
micromips-delay-slot-jr.ll
micromips-delay-slot.ll
micromips-directives.ll
micromips-gp-rc.ll evert "[mips] Fix test mips64fpldst.ll with machine verifier enabled" 2017-06-07 11:21:37 +00:00
micromips-jal.ll
micromips-li.ll In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled. 2017-03-14 00:34:14 +00:00
micromips-load-effective-address.ll
micromips-lwc1-swc1.ll [mips][microMIPS] Implement LDC1, SDC1, LDC2, SDC2, LWC1, SWC1, LWC2 and SWC2 instructions and add CodeGen support 2016-07-11 07:41:56 +00:00
micromips-not16.ll
micromips-or16.ll
micromips-rdhwr-directives.ll
micromips-shift.ll
micromips-subu16.ll
micromips-sw-lw-16.ll
micromips-xor16.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 In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled. 2017-03-14 00:34:14 +00:00
mips64-f128.ll [mips] Pick the right variant of DINS upfront and enable target instruction verification 2017-09-14 10:58:00 +00:00
mips64-libcall.ll [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
mips64-sret.ll
mips64directive.ll
mips64ext.ll
mips64extins.ll [mips] Pick the right variant of DINS upfront and enable target instruction verification 2017-09-14 10:58:00 +00:00
mips64fpimm0.ll
mips64fpldst.ll evert "[mips] Fix test mips64fpldst.ll with machine verifier enabled" 2017-06-07 11:21:37 +00:00
mips64imm.ll [mips] Optimize materialization of i64 constants 2016-07-25 09:57:28 +00:00
mips64instrs.ll [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
mips64intldst.ll
mips64lea.ll
mips64muldiv.ll
mips64shift.ll
mips64signextendsesf.ll
mips64sinttofpsf.ll
mips-shf-gprel.s
mipslopat.ll
misha.ll
mno-ldc1-sdc1.ll In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled. 2017-03-14 00:34:14 +00:00
mul.ll Reverted: Track validity of pass results 2017-01-15 10:23:18 +00:00
mulll.ll
mulull.ll
nacl-align.ll
nacl-branch-delay.ll [mips] Enable tail calls by default 2016-08-04 09:17:07 +00:00
nacl-reserved-regs.ll
named-register-n32.ll
named-register-n64.ll
named-register-o32.ll
neg1.ll
nmadd.ll [mips] Generate NMADD and NMSUB instructions when fneg node is present 2017-08-27 21:07:24 +00:00
no-odd-spreg-msa.ll
no-odd-spreg.ll [mips] interAptiv based generic schedule model 2016-09-01 14:53:53 +00:00
nomips16.ll
not1.ll
null-streamer.ll
null.ll
o32_cc_byval.ll In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled. 2017-03-14 00:34:14 +00:00
o32_cc_vararg.ll In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled. 2017-03-14 00:34:14 +00:00
o32_cc.ll
octeon_popcnt.ll
octeon.ll [MIPS] Add support to match more patterns for BBIT instruction 2017-08-30 11:25:38 +00:00
optimize-fp-math.ll
optimize-pic-o0.ll
or1.ll
pbqp-reserved-physreg.ll RegAllocPBQP: Do not assign reserved physical register 2017-06-08 21:30:54 +00:00
powif64_16.ll
pr33682.ll Fix endianness bug in DAGCombiner::visitTRUNCATE and visitEXTRACT_VECTOR_ELT 2017-07-25 09:40:35 +00:00
pr33978.ll [SelectionDAG] Resolve PR33978. 2017-08-03 09:38:46 +00:00
prevent-hoisting.ll [mips] interAptiv based generic schedule model 2016-09-01 14:53:53 +00:00
private-addr.ll
private.ll
ra-allocatable.ll
rdhwr-directives.ll
rem.ll
remat-immed-load.ll
remu.ll
return_address.ll [mips] Fix return lowering 2017-03-09 11:19:48 +00:00
return-vector.ll Reland "[SelectionDAG] Enable target specific vector scalarization of calls and returns" 2017-06-09 14:37:08 +00:00
rotate.ll
s2rem.ll
sb1.ll
sel1c.ll
sel2c.ll
select.ll Reland r308585 2017-07-20 13:08:18 +00:00
selectcc.ll Revert "[mips] Fix c.<cc>.<fmt> instruction definition." 2016-09-09 11:06:01 +00:00
selectiondag-optlevel.ll [mips] SelectionDAGISel subclasses now follow the optimization level. 2016-07-14 13:25:22 +00:00
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 [mips][microMIPS] Implement SLT, SLTI, SLTIU, SLTU microMIPS32r6 instructions 2016-07-22 07:18:33 +00:00
seteq.ll [mips][microMIPS] Implement SLT, SLTI, SLTIU, SLTU microMIPS32r6 instructions 2016-07-22 07:18:33 +00:00
seteqz.ll [mips][microMIPS] Implement SLT, SLTI, SLTIU, SLTU microMIPS32r6 instructions 2016-07-22 07:18:33 +00:00
setge.ll [mips][microMIPS] Implement SLT, SLTI, SLTIU, SLTU microMIPS32r6 instructions 2016-07-22 07:18:33 +00:00
setgek.ll [mips][microMIPS] Implement SLT, SLTI, SLTIU, SLTU microMIPS32r6 instructions 2016-07-22 07:18:33 +00:00
setle.ll [mips][microMIPS] Implement SLT, SLTI, SLTIU, SLTU microMIPS32r6 instructions 2016-07-22 07:18:33 +00:00
setlt.ll [mips][microMIPS] Implement SLT, SLTI, SLTIU, SLTU microMIPS32r6 instructions 2016-07-22 07:18:33 +00:00
setltk.ll [mips][microMIPS] Implement SLT, SLTI, SLTIU, SLTU microMIPS32r6 instructions 2016-07-22 07:18:33 +00:00
setne.ll [mips][microMIPS] Implement SLT, SLTI, SLTIU, SLTU microMIPS32r6 instructions 2016-07-22 07:18:33 +00:00
setuge.ll [mips][microMIPS] Implement SLT, SLTI, SLTIU, SLTU microMIPS32r6 instructions 2016-07-22 07:18:33 +00:00
setugt.ll [mips][microMIPS] Implement SLT, SLTI, SLTIU, SLTU microMIPS32r6 instructions 2016-07-22 07:18:33 +00:00
setule.ll [mips][microMIPS] Implement SLT, SLTI, SLTIU, SLTU microMIPS32r6 instructions 2016-07-22 07:18:33 +00:00
setult.ll [mips][microMIPS] Implement SLT, SLTI, SLTIU, SLTU microMIPS32r6 instructions 2016-07-22 07:18:33 +00:00
setultk.ll [mips][microMIPS] Implement SLT, SLTI, SLTIU, SLTU microMIPS32r6 instructions 2016-07-22 07:18:33 +00:00
sh1.ll
shift-parts.ll
simplebr.ll
sint-fp-store_pattern.ll
sitofp-selectcc-opt.ll
sll1.ll
sll2.ll
slt.ll [mips][microMIPS] Implement SLT, SLTI, SLTIU, SLTU microMIPS32r6 instructions 2016-07-22 07:18:33 +00:00
small-section-reserve-gp.ll
spill-copy-acreg.ll
sr1.ll
sra1.ll
sra2.ll
srl1.ll
srl2.ll
stack-alignment.ll [MIPS] Implement support for -mstack-alignment. 2017-08-14 21:49:38 +00:00
stackcoloring.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
stacksize.ll
start-asm-file.ll [mips] Recommit: "N64 static relocation model support" 2017-01-27 11:36:52 +00:00
stchar.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
stldst.ll
sub1.ll
sub2.ll
swzero.ll
tail16.ll
thread-pointer.ll
tls16_2.ll Set some tests to an unknown vendor and OS 2016-10-03 21:58:20 +00:00
tls16.ll Set some tests to an unknown vendor and OS 2016-10-03 21:58:20 +00:00
tls-alias.ll
tls-models.ll Set some tests to an unknown vendor and OS 2016-10-03 21:58:20 +00:00
tls.ll Set some tests to an unknown vendor and OS 2016-10-03 21:58:20 +00:00
tnaked.ll [mips] Fix return lowering 2017-03-09 11:19:48 +00:00
trap1.ll
trap.ll
uitofp.ll
ul1.ll
unalignedload.ll
vector-load-store.ll
vector-setcc.ll
weak.ll
xor1.ll
xray-mips-attribute-instrumentation.ll [LLVM][XRAY][MIPS] Support xray on mips/mipsel/mips64/mips64el 2017-02-15 10:48:11 +00:00
xray-section-group.ll [XRay][CodeGen] Use the current function symbol as the associated symbol for the instrumentation map 2017-09-14 07:08:23 +00:00
zeroreg.ll