Skip to content
  • Chris Lattner's avatar
    Add some 64-bit logical ops. · 7e742e46
    Chris Lattner authored
    Split imm16Shifted into a sext/zext form for 64-bit support.
    Add some patterns for immediate formation.  For example, we now compile this:
    
    static unsigned long long Y;
    void test3() {
      Y = 0xF0F00F00;
    }
    
    into:
    
    _test3:
            li r2, 3840
            lis r3, ha16(_Y)
            xoris r2, r2, 61680
            std r2, lo16(_Y)(r3)
            blr
    
    GCC produces:
    
    _test3:
            li r0,0
            lis r2,ha16(_Y)
            ori r0,r0,61680
            sldi r0,r0,16
            ori r0,r0,3840
            std r0,lo16(_Y)(r2)
            blr
    
    llvm-svn: 28883
    7e742e46
Loading