Skip to content
  1. Nov 18, 2013
  2. Oct 15, 2013
  3. Oct 07, 2013
    • Akira Hatanaka's avatar
      [mips] Fix definition of mfhi and mflo instructions to read from the whole · 16048332
      Akira Hatanaka authored
      accumulator instead of its sub-registers, $hi and $lo. 
      
      We need this change to prevent a mflo following a mtlo from reading an
      unpredictable/undefined value, as shown in the following example:
      
      mult $6, $7 // result of $6 * $7 is written to $lo and $hi.
      mflo $2     // read lower 32-bit result from $lo.
      mtlo $4     // write to $lo. the content of $hi becomes unpredictable.
      mfhi $3     // read higher 32-bit from $hi, which has an unpredictable value.
      
      I don't have a test case for this change that reliably reproduces the problem.
      
      llvm-svn: 192119
      16048332
  4. Sep 27, 2013
  5. Sep 07, 2013
    • Akira Hatanaka's avatar
      [mips] Enhance command line option "-mno-ldc1-sdc1" to expand base+index double · 63791216
      Akira Hatanaka authored
      precision loads and stores as well as reg+imm double precision loads and stores.
      
      Previously, expansion of loads and stores was done after register allocation,
      but now it takes place during legalization. As a result, users will see double
      precision stores and loads being emitted to spill and restore 64-bit FP registers.
      
      llvm-svn: 190235
      63791216
  6. Aug 28, 2013
    • Daniel Sanders's avatar
      [mips][msa] Added cfcmsa, and ctcmsa · f9aa1d19
      Daniel Sanders authored
      The MSA control registers have been added as reserved registers,
      and are only used via ISD::Copy(To|From)Reg. The intrinsics are lowered
      into these nodes.
      
      llvm-svn: 189468
      f9aa1d19
  7. Aug 27, 2013
  8. Aug 21, 2013
  9. Aug 20, 2013
  10. Aug 14, 2013
  11. Aug 08, 2013
  12. Aug 07, 2013
  13. Jul 22, 2013
  14. Jul 19, 2013
  15. Jun 11, 2013
  16. Jun 08, 2013
  17. Jun 07, 2013
  18. May 16, 2013
    • Akira Hatanaka's avatar
      [mips] Fix instruction selection pattern for sint_to_fp node to avoid emitting an · 39d40f7b
      Akira Hatanaka authored
      invalid instruction sequence.
      
      Rather than emitting an int-to-FP move instruction and an int-to-FP conversion
      instruction during instruction selection, we emit a pseudo instruction which gets
      expanded post-RA. Without this change, register allocation can possibly insert a
      floating point register move instruction between the two instructions, which is not
      valid according to the ISA manual.
      
      mtc1 $f4, $4         # int-to-fp move instruction.
      mov.s $f2, $f4       # move contents of $f4 to $f2.
      cvt.s.w $f0, $f2     # int-to-fp conversion.
      
      llvm-svn: 182042
      39d40f7b
  19. May 13, 2013
  20. May 03, 2013
    • Akira Hatanaka's avatar
      [mips] Handle reading, writing or copying of ccond field of DSP control · 5705f546
      Akira Hatanaka authored
      register.
      
      - Define pseudo instructions which store or load ccond field of the DSP
        control register.
      - Emit the pseudos in MipsSEInstrInfo::storeRegToStack and loadRegFromStack.
      - Expand the pseudos before callee-scan save.
      - Emit instructions RDDSP or WRDSP to copy between ccond field and GPRs. 
      
      llvm-svn: 180969
      5705f546
  21. May 01, 2013
  22. Apr 03, 2013
  23. Mar 30, 2013
  24. Mar 29, 2013
  25. Jan 30, 2013
  26. Dec 20, 2012
  27. Dec 03, 2012
    • Chandler Carruth's avatar
      Use the new script to sort the includes of every file under lib. · ed0881b2
      Chandler Carruth authored
      Sooooo many of these had incorrect or strange main module includes.
      I have manually inspected all of these, and fixed the main module
      include to be the nearest plausible thing I could find. If you own or
      care about any of these source files, I encourage you to take some time
      and check that these edits were sensible. I can't have broken anything
      (I strictly added headers, and reordered them, never removed), but they
      may not be the headers you'd really like to identify as containing the
      API being implemented.
      
      Many forward declarations and missing includes were added to a header
      files to allow them to parse cleanly when included first. The main
      module rule does in fact have its merits. =]
      
      llvm-svn: 169131
      ed0881b2
  28. Nov 03, 2012
  29. Nov 02, 2012
  30. Aug 23, 2012
  31. Aug 02, 2012
  32. Aug 01, 2012
  33. Jul 31, 2012
Loading