LLVM backend for 6502
Go to file
Bill Schmidt 39f807fc9f Merging r214714:
------------------------------------------------------------------------
r214714 | uweigand | 2014-08-04 08:13:57 -0500 (Mon, 04 Aug 2014) | 19 lines

[PowerPC] Fix and improve vector comparisons

This patch refactors code generation of vector comparisons.

This fixes a wrong code-gen bug for ISD::SETGE for floating-point types,
and improves generated code for vector comparisons in general.

Specifically, the patch moves all logic deciding how to implement vector
comparisons into getVCmpInst, which gets two extra boolean outputs
indicating to its caller whether its needs to swap the input operands
and/or negate the result of the comparison.  Apart from implementing
these two modifications as directed by getVCmpInst, there is no need
to ever implement vector comparisons in any other manner; in particular,
there is never a need to perform two separate comparisons (e.g. one for
equal and one for greater-than, as code used to do before this patch).

Reviewed by Bill Schmidt.


------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_35@214817 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-04 23:37:33 +00:00
autoconf Merging r213915: 2014-07-25 17:47:30 +00:00
bindings MergedLoadStoreMotion pass 2014-07-18 19:13:09 +00:00
cmake Merging r214078: 2014-07-28 13:39:56 +00:00
docs Merging r214331: 2014-07-30 22:43:59 +00:00
examples Merging r213663: 2014-07-23 15:19:01 +00:00
include Merging r213966: 2014-08-04 18:36:56 +00:00
lib Merging r214714: 2014-08-04 23:37:33 +00:00
projects
test Merging r214714: 2014-08-04 23:37:33 +00:00
tools Merging r214519: 2014-08-04 04:21:04 +00:00
unittests unittests: Actually test reverse iterators in Path tests 2014-07-16 08:18:58 +00:00
utils Revert of r213521. This change introduced a non-hermetic test (depending on a 2014-07-22 02:32:12 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt [CMake] Introduce LLVM_SHLIB_OUTPUT_INTDIR. 2014-07-04 04:23:26 +00:00
CODE_OWNERS.TXT Make myself code owner of MCJIT. 2014-07-17 20:23:31 +00:00
configure Merging r214129: 2014-07-30 00:07:21 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Track clang r213171 2014-07-16 16:50:34 +00:00
Makefile.rules
README.txt

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.