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: [PATCH, rs6000] Fix PR83332 (missing vcond patterns)


Hi!

On Mon, Dec 11, 2017 at 03:55:20PM -0600, Bill Schmidt wrote:
> A new test case introduced for PR81303 failed on powerpc64 (BE, LE).  This
> turns out to be due to a missing standard pattern (vcondv2div2df).  This
> and a couple of other patterns are easy to support with existing logic
> by just adding new patterns with appropriate modes.  That's all this patch
> does.  That's sufficient to cause the failing test to pass.

Nitpicking:

> +(define_expand "vcondv2dfv2di"
> +  [(set (match_operand:V2DF 0 "vfloat_operand" "")

No empty default "" arguments please.

> +	(if_then_else:V2DF
> +	 (match_operator 3 "comparison_operator"
> +			 [(match_operand:V2DI 4 "vint_operand" "")
> +			  (match_operand:V2DI 5 "vint_operand" "")])
> +	 (match_operand:V2DF 1 "vfloat_operand" "")
> +	 (match_operand:V2DF 2 "vfloat_operand" "")))]
> +  "VECTOR_UNIT_ALTIVEC_OR_VSX_P (V2DFmode)
> +   && VECTOR_UNIT_ALTIVEC_OR_VSX_P (V2DImode)"
> +  "
> +{
> +  if (rs6000_emit_vector_cond_expr (operands[0], operands[1], operands[2],
> +				    operands[3], operands[4], operands[5]))
> +    DONE;
> +  else
> +    FAIL;
> +}")

And no "" around the block.

Okay for trunk with that fixed up.  Thanks!


Segher


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