Skip to content
Snippets Groups Projects
  • H.J. Lu's avatar
    6395ba73
    libgcc2.c: Correct DI/TI -> SF/DF conversions · 6395ba73
    H.J. Lu authored
    FSTYPE FUNC (DWtype u) in libgcc2.c, which converts DI/TI to SF/DF, has
    
      /* No leading bits means u == minimum.  */
      if (count == 0)
        return -(Wtype_MAXp1_F * (Wtype_MAXp1_F / 2));
    
    in the third case (where actually count == 0 only means the high part is
    minimum).  It should be:
    
      /* No leading bits means u == minimum.  */
      if (count == 0)
        return Wtype_MAXp1_F * (FSTYPE) (hi | ((UWtype) u != 0));
    
    instead.
    
    gcc/testsuite/
    
    2019-01-23  H.J. Lu  <hongjiu.lu@intel.com>
    
    	PR libgcc/88931
    	* gcc.dg/torture/fp-int-convert-timode-1.c: New test.
    	* gcc.dg/torture/fp-int-convert-timode-2.c: Likewise.
    	* gcc.dg/torture/fp-int-convert-timode-3.c: Likewise.
    	* gcc.dg/torture/fp-int-convert-timode-4.c: Likewise.
    
    libgcc/
    
    2019-01-23  Joseph Myers  <joseph@codesourcery.com>
    
    	PR libgcc/88931
    	* libgcc2.c (FSTYPE FUNC (DWtype u)): Correct no leading bits
    	case.
    
    From-SVN: r268216
    6395ba73
    History
    libgcc2.c: Correct DI/TI -> SF/DF conversions
    H.J. Lu authored
    FSTYPE FUNC (DWtype u) in libgcc2.c, which converts DI/TI to SF/DF, has
    
      /* No leading bits means u == minimum.  */
      if (count == 0)
        return -(Wtype_MAXp1_F * (Wtype_MAXp1_F / 2));
    
    in the third case (where actually count == 0 only means the high part is
    minimum).  It should be:
    
      /* No leading bits means u == minimum.  */
      if (count == 0)
        return Wtype_MAXp1_F * (FSTYPE) (hi | ((UWtype) u != 0));
    
    instead.
    
    gcc/testsuite/
    
    2019-01-23  H.J. Lu  <hongjiu.lu@intel.com>
    
    	PR libgcc/88931
    	* gcc.dg/torture/fp-int-convert-timode-1.c: New test.
    	* gcc.dg/torture/fp-int-convert-timode-2.c: Likewise.
    	* gcc.dg/torture/fp-int-convert-timode-3.c: Likewise.
    	* gcc.dg/torture/fp-int-convert-timode-4.c: Likewise.
    
    libgcc/
    
    2019-01-23  Joseph Myers  <joseph@codesourcery.com>
    
    	PR libgcc/88931
    	* libgcc2.c (FSTYPE FUNC (DWtype u)): Correct no leading bits
    	case.
    
    From-SVN: r268216