This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA: MIPS paired single support


At Fri, 20 Aug 2004 08:44:30 +0000 (UTC), "Richard Sandiford" wrote:
> + (define_insn "mips_recip1_s"
> +   [(set (match_operand:SF 0 "register_operand" "=f")
> + 	(unspec:SF [(match_operand:SF 1 "register_operand" "f")]
> + 		   UNSPEC_RECIP1_S))]
> +   "TARGET_MIPS3D"
> +   "recip1.s\t%0,%1"
> +   [(set_attr "type"	"frsqrt")
> +    (set_attr "mode"	"SF")])
> 
> Wouldn't the new frdiv be more appropriate than frsqrt?

well, the compiler won't choose these automatically anyway...  but
since these are meant to be even less resource-intensive (cycles,
pipeline, etc.) than recip.FMT, one would think they might use yet
another different type addribute.


> +   {"paired-single",       MASK_PAIRED_SINGLE,				\
> +      N_("Use paired-single floating point instructions")},		\
> +   {"ips3d",               MASK_MIPS3D,					\
> +      N_("Use MIPS-3D instructions")},					\
> 
> You check:
> 
> +   if (TARGET_MIPS3D && (target_flags_explicit & MASK_PAIRED_SINGLE)
> +       && !TARGET_PAIRED_SINGLE_FLOAT)
> +     error ("-mips3d requires -mpaired-single");
> 
> but there's no way for paired single operations to be turned off.

probably should be a way.  8-)




chris


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]