- Jan 02, 2009
-
-
Evan Cheng authored
llvm-svn: 61556
-
Evan Cheng authored
Use movaps / movd to extract vector element 0 even with sse4.1. It's still cheaper than pextrw especially if the value is in memory. llvm-svn: 61555
-
- Jan 01, 2009
-
-
Duncan Sands authored
promote from i1 all the way up to the canonical SetCC type. In order to discover an appropriate type to use, pass MVT::Other to getSetCCResultType. In order to be able to do this, change getSetCCResultType to take a type as an argument, not a value (this is also more logical). llvm-svn: 61542
-
- Dec 31, 2008
-
-
Chris Lattner authored
llvm-svn: 61513
-
Scott Michel authored
instruction sequence and cannot ordinarily be simplified by DAGcombine into the various target description files or SPUDAGToDAGISel.cpp. This makes some 64-bit operations legal. - Eliminate target-dependent ISD enums. - Update tests. llvm-svn: 61508
-
- Dec 29, 2008
-
-
Bill Wendling authored
Darwin doesn't. Make this optional for platforms. llvm-svn: 61484
-
Misha Brukman authored
llvm-svn: 61477
-
Scott Michel authored
- Move v4i32, i32 mul into SPUInstrInfo.td, with a few more instruction cleanups there as well. - Make SMUL_LOHI, UMUL_LOHI competely illegal for Cell SPU, to better assist Chris to see the problem in bug 3101. llvm-svn: 61464
-
- Dec 27, 2008
-
-
Scott Michel authored
DAGcombine's ability to find reasons to remove truncates when they were not needed. Consequently, the CellSPU backend would produce correct, but _really slow and horrible_, code. Replaced with instruction sequences that do the equivalent truncation in SPUInstrInfo.td. - Re-examine how unaligned loads and stores work. Generated unaligned load code has been tested on the CellSPU hardware; see the i32operations.c and i64operations.c in CodeGen/CellSPU/useful-harnesses. (While they may be toy test code, it does prove that some real world code does compile correctly.) - Fix truncating stores in bug 3193 (note: unpack_df.ll will still make llc fault because i64 ult is not yet implemented.) - Added i64 eq and neq for setcc and select/setcc; started new instruction information file for them in SPU64InstrInfo.td. Additional i64 operations should be added to this file and not to SPUInstrInfo.td. llvm-svn: 61447
-
- Dec 25, 2008
-
-
Chris Lattner authored
llvm-svn: 61426
-
Chris Lattner authored
llvm-svn: 61425
-
Chris Lattner authored
llvm-svn: 61424
-
Chris Lattner authored
llvm-svn: 61423
-
- Dec 24, 2008
-
-
Bill Wendling authored
llvm-svn: 61420
-
Bill Wendling authored
about other platforms. llvm-svn: 61415
-
Dan Gohman authored
a symbolic constant. This is unlikely to be intentional, but it shouldn't crash the compiler. llvm-svn: 61408
-
Chris Lattner authored
llvm-svn: 61407
-
Chris Lattner authored
llvm-svn: 61404
-
- Dec 23, 2008
-
-
Dan Gohman authored
llvm-svn: 61400
-
Devang Patel authored
llvm-svn: 61392
-
Dan Gohman authored
This removes all the _8, _16, _32, and _64 opcodes and replaces each group with an unsuffixed opcode. The MemoryVT field of the AtomicSDNode is now used to carry the size information. In tablegen, the size-specific opcodes are replaced by size-independent opcodes that utilize the ability to compose them with predicates. This shrinks the per-opcode tables and makes the code that handles atomics much more concise. llvm-svn: 61389
-
Chris Lattner authored
llvm-svn: 61385
-
Mon P Wang authored
Fixed lowering of v8i16 shuffles for v8i16 when we fall back to extract/insert. llvm-svn: 61365
-
Dan Gohman authored
llvm-svn: 61356
-
- Dec 20, 2008
-
-
Dan Gohman authored
constant shift count that doesn't fit in the shift instruction's immediate field. This fixes PR3242. llvm-svn: 61281
-
- Dec 19, 2008
-
-
Dan Gohman authored
that have i32 immediates so that they get selected first. This currently only matters in the JIT, as assemblers will automatically use the smallest encoding. llvm-svn: 61250
-
Chris Lattner authored
llvm-svn: 61244
-
Rafael Espindola authored
The EH_frame and .eh symbols are now private, except for darwin9 and earlier. The patch also fixes the definition of PrivateGlobalPrefix on pcc linux. llvm-svn: 61242
-
- Dec 18, 2008
-
-
Dan Gohman authored
used, mark the defs as dead. llvm-svn: 61215
-
Dan Gohman authored
non-entry blocks, so that it doesn't appear use-before-def anywhere. llvm-svn: 61214
-
Mon P Wang authored
llvm-svn: 61211
-
Dan Gohman authored
and the RegisterScavenger not to expect traditional liveness techniques are applicable to these registers, since we don't fully modify the effects of push and pop after stackification. llvm-svn: 61179
-
- Dec 16, 2008
-
-
Dan Gohman authored
especially in the case of addresses computed from loop induction variables. llvm-svn: 61075
-
- Dec 15, 2008
-
-
Chris Lattner authored
llvm-svn: 61033
-
Chris Lattner authored
comments about why we're not getting other cases. llvm-svn: 61032
-
Chris Lattner authored
llvm-svn: 61028
-
- Dec 14, 2008
-
-
Chris Lattner authored
llvm-svn: 61014
-
Chris Lattner authored
llvm-svn: 61013
-
- Dec 12, 2008
-
-
Bill Wendling authored
which are identical to the original patterns. - Change the multiply with overflow so that we distinguish between signed and unsigned multiplication. Currently, unsigned multiplication with overflow isn't working! llvm-svn: 60963
-
Duncan Sands authored
lowering f64 function arguments. llvm-svn: 60944
-