Skip to content
  1. Feb 23, 2009
  2. Feb 22, 2009
  3. Feb 20, 2009
  4. Feb 17, 2009
  5. Feb 13, 2009
  6. Feb 12, 2009
  7. Feb 07, 2009
  8. Feb 06, 2009
  9. Feb 04, 2009
  10. Feb 03, 2009
  11. Feb 02, 2009
  12. Feb 01, 2009
  13. Jan 31, 2009
  14. Jan 30, 2009
  15. Jan 29, 2009
  16. Jan 28, 2009
  17. Jan 26, 2009
  18. Jan 22, 2009
  19. Jan 19, 2009
    • Evan Cheng's avatar
      Minor tweak to LowerUINT_TO_FP_i32. Bias (after scalar_to_vector) has two uses... · 8f367e53
      Evan Cheng authored
      Minor tweak to LowerUINT_TO_FP_i32. Bias (after scalar_to_vector) has two uses so we should make it the second source operand of ISD::OR so 2-address pass won't have to be smart about commuting.
      
      %reg1024<def> = MOVSDrm %reg0, 1, %reg0, <cp#0>, Mem:LD(8,8) [ConstantPool + 0]
      %reg1025<def> = MOVSD2PDrr %reg1024
      %reg1026<def> = MOVDI2PDIrm <fi#-1>, 1, %reg0, 0, Mem:LD(4,16) [FixedStack-1 + 0]
      %reg1027<def> = ORPSrr %reg1025<kill>, %reg1026<kill>
      %reg1028<def> = MOVPD2SDrr %reg1027<kill>
      %reg1029<def> = SUBSDrr %reg1028<kill>, %reg1024<kill>
      %reg1030<def> = CVTSD2SSrr %reg1029<kill>
      MOVSSmr <fi#0>, 1, %reg0, 0, %reg1030<kill>, Mem:ST(4,4) [FixedStack0 + 0]
      %reg1031<def> = LD_Fp32m80 <fi#0>, 1, %reg0, 0, Mem:LD(4,16) [FixedStack0 + 0]
      RET %reg1031<kill>, %ST0<imp-use,kill>
      
      The reason 2-addr pass isn't smart enough to commute the ORPSrr is because it can't look pass the MOVSD2PDrr instruction.
      
      llvm-svn: 62505
      8f367e53
    • Evan Cheng's avatar
      Now not UINT_TO_FP is legal (it's marked custom), dag combiner won't · 7e9ef4d7
      Evan Cheng authored
      optimize it to a SINT_TO_FP when the sign bit is known zero. X86 isel should perform the optimization itself.
      
      llvm-svn: 62504
      7e9ef4d7
  20. Jan 17, 2009
  21. Jan 16, 2009
Loading