Skip to content
  • Chris Lattner's avatar
    Simplify code by using the more powerful BuildMI forms. · bc7e35b3
    Chris Lattner authored
    Implement a small optimization.  In test/Regression/CodeGen/X86/select.ll,
    we now generate this for foldSel3:
    
    foldSel3:
            mov %AL, BYTE PTR [%ESP + 4]
            fld DWORD PTR [%ESP + 8]
            fld DWORD PTR [%ESP + 12]
            mov %EAX, DWORD PTR [%ESP + 16]
            mov %ECX, DWORD PTR [%ESP + 20]
            cmp %EAX, %ECX
            fxch %ST(1)
            fcmovae %ST(0), %ST(1)
    ***     fstp %ST(1)
            ret
    
    Instead of:
    
    foldSel3:
            mov %AL, BYTE PTR [%ESP + 4]
            fld DWORD PTR [%ESP + 8]
            fld DWORD PTR [%ESP + 12]
            mov %EAX, DWORD PTR [%ESP + 16]
            mov %ECX, DWORD PTR [%ESP + 20]
            cmp %EAX, %ECX
            fxch %ST(1)
            fcmovae %ST(0), %ST(1)
    ***     fxch %ST(1)
    ***     fstp %ST(0)
            ret
    
    In practice, this only effects code size: performance should be basically
    unaffected.
    
    llvm-svn: 12588
    bc7e35b3
Loading