1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/lib
Hal Finkel d7201e5971 [PowerPC] Handle VSX v2i64 SIGN_EXTEND_INREG
sitofp from v2i32 to v2f64 ends up generating a SIGN_EXTEND_INREG v2i64 node
(and similarly for v2i16 and v2i8). Even though there are no sign-extension (or
algebraic shifts) for v2i64 types, we can handle v2i32 sign extensions by
converting two and from v2i64. The small trick necessary here is to shift the
i32 elements into the right lanes before the i32 -> f64 step. This is because
of the big Endian nature of the system, we need the i32 portion in the high
word of the i64 elements.

For v2i16 and v2i8 we can do the same, but we first use the default Altivec
shift-based expansion from v2i16 or v2i8 to v2i32 (by casting to v4i32) and
then apply the above procedure.

llvm-svn: 205146
2014-03-30 13:22:59 +00:00
..
Analysis PR15967 Fix in basicaa for faulty returning no alias. 2014-03-26 21:30:19 +00:00
AsmParser Remove the linker_private and linker_private_weak linkages. 2014-03-13 23:18:37 +00:00
Bitcode All new elements except the last one initialized to NULL. Ideally, once parsing is complete, all elements should be non-NULL. 2014-03-27 12:08:23 +00:00
CodeGen Avoid storing Twines. 2014-03-29 16:54:29 +00:00
DebugInfo DebugInfo: Support debug_loc under fission 2014-03-25 01:44:02 +00:00
ExecutionEngine [Allocator] Lift the slab size and size threshold into template 2014-03-30 12:07:07 +00:00
IR Intrinsics: add LLVMHalfElementsVectorType constraint 2014-03-29 07:04:54 +00:00
IRReader Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
LineEditor [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
Linker [Layering] Sink Linker.h into a Linker subdirectory to make it 2014-03-06 03:42:23 +00:00
LTO ARM64: initial backend import 2014-03-29 10:18:08 +00:00
MC [MC] Remove an unused (and broken) variant of the setupForSymbolicDisassembly 2014-03-30 04:27:33 +00:00
Object ARM64: initial backend import 2014-03-29 10:18:08 +00:00
Option
ProfileData InstrProf: Silence spurious warnings in GCC 4.8 2014-03-24 00:47:18 +00:00
Support [Allocator] Lift the slab size and size threshold into template 2014-03-30 12:07:07 +00:00
TableGen tblgen: Twinify PrintFatalError. 2014-03-29 17:17:15 +00:00
Target [PowerPC] Handle VSX v2i64 SIGN_EXTEND_INREG 2014-03-30 13:22:59 +00:00
Transforms Add a missing break. 2014-03-30 03:26:17 +00:00
CMakeLists.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
LLVMBuild.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
Makefile ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00