Message ID | 20120821150527.GA22965@intel.com |
---|---|
State | New |
Headers | show |
On Tue, Aug 21, 2012 at 5:05 PM, H.J. Lu <hongjiu.lu@intel.com> wrote: > long double may not be 80-bit on i386. We can't use > REAL_VALUE_TO_TARGET_LONG_DOUBLE for XFmode. This patch replaces > REAL_VALUE_TO_TARGET_LONG_DOUBLE with real_to_target. OK to install? > > Thanks. > > H.J. > --- > 2012-08-21 H.J. Lu <hongjiu.lu@intel.com> > > PR target/54347 > * config/i386/i386.c (ix86_split_to_parts): Replace > REAL_VALUE_TO_TARGET_LONG_DOUBLE with real_to_target. OK. Thanks, Uros.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 5da4da2..a6fc45b 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -20743,7 +20743,9 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode) parts[2] = gen_int_mode (l[2], SImode); break; case XFmode: - REAL_VALUE_TO_TARGET_LONG_DOUBLE (r, l); + /* We can't use REAL_VALUE_TO_TARGET_LONG_DOUBLE since + long double may not be 80-bit. */ + real_to_target (l, &r, mode); parts[2] = gen_int_mode (l[2], SImode); break; case DFmode: