- Oct 30, 2012
-
-
Manman Ren authored
We used to generate a store (movq) + a load. Now we use movd. rdar://9946746 llvm-svn: 167056
-
Akira Hatanaka authored
use the caller's stack. llvm-svn: 167048
-
Akira Hatanaka authored
information will be used by IsEligibleForTailCallOptimization to determine whether a call can be tail-call optimized. llvm-svn: 167043
-
Akira Hatanaka authored
for passing a function call argument on a stack. llvm-svn: 167041
-
Akira Hatanaka authored
llvm-svn: 167039
-
Adhemerval Zanella authored
This patch expands FSQRT for floating point vector types when altivec is used. llvm-svn: 167034
-
Michael Liao authored
llvm-svn: 167027
-
Quentin Colombet authored
llvm-svn: 167020
-
Adhemerval Zanella authored
This patch adds more support for vector type comparisons using altivec. It adds correct support for v16i8, v8i16, v4i32, and v4f32 vector types for comparison operators ==, !=, >, >=, <, and <=. llvm-svn: 167015
-
Hans Wennborg authored
When the switch-to-lookup tables transform landed in SimplifyCFG, it was pointed out that this could be inappropriate for some targets. Since there was no way at the time for the pass to know anything about the target, an awkward reverse-transform was added in CodeGenPrepare that turned lookup tables back into switches for some targets. This patch uses the new TargetTransformInfo to determine if a switch should be transformed, and removes CodeGenPrepare::ConvertLoadToSwitch. llvm-svn: 167011
-
Hal Finkel authored
getCastInstrCost had an assert prohibiting scalar to vector casts. Such casts, however, are allowed. This should make the vectorizer buildbot happier. llvm-svn: 166998
-
Jim Grosbach authored
When the operand is a plain immediate rather than a label, print it as [pc, #imm] like we do for the Thumb2 wide encoding variant. rdar://12154503 llvm-svn: 166991
-
Reed Kotler authored
We will make them delay slot forms if there is something that can be placed in the delay slot during a separate pass. Mips16 extended instructions cannot be placed in delay slots. llvm-svn: 166990
-
Jakub Staszak authored
to test it with chapni's fix (-mattr=+avx). llvm-svn: 166985
-
Kevin Enderby authored
is 24 bits not 20 and the decoding needed to correctly handle converting the J1 and J2 bits to their I1 and I2 values to reconstruct the displacement. llvm-svn: 166982
-
Jakub Staszak authored
llvm-svn: 166979
-
- Oct 29, 2012
-
-
Jakub Staszak authored
llvm-svn: 166973
-
Jakub Staszak authored
llvm-svn: 166972
-
Jakub Staszak authored
%0 = load <8 x i16>* %dest %1 = shufflevector <8 x i16> %0, <8 x i16> %in, <8 x i32> < i32 0, i32 1, i32 2, i32 3, i32 13, i32 undef, i32 14, i32 14> store <8 x i16> %1, <8 x i16>* %dest We get: vmovlpd (%eax), %xmm0, %xmm0 instead of: vmovaps (%eax), %xmm1 vmovsd %xmm1, %xmm0, %xmm0 No extra test-case is added. I just fixed the existing one (also it uses FileCheck now). llvm-svn: 166971
-
Bill Schmidt authored
ELF ABI. A varargs parameter consisting of a single-precision floating-point value, or of a single-element aggregate containing a single-precision floating-point value, must be passed in the low-order (rightmost) four bytes of the doubleword stack slot reserved for that parameter. If there are GPR protocol registers remaining, the parameter must also be mirrored in the low-order four bytes of the reserved GPR. Prior to this patch, such parameters were being passed in the high-order four bytes of the stack slot and the mirrored GPR. The patch adds a new test case to verify the correct code generation. llvm-svn: 166968
-
Reed Kotler authored
llvm-svn: 166960
-
Chad Rosier authored
equivalent to [expr1 + expr2]. See test cases for more examples. rdar://12470392 llvm-svn: 166949
-
Michael Liao authored
- Add missing pattern on X86ISD::VZEXT from VR256 to VR256 when AVX2 is enabled. llvm-svn: 166947
-
Joerg Sonnenberger authored
llvm-svn: 166945
-
Ulrich Weigand authored
This fixes PR12757. llvm-svn: 166943
-
Hans Wennborg authored
llvm-svn: 166936
-
Reed Kotler authored
llvm-svn: 166935
-
NAKAMURA Takumi authored
llvm-svn: 166932
-
NAKAMURA Takumi authored
llvm-svn: 166931
-
Bill Schmidt authored
ELF subtarget. The existing logic is used as a fallback to avoid any changes to the Darwin ABI. PPC64 ELF now has two possible data layout strings: one for FreeBSD, which requires 8-byte alignment, and a default string that requires 16-byte alignment. I've added a test for PPC64 Linux to verify the 16-byte alignment. If somebody wants to add a separate test for FreeBSD, that would be great. Note that there is a companion patch to update the alignment information in Clang, which I am committing now as well. llvm-svn: 166928
-
Duncan Sands authored
llvm-svn: 166922
-
Nadav Rotem authored
Get the number of registers by calling getTypeLegalizationCost. PR14199. llvm-svn: 166911
-
Reed Kotler authored
llvm-svn: 166903
-
- Oct 28, 2012
-
-
Rafael Espindola authored
All the credit goes to Jan Voung for noticing it was dead! llvm-svn: 166902
-
Reed Kotler authored
Previously mips16 was sharing the pattern addr which is used for mips32 and mips64. This had a number of problems: 1) Storing and loading byte and halfword quantities for mips16 has particular problems due to the primarily non mips16 nature of SP. When we must load/store byte/halfword stack objects in a function, we must create a mips16 alias register for SP. This functionality is tested in stchar.ll. 2) We need to have an FP register under certain conditions (such as dynamically sized alloca). We use mips16 register S0 for this purpose. In this case, we also use this register when accessing frame objects so this issue also affects the complex pattern addr16. This functionality is tested in alloca16.ll. The Mips16InstrInfo.td has been updated to use addr16 instead of addr. The complex pattern C++ function for addr has been copied to addr16 and updated to reflect the above issues. llvm-svn: 166897
-
- Oct 27, 2012
-
-
Quentin Colombet authored
llvm-svn: 166854
-
Reed Kotler authored
llvm-svn: 166852
-
Akira Hatanaka authored
arguments. This is rather conservative and should be fixed later to be more aggressive. llvm-svn: 166851
-
Akira Hatanaka authored
previous iteration. llvm-svn: 166850
-
Akira Hatanaka authored
LowerFormalArguments in MipsTargetLowering. No functionality change intended. llvm-svn: 166846
-