Skip to content
  1. Oct 20, 2003
    • Chris Lattner's avatar
      Emit x86 instructions for: A = B op C, where A and B are 16-bit registers, · 6acb1bed
      Chris Lattner authored
      C is a constant which can be sign-extended from 8 bits without value loss,
      and op is one of: add, sub, imul, and, or, xor.
      
      This allows the JIT to emit the one byte version of the constant instead of
      the two or 4 byte version.  Because these instructions are very common, this
      can save a LOT of code space.  For example, I sampled two benchmarks, 176.gcc
      and 254.gap.
      
      BM        Old     New    Reduction
      176.gcc 2673621 2548962  4.89%
      254.gap  498261  475104  4.87%
      
      Note that while the percentage is not spectacular, this did eliminate
      124.6 _KILOBYTES_ of codespace from gcc.  Not bad.
      
      Note that this doesn't effect the llc version at all, because the assembler
      already does this optimization.
      
      llvm-svn: 9284
      6acb1bed
    • Chris Lattner's avatar
      * Rename X86::IMULr16 -> X86::IMULrr16 · 97e1b557
      Chris Lattner authored
      * Implement R1 = R2 * C where R1 and R2 are 32 or 16 bits. This avoids an
        extra copy into a register, reducing register pressure.
      
      llvm-svn: 9278
      97e1b557
  2. Oct 19, 2003
  3. Aug 15, 2003
  4. Aug 11, 2003
  5. Aug 06, 2003
  6. Aug 05, 2003
  7. Aug 04, 2003
  8. Aug 03, 2003
Loading