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