Skip to content
  1. May 09, 2006
  2. May 08, 2006
  3. May 07, 2006
  4. May 06, 2006
    • Jeff Cohen's avatar
      Fix some loose ends in MASM support. · ce9b9fe6
      Jeff Cohen authored
      llvm-svn: 28148
      ce9b9fe6
    • Chris Lattner's avatar
      Use the new TargetLowering::ComputeNumSignBits method to eliminate · 1ecb2a2d
      Chris Lattner authored
      sign_extend_inreg operations.  Though ComputeNumSignBits is still rudimentary,
      this is enough to compile this:
      
      short test(short X, short x) {
        int Y = X+x;
        return (Y >> 1);
      }
      short test2(short X, short x) {
        int Y = (short)(X+x);
        return Y >> 1;
      }
      
      into:
      
      _test:
              add r2, r3, r4
              srawi r3, r2, 1
              blr
      _test2:
              add r2, r3, r4
              extsh r2, r2
              srawi r3, r2, 1
              blr
      
      instead of:
      
      _test:
              add r2, r3, r4
              srawi r2, r2, 1
              extsh r3, r2
              blr
      _test2:
              add r2, r3, r4
              extsh r2, r2
              srawi r2, r2, 1
              extsh r3, r2
              blr
      
      llvm-svn: 28146
      1ecb2a2d
Loading