1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
Go to file
Daniel Sanders 3af4859657 [mips] For the FP64A ABI, odd-numbered double-precision moves must not use mtc1/mfc1.
Summary:
This is because the FP64A the hardware will redirect 32-bit reads/writes
from/to odd-numbered registers to the upper 32-bits of the corresponding
even register. In effect, simulating FR=0 mode when FR=0 mode is not
available.

Unfortunately, we have to make the decision to avoid mfc1/mtc1 before
register allocation so we currently do this for even registers too.

FPXX has a similar requirement on 32-bit architectures that lack
mfhc1/mthc1 so this patch also handles the affected moves from the FPU for
FPXX too. Moves to the FPU were supported by an earlier commit.

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

llvm-svn: 212938
2014-07-14 13:08:14 +00:00
autoconf Remove path_tclsh.m4. 2014-06-02 12:54:32 +00:00
bindings [OCaml] Documentation improvements. 2014-07-02 22:17:20 +00:00
cmake [CMake][Win32.DLL] Let llvm_add_library(SHARED) link dependent libraries as PRIVATE. 2014-07-14 12:26:15 +00:00
docs Add FileCheck -implicit-check-not option to allow stricter tests without adding too many CHECK-NOTs manually. 2014-07-11 12:39:32 +00:00
examples [CMake] Update libdeps. 2014-07-14 05:01:53 +00:00
include MC: make MCWin64EHInstruction a POD-like struct 2014-07-13 19:03:45 +00:00
lib [mips] For the FP64A ABI, odd-numbered double-precision moves must not use mtc1/mfc1. 2014-07-14 13:08:14 +00:00
projects
test [mips] For the FP64A ABI, odd-numbered double-precision moves must not use mtc1/mfc1. 2014-07-14 13:08:14 +00:00
tools [CMake] Update libdeps. 2014-07-14 05:01:53 +00:00
unittests [CMake] Update libdeps. 2014-07-14 05:01:53 +00:00
utils Option: Propagate flags from groups to options in each group 2014-07-12 00:18:58 +00:00
.arcconfig Updated phabricator server. 2014-04-07 03:57:04 +00:00
.clang-format
.gitignore Add Polly to the ignored trees. 2014-06-25 13:13:36 +00:00
CMakeLists.txt [CMake] Introduce LLVM_SHLIB_OUTPUT_INTDIR. 2014-07-04 04:23:26 +00:00
CODE_OWNERS.TXT ARM Linux support 2014-04-02 23:03:28 +00:00
configure Touch configure to force clang's config.h.in reconfiguration on the build servers 2014-06-06 10:36:38 +00:00
CREDITS.TXT Update Credits. 2014-05-29 19:59:58 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules [Make] Fix dependencies for td.expanded 2014-06-20 19:00:41 +00:00
README.txt Trivial test commit. 2014-04-26 19:05:45 +00:00

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

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, 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.