Skip to content
  1. Sep 19, 2006
    • Chris Lattner's avatar
      item done · b94df039
      Chris Lattner authored
      llvm-svn: 30483
      b94df039
    • Chris Lattner's avatar
      Fold the PPCISD shifts when presented with 0 inputs. This occurs for code · 3c48ea54
      Chris Lattner authored
      like:
      long long test(long long X, int Y) {
        return 1ULL << Y;
      }
      long long test2(long long X, int Y) {
        return -1LL << Y;
      }
      
      which we used to compile to:
      
      _test:
              li r2, 1
              subfic r3, r5, 32
              li r4, 0
              addi r6, r5, -32
              srw r3, r2, r3
              slw r4, r4, r5
              slw r6, r2, r6
              or r3, r4, r3
              slw r4, r2, r5
              or r3, r3, r6
              blr
      _test2:
              li r2, -1
              subfic r3, r5, 32
              addi r6, r5, -32
              srw r3, r2, r3
              slw r4, r2, r5
              slw r2, r2, r6
              or r3, r4, r3
              or r3, r3, r2
              blr
      
      Now we produce:
      
      _test:
              li r2, 1
              addi r3, r5, -32
              subfic r4, r5, 32
              slw r3, r2, r3
              srw r4, r2, r4
              or r3, r4, r3
              slw r4, r2, r5
              blr
      _test2:
              li r2, -1
              subfic r3, r5, 32
              addi r6, r5, -32
              srw r3, r2, r3
              slw r4, r2, r5
              slw r2, r2, r6
              or r3, r4, r3
              or r3, r3, r2
              blr
      
      llvm-svn: 30479
      3c48ea54
  2. Sep 18, 2006
  3. Sep 17, 2006
  4. Sep 16, 2006
  5. Sep 15, 2006
  6. Sep 14, 2006
  7. Sep 13, 2006
  8. Sep 12, 2006
  9. Sep 11, 2006
  10. Sep 10, 2006
  11. Sep 09, 2006
  12. Sep 08, 2006
Loading