Skip to content
  • Chris Lattner's avatar
    Improve codegen of long == and != comparisons against constants. Before, · f2ee88eb
    Chris Lattner authored
    comparing a long against zero got us this:
    
            sub %ESP, 8
            mov DWORD PTR [%ESP + 4], %ESI
            mov DWORD PTR [%ESP], %EDI
            mov %EAX, DWORD PTR [%ESP + 12]
            mov %EDX, DWORD PTR [%ESP + 16]
            mov %ECX, 0
            mov %ESI, 0
            mov %EDI, %EAX
            xor %EDI, %ECX
            mov %ECX, %EDX
            xor %ECX, %ESI
            or %EDI, %ECX
            sete %CL
            test %CL, %CL
            je .LBB2 # PC rel: F
    
    Now it gets us this:
    
            mov %EAX, DWORD PTR [%ESP + 4]
            mov %EDX, DWORD PTR [%ESP + 8]
            mov %ECX, %EAX
            or %ECX, %EDX
            sete %CL
            test %CL, %CL
            je .LBB2 # PC rel: F
    
    llvm-svn: 12696
    f2ee88eb
Loading