llvm-6502/test
Daniel Sanders dfce63b1ba [mips] Correct and improve special-case shuffle instructions.
Summary:
The documentation writes vectors highest-index first whereas LLVM-IR writes
them lowest-index first. As a result, instructions defined in terms of
left_half() and right_half() had the halves reversed.

In addition to correcting them, they have been improved to allow shuffles
that use the same operand twice or in reverse order. For example, ilvev
used to accept masks of the form:
  <0, n, 2, n+2, 4, n+4, ...>
but now accepts:
  <0, 0, 2, 2, 4, 4, ...>
  <n, n, n+2, n+2, n+4, n+4, ...>
  <0, n, 2, n+2, 4, n+4, ...>
  <n, 0, n+2, 2, n+4, 4, ...>

One further improvement is that splati.[bhwd] is now the preferred instruction
for splat-like operations. The other special shuffles are no longer used
for splats. This lead to the discovery that <0, 0, ...> would not cause
splati.[hwd] to be selected and this has also been fixed.

This fixes the enc-3des test from the test-suite on Mips64r6 with MSA.

Reviewers: vkalintiris

Reviewed By: vkalintiris

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D9660

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237689 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-19 12:24:52 +00:00
..
Analysis [LoopAccesses] If shouldRetryWithRuntimeCheck, reset InterestingDependences 2015-05-18 15:37:03 +00:00
Assembler
Bindings
Bitcode [BitcodeReader] Error out if we read an invalid function argument type 2015-05-19 01:21:06 +00:00
BugPoint
CodeGen [mips] Correct and improve special-case shuffle instructions. 2015-05-19 12:24:52 +00:00
DebugInfo [DebugInfo] Debug locations for constant SD nodes 2015-05-13 08:58:03 +00:00
ExecutionEngine
Feature
FileCheck
Instrumentation Fix the check strings in a test case committed in r212455. 2015-05-15 00:12:26 +00:00
Integer
JitListener
Linker
LTO
MC [mips][microMIPSr6] Implement DIV, DIVU, MOD and MODU instructions 2015-05-19 11:21:37 +00:00
Object [llvm-readobj] Teach llvm-readobj to print PT_MIPS_ABIFLAGS program header 2015-05-15 15:59:22 +00:00
Other
SymbolRewriter
TableGen Reverting r237234, "Use std::bitset for SubtargetFeatures" 2015-05-13 10:28:46 +00:00
tools [llvm-readobj] Teach llvm-readobj to print PT_MIPS_ABIFLAGS program header 2015-05-15 15:59:22 +00:00
Transforms [PlaceSafepoints] Assertion on that gc_result can not have preceding phis should only apply to invoke statepoint 2015-05-18 19:02:25 +00:00
Unit
Verifier [Verifier] Assert gc_relocate always return a pointer type 2015-05-18 19:50:14 +00:00
YAMLParser YAML: Implement block scalar parsing. 2015-05-13 23:10:51 +00:00
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh