Skip to content
  1. Dec 07, 2010
  2. Dec 01, 2010
  3. Nov 30, 2010
  4. Nov 19, 2010
  5. Nov 17, 2010
  6. Nov 11, 2010
  7. Nov 03, 2010
  8. Nov 01, 2010
  9. Oct 28, 2010
  10. Oct 27, 2010
  11. Oct 15, 2010
  12. Oct 13, 2010
  13. Oct 12, 2010
  14. Oct 05, 2010
  15. Sep 09, 2010
  16. Sep 01, 2010
  17. Aug 16, 2010
  18. Aug 12, 2010
  19. Jul 30, 2010
    • Jim Grosbach's avatar
      Many Thumb2 instructions can reference the full ARM register set (i.e., · d343166a
      Jim Grosbach authored
      have 4 bits per register in the operand encoding), but have undefined
      behavior when the operand value is 13 or 15 (SP and PC, respectively).
      The trivial coalescer in linear scan sometimes will merge a copy from
      SP into a subsequent instruction which uses the copy, and if that
      instruction cannot legally reference SP, we get bad code such as:
        mls r0,r9,r0,sp
      instead of:
        mov r2, sp
        mls r0, r9, r0, r2
      
      This patch adds a new register class for use by Thumb2 that excludes
      the problematic registers (SP and PC) and is used instead of GPR
      for those operands which cannot legally reference PC or SP. The
      trivial coalescer explicitly requires that the register class
      of the destination for the COPY instruction contain the source
      register for the COPY to be considered for coalescing. This prevents
      errant instructions like that above.
      
      PR7499
      
      llvm-svn: 109842
      d343166a
  20. Jul 20, 2010
  21. Jul 09, 2010
    • Bruno Cardoso Lopes's avatar
      Start the support for AVX instructions with 256-bit %ymm registers. A couple of · 792e906b
      Bruno Cardoso Lopes authored
      notes:
      - The instructions are being added with dummy placeholder patterns using some 256
        specifiers, this is not meant to work now, but since there are some multiclasses
        generic enough to accept them,  when we go for codegen, the stuff will be already
        there.
      - Add VEX encoding bits to support YMM
      - Add MOVUPS and MOVAPS in the first round
      - Use "Y" as suffix for those Instructions: MOVUPSYrr, ...
      - All AVX instructions in X86InstrSSE.td will move soon to a new X86InstrAVX
        file.
      
      llvm-svn: 107996
      792e906b
  22. Jul 08, 2010
  23. Jun 23, 2010
  24. Jun 16, 2010
  25. Jun 11, 2010
    • Bob Wilson's avatar
      Add instruction encoding for the Neon VMOV immediate instruction. This changes · 6eae520d
      Bob Wilson authored
      the machine instruction representation of the immediate value to be encoded
      into an integer with similar fields as the actual VMOV instruction.  This makes
      things easier for the disassembler, since it can just stuff the bits into the
      immediate operand, but harder for the asm printer since it has to decode the
      value to be printed.  Testcase for the encoding will follow later when MC has
      more support for ARM.
      
      llvm-svn: 105836
      6eae520d
  26. May 14, 2010
  27. May 06, 2010
  28. Apr 24, 2010
  29. Apr 14, 2010
  30. Apr 13, 2010
    • Sean Callanan's avatar
      Fixed a nasty layering violation in the edis source · 814e69b1
      Sean Callanan authored
      code.  It used to #include the enhanced disassembly
      information for the targets it supported straight
      out of lib/Target/{X86,ARM,...} but now it uses a
      new interface provided by MCDisassembler, and (so
      far) implemented by X86 and ARM.
      
      Also removed hacky #define-controlled initialization
      of targets in edis.  If clients only want edis to
      initialize a limited set of targets, they can set
      --enable-targets on the configure command line.
      
      llvm-svn: 101179
      814e69b1
  31. Apr 08, 2010
  32. Mar 19, 2010
Loading