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