llvm-project/llvm
Daniel Sanders 0f596814e9 [mips][msa] Remove copy_u.d and move copy_u.w to MSA64.
Summary:
The forwards compatibility strategy employed by MIPS is to consider registers
to be infinitely sign-extended. Then on ISA's with a wider register, the result
of existing instructions are sign-extended to register width and zero-extended
counterparts are added. copy_u.w on MSA32 and copy_u.w on MSA64 violate this
strategy and we have therefore corrected the MSA specs to fix this.

We still keep track of sign/zero-extension during legalization but we now
match copy_s.[wd] where required.

No change required to clang since __builtin_msa_copy_u_[wd] will map to
copy_s.[wd] where appropriate for the target.

Reviewers: vkalintiris

Subscribers: llvm-commits

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

llvm-svn: 250887
2015-10-21 09:58:54 +00:00
..
autoconf Don't use bashism/kshism of test ==. From Kamil Rytarowski. 2015-09-12 16:30:32 +00:00
bindings Remove DIFile from createSubroutineType. 2015-10-15 06:56:10 +00:00
cmake [CMake] Refactor subdirectory inclusion code to take a project name. 2015-10-20 16:42:58 +00:00
docs [CMake] Adding LLVM_CREATE_XCODE_TOOLCHAIN to the CMake documentation page. 2015-10-15 20:12:08 +00:00
examples [JIT/Examples] Fix Fibonacci so that it runs again. 2015-10-17 06:36:46 +00:00
include Revert "Add missing #include, found by modules build." 2015-10-21 06:10:55 +00:00
lib [mips][msa] Remove copy_u.d and move copy_u.w to MSA64. 2015-10-21 09:58:54 +00:00
projects
resources
test [mips][msa] Remove copy_u.d and move copy_u.w to MSA64. 2015-10-21 09:58:54 +00:00
tools Revert "Add missing #include, found by modules build." 2015-10-21 06:10:55 +00:00
unittests unittests: Remove implicit ilist iterator conversions, NFC 2015-10-20 18:30:20 +00:00
utils Lit: Rework r249161; Move RLIMIT_NPROC to main.py. 2015-10-15 15:37:13 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [CMake] All the checks for if LLVM_VERSION_* variables are set need to be if(DEFINED ...) 2015-10-20 18:16:37 +00:00
CODE_OWNERS.TXT CODE_OWNERS.TXT is supposed to be sorted by surname 2015-09-07 00:41:40 +00:00
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.txt
configure Don't use bashism/kshism of test ==. From Kamil Rytarowski. 2015-09-12 16:30:32 +00:00
llvm.spec.in [Sparc] Implement i64 load/store support for 32-bit sparc. 2015-08-10 19:11:39 +00:00

README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.