This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH], PR target/70640, Fix thinkos in PowerPC IEEE 128-bit floating point emulation
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Michael Meissner <meissner at linux dot vnet dot ibm dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 12 Apr 2016 15:18:56 -0400
- Subject: Re: [PATCH], PR target/70640, Fix thinkos in PowerPC IEEE 128-bit floating point emulation
- Authentication-results: sourceware.org; auth=none
- References: <20160412191122 dot GA19415 at ibm-tiger dot the-meissners dot org>
On Tue, Apr 12, 2016 at 3:11 PM, Michael Meissner
<meissner@linux.vnet.ibm.com> wrote:
> After I moved the patches for the 70381 to my internal branch for GCC 7.0
> submissions, I noticed test float128-1.c was failing. I tracked it down to the
> fact that the pre-gcc7 branch defaults to using LRA on by default instead of
> reload.
>
> I tracked this down to using a "=" constraint on an input argument. LRA deletes
> the insns that setup the input argument, since it believed it was an output
> only argument:
>
> (define_insn "*ieee_128bit_vsx_neg<mode>2_internal"
> [(set (match_operand:IEEE128 0 "register_operand" "=wa")
> (neg:IEEE128 (match_operand:IEEE128 1 "register_operand" "wa")))
> (use (match_operand:V16QI 2 "register_operand" "=v"))]
> "TARGET_FLOAT128 && !TARGET_FLOAT128_HW"
> "xxlxor %x0,%x1,%x2"
> [(set_attr "type" "vecsimple")])
>
> I have checked this by bootstrapping and doing a make check. There were no
> regressions. Is it ok to check into the trunk?
>
> [gcc]
> 2016-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
>
> PR target/70680
> * config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal):
> Do not use "=" constraint on an input constraint.
> (ieee_128bit_vsx_abs<mode>2_internal): Likewise.
> (ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
> (ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it
> generates (neg (abs ...)) instead of (abs ...).
>
> [gcc/testsuite]
> 2016-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
>
> PR target/70680
> * gcc.target/powerpc/pr70640.c: New test.
Okay.
Thanks, David