llvm-6502/test
Daniel Sanders 68138dc9a8 [mips][msa] Fix invalid generated code when lowering FrameIndex involving unaligned offsets.
Summary:
The MSA ld.[bhwd] and st.[bhwd] instructions scale the immediate by the
element size before use as an offset. The offset must therefore be a
multiple of the element size to be valid in these instructions. However,
an unaligned base address is valid in MSA.

This commit causes the compiler to emit valid code when the calculated
offset is not a multiple of the element size by accounting for the offset
using addiu and using a zero offset in the load/store.

Depends on D2338

Reviewers: matheusalmeida

Reviewed By: matheusalmeida

Differential Revision: http://llvm-reviews.chandlerc.com/D2339

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196777 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-09 12:47:12 +00:00
..
Analysis
Assembler Debug Info: update testing cases to specify the debug info version number. 2013-11-23 01:16:29 +00:00
Bindings Update Ocaml/vmcore.ml to emit a "Debug Info Version" module flag. 2013-12-02 21:25:56 +00:00
Bitcode Fixed CRLF 2013-12-08 12:16:20 +00:00
BugPoint Debug Info: update testing cases to specify the debug info version number. 2013-11-23 01:16:29 +00:00
CodeGen [mips][msa] Fix invalid generated code when lowering FrameIndex involving unaligned offsets. 2013-12-09 12:47:12 +00:00
DebugInfo DebugInfo: Ensure unit IDs (for non-skeletal units) match thein index in the list 2013-12-06 19:38:46 +00:00
ExecutionEngine Remove empty MCJIT/load-object-a.ll since r196641. 2013-12-07 06:17:10 +00:00
Feature Debug Info: update testing cases to specify the debug info version number. 2013-11-23 01:16:29 +00:00
FileCheck
Instrumentation [asan] rewrite asan's stack frame layout 2013-12-06 09:00:17 +00:00
Integer
JitListener Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
Linker Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
LTO
MC Method parseSetAssignment treats every operand with '$' sign as register and the parsing is directed to set alias for register. This will result in errors reported when expressions containing label references are parsed(for example long jumps) 2013-12-09 11:03:25 +00:00
Object Correct word hyphenations 2013-12-05 05:44:44 +00:00
Other
TableGen
tools llvm-cov: Added test.h header to tests. 2013-12-07 01:28:11 +00:00
Transforms Revert 196544 due to internal bot failures. 2013-12-08 20:28:33 +00:00
Unit
Verifier Fix the segfault reported in PR 11990. 2013-12-07 00:13:34 +00:00
YAMLParser
.clang-format
CMakeLists.txt check-llvm: Ask llvm-config about assertion mode, instead of llc. 2013-12-03 23:22:25 +00:00
lit.cfg check-llvm: Ask llvm-config about assertion mode, instead of llc. 2013-12-03 23:22:25 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh