- Feb 28, 2010
-
-
Dan Gohman authored
llvm-svn: 97348
-
- Feb 27, 2010
-
-
Chris Lattner authored
but codegen'd differently. This really wanted to use some sort of subreg to get the low 4 bytes of the G8RC register or something. However, it's invalid and nothing is testing it, so I'm just zapping the bogosity. llvm-svn: 97345
-
Chris Lattner authored
llvm-svn: 97316
-
Evan Cheng authored
llvm-svn: 97310
-
- Feb 26, 2010
-
-
Johnny Chen authored
o Parallel addition and subtraction, signed/unsigned o Miscellaneous operations: QADD, QDADD, QSUB, QDSUB o Unsigned sum of absolute differences [and accumulate]: USAD8, USADA8 o Signed/Unsigned saturate: SSAT, SSAT16, USAT, USAT16 o Signed multiply accumulate long (halfwords): SMLAL<x><y> o Signed multiply accumulate/subtract [long] (dual): SMLAD[x], SMLALD[X], SMLSD[X], SMLSLD[X] o Signed dual multiply add/subtract [long]: SMUAD[X], SMUSD[X] llvm-svn: 97276
-
Jakob Stoklund Olesen authored
This is possible because F8RC is a subclass of F4RC. We keep FMRSD around so fextend has a pattern. Also allow folding of memory operands on FMRSD. llvm-svn: 97275
-
Jakob Stoklund Olesen authored
The PowerPC floating point registers can represent both f32 and f64 via the two register classes F4RC and F8RC. F8RC is considered a subclass of F4RC to allow cross-class coalescing. This coalescing only affects whether registers are spilled as f32 or f64. Spill slots must be accessed with load/store instructions corresponding to the class of the spilled register. PPCInstrInfo::foldMemoryOperandImpl was looking at the instruction opcode which is wrong. X86 has similar floating point register classes, but doesn't try to fold memory operands, so there is no problem there. llvm-svn: 97262
-
Dale Johannesen authored
as X86 is currently the only FastISel target. Per review. llvm-svn: 97255
-
Sanjiv Gupta authored
present in the module. llvm-svn: 97232
-
Sanjiv Gupta authored
llvm-svn: 97228
-
Dan Gohman authored
llvm-svn: 97227
-
Richard Osborne authored
Previously LoopStrengthReduce would sometimes be unable to find a legal formula, causing an assertion failure. llvm-svn: 97226
-
Chandler Carruth authored
llvm-svn: 97220
-
Sanjiv Gupta authored
object construction. There is no provision to change them when the code for a function generated. So we have to change these names while printing assembly. llvm-svn: 97213
-
Sanjiv Gupta authored
llvm-svn: 97211
-
Dan Gohman authored
llvm-svn: 97201
-
- Feb 25, 2010
-
-
Johnny Chen authored
and SRS. llvm-svn: 97164
-
Johnny Chen authored
llvm-svn: 97163
-
Johnny Chen authored
llvm-svn: 97159
-
Daniel Dunbar authored
llvm-svn: 97151
-
Johnny Chen authored
WFI, SEV, SETEND. llvm-svn: 97149
-
Dan Gohman authored
terms of store and load, which means bitcasting between scalar integer and vector has endian-specific results, which undermines this whole approach. llvm-svn: 97137
-
Sanjiv Gupta authored
llvm-svn: 97108
-
Johnny Chen authored
llvm-svn: 97105
-
Dan Gohman authored
just discarding one of the registers. llvm-svn: 97100
-
Scott Michel authored
llvm-svn: 97099
-
Johnny Chen authored
llvm-svn: 97098
-
Scott Michel authored
(511*16) bytes register displacement (D-form). NOTE: This is a potential headache, given the SPU's local core limitations, allowing the software developer to commit stack overrun suicide unknowingly. Also, large SPU stack frames will cause code size explosion. But, one presumes that the software developer knows what they're doing... Contributed by Kalle.Raiskila@nokia.com, edited slightly before commit. llvm-svn: 97091
-
- Feb 24, 2010
-
-
Jakob Stoklund Olesen authored
- Function uses all scratch registers AND - Function does not use any callee saved registers AND - Stack size is too big to address with immediate offsets. In this case a register must be scavenged to calculate the address of a stack object, and the scavenger needs a spare register or emergency spill slot. llvm-svn: 97071
-
Bob Wilson authored
greater-than-or-equal SELECT_CCs to NEON vmin/vmax instructions. This is only allowed when UnsafeFPMath is set or when at least one of the operands is known to be nonzero. llvm-svn: 97065
-
Dan Gohman authored
the number of value bits, not the number of bits of allocation for in-memory storage. Make getTypeStoreSize and getTypeAllocSize work consistently for arrays and vectors. Fix several places in CodeGen which compute offsets into in-memory vectors to use TargetData information. This fixes PR1784. llvm-svn: 97064
-
Wesley Peck authored
Adding the function "lookupGCCName" to the MBlazeIntrinsicInfo class to support the Clang MicroBlaze target. Additionally, minor fixes which remove some unused PIC code (PIC is not supported yet in the MicroBlaze backend) and removed some unused variables. llvm-svn: 97054
-
Johnny Chen authored
A8.6.405 llvm-svn: 97052
-
Jakob Stoklund Olesen authored
<undef> operands, and can cause scavenger failures when it translates <kill,undef> to <kill>. llvm-svn: 97046
-
Johnny Chen authored
llvm-svn: 97044
-
Daniel Dunbar authored
the hopes of fixing PPC bootstrap. llvm-svn: 97040
-
Dan Gohman authored
necessary to swap the operands to handle NaN and negative zero properly. Also, reintroduce logic for checking for NaN conditions when forming SSE min and max instructions, fixed to take into consideration NaNs and negative zeros. This allows forming min and max instructions in more cases. llvm-svn: 97025
-
Chandler Carruth authored
llvm-svn: 97022
-
Johnny Chen authored
memory from three or four registers and VST2 (multiple two-element structures) which stores to memory from two double-spaced registers. A8.6.391 & A8.6.393 llvm-svn: 97018
-
Jim Grosbach authored
llvm-svn: 97013
-