Hi Carl,

On Wed, Jun 10, 2020 at 09:05:36AM -0700, Carl Love wrote:
> I committed this patch to mainline and backported to GCC 9.  
> 
> I have looked at GCC 8.  The functional issue is there, i.e. the
> vcmpnez is used instead of vcmpne.  However the test case 
> builtins-8-p9-runnable.c does not exist in GCC 8.  The patch consists
> of the functional fix:
> 
> --- a/gcc/config/rs6000/vsx.md
> +++ b/gcc/config/rs6000/vsx.md
> @@ -4803,8 +4803,8 @@
>    rtx cmp_result = gen_reg_rtx (<MODE>mode);
>    rtx not_result = gen_reg_rtx (<MODE>mode);
> 
> -  emit_insn (gen_vcmpnez<VSX_EXTRACT_WIDTH> (cmp_result, operands[1],
> -                                            operands[2]));
> +  emit_insn (gen_vcmpne<VSX_EXTRACT_WIDTH> (cmp_result, operands[1],
> +                                           operands[2]));
>    emit_insn (gen_one_cmpl<mode>2 (not_result, cmp_result));
> 
>    sh = GET_MODE_SIZE (GET_MODE_INNER (<MODE>mode)) / 2;
> 
> So, I am a bit unsure how to proceed.  I think we need the functional
> change.  But without applying the test cases fixes I don't feel that I
> am really backporting the patch as approved for backporting. 
> 
> I think we could reference the mainline commit, as we always do when
> backporting, but then note the test case fix was not included since the
> testcase does not exist.  Would that be OK?

Yes, that is fine, this fix is obvious enough :-)

You could also include the whole testcase from trunk (or 9), but that
can be quite a bit of (testing) work, and is it worth it at all.

> Please let me know how you would like me to handle this issue.

Either way is okay (I'd go for just the 2-line patch).

Thanks,


Segher

Reply via email to