Skip to content
  1. Feb 02, 2009
  2. Feb 01, 2009
  3. Jan 31, 2009
  4. Jan 30, 2009
  5. Jan 29, 2009
  6. Jan 28, 2009
  7. Jan 27, 2009
  8. Jan 26, 2009
  9. Jan 25, 2009
  10. Jan 24, 2009
  11. Jan 23, 2009
  12. Jan 22, 2009
  13. Jan 21, 2009
  14. Jan 20, 2009
  15. Jan 19, 2009
    • Evan Cheng's avatar
      DIVREM isel deficiency: If sign bit is known zero, zero out DX/EDX/RDX instead... · 44cc5543
      Evan Cheng authored
      DIVREM isel deficiency: If sign bit is known zero, zero out DX/EDX/RDX instead of sign extending the low part (in AX/EAX/RAX) into it.
      
      llvm-svn: 62519
      44cc5543
    • 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
Loading