LLVM backend for 6502
Go to file
Simon Pilgrim fa17ce8b6e [SelectionDAG] Fixed issue with uitofp vector constant folding being treated as sitofp
While the uitofp scalar constant folding treats an integer as an unsigned value (from lang ref):

%X = sitofp i8 -1 to double ; yields double:-1.0
%Y = uitofp i8 -1 to double ; yields double:255.0

The vector constant folding was always using sitofp:

%X = sitofp <2 x i8> <i8 -1, i8 -1> to <2 x double> ; yields <double -1.0, double -1.0>
%Y = uitofp <2 x i8> <i8 -1, i8 -1> to <2 x double> ; yields <double -1.0, double -1.0>

This patch fixes this so that the correct opcode is used for sitofp and uitofp.

%X = sitofp <2 x i8> <i8 -1, i8 -1> to <2 x double> ; yields <double -1.0, double -1.0>
%Y = uitofp <2 x i8> <i8 -1, i8 -1> to <2 x double> ; yields <double 255.0, double 255.0>

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233033 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-23 22:44:55 +00:00
autoconf [autoconf] Fix the build failure by quoting the strings. 2015-03-12 19:56:25 +00:00
bindings Go bindings: use MDNode::replaceAllUsesWith instead of MDTuple::replaceAllUsesWith. 2015-03-05 22:55:38 +00:00
cmake Re-land: Generate targets for each lit suite. 2015-03-23 20:04:00 +00:00
docs docs: Update llvm-cov docs for the -use-color flag 2015-03-19 18:22:46 +00:00
examples CMake: Disable ENABLE_EXPORTS for executables with MSVC 2015-03-18 20:09:13 +00:00
include Remove dead prototype DebugInfoFinder::processExpression(), NFC 2015-03-23 22:10:27 +00:00
lib [SelectionDAG] Fixed issue with uitofp vector constant folding being treated as sitofp 2015-03-23 22:44:55 +00:00
projects Reverse the order libc++ and libc++abi are added in CMake. 2015-03-04 01:16:43 +00:00
test [SelectionDAG] Fixed issue with uitofp vector constant folding being treated as sitofp 2015-03-23 22:44:55 +00:00
tools Cleanup else-after-return and add an early-return to llvm-nm 2015-03-23 21:17:43 +00:00
unittests Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
utils Another set of missing raw_ostream.h. Still no functional change. 2015-03-23 18:45:56 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt Re-land: Generate targets for each lit suite. 2015-03-23 20:04:00 +00:00
CODE_OWNERS.TXT Tom is also responsible for the 3.6 branch. 2015-03-16 18:15:27 +00:00
configure [autoconf] Fix the build failure by quoting the strings. 2015-03-12 19:56:25 +00:00
CREDITS.TXT
LICENSE.TXT Update for a new year. 2015-03-12 01:25:29 +00:00
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules Add support for SunOS function/data sections and associated 2015-03-03 20:54:29 +00:00
README.txt Revert test commit 2015-02-04 18:46:00 +00:00

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.