On Wed, 17 Jun 2015, Richard Sandiford wrote:

> and the one mips-ps-3d.md:
> 
> (define_expand "mips_abs_ps"
>   [(set (match_operand:V2SF 0 "register_operand")
>       (unspec:V2SF [(match_operand:V2SF 1 "register_operand")]
>                    UNSPEC_ABS_PS))]
>   "TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT"
> {
>   /* If we can ignore NaNs, this operation is equivalent to the
>      rtl ABS code.  */
>   if (!HONOR_NANS (V2SFmode))
>     {
>       emit_insn (gen_absv2sf2 (operands[0], operands[1]));
>       DONE;
>     }
> })

 Hmm, I wonder whether this one shouldn't really be:

   if (mips_abs == MIPS_IEEE_754_2008 || !HONOR_NANS (V2SFmode))

as even though not explicitly specified for an ABS2008 implementation 
that also supports the MIPS-3D ASE, I'd say ABS.PS is supposed to be 
consistent with ABS.D and ABS.S and respect FCSR.ABS2008.

  Maciej

Reply via email to