Message ID | 20191209095229.5572-1-claziss@gmail.com |
---|---|
State | New |
Headers | show |
Series | [ARC] Use hardware support for double-precision compare instructions. | expand |
On Mon, 2019-12-09 at 11:52 +0200, Claudiu Zissulescu wrote: > Although the FDCMP (the double precision floating point compare > instruction) is added to the compiler, it is not properly used via > cstoredi pattern. Fix it. > > OK to apply? > Claudidu > > xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> > > * config/arc/arc.md (iterator SDF): Check TARGET_FP_DP_BASE. > (cstoredi4): Use TARGET_HARD_FLOAT. OK jeff
Thank you for your review. Patch pushed to mainline and gcc9 branch. //Claudiu On Wed, Dec 11, 2019 at 8:59 PM Jeff Law <law@redhat.com> wrote: > > On Mon, 2019-12-09 at 11:52 +0200, Claudiu Zissulescu wrote: > > Although the FDCMP (the double precision floating point compare > > instruction) is added to the compiler, it is not properly used via > > cstoredi pattern. Fix it. > > > > OK to apply? > > Claudidu > > > > xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> > > > > * config/arc/arc.md (iterator SDF): Check TARGET_FP_DP_BASE. > > (cstoredi4): Use TARGET_HARD_FLOAT. > OK > jeff >
On 12/9/19 1:52 AM, Claudiu Zissulescu wrote: > Although the FDCMP (the double precision floating point compare instruction) is added to the compiler, it is not properly used via cstoredi pattern. Fix it. > > OK to apply? > Claudidu > > xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> > > * config/arc/arc.md (iterator SDF): Check TARGET_FP_DP_BASE. > (cstoredi4): Use TARGET_HARD_FLOAT. > --- > gcc/config/arc/arc.md | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md > index b592f25afce..bd44030b409 100644 > --- a/gcc/config/arc/arc.md > +++ b/gcc/config/arc/arc.md > @@ -3749,7 +3749,7 @@ archs4x, archs4xd" > }) > > (define_mode_iterator SDF [(SF "TARGET_FP_SP_BASE || TARGET_OPTFPE") > - (DF "TARGET_OPTFPE")]) > + (DF "TARGET_FP_DP_BASE || TARGET_OPTFPE")]) > > (define_expand "cstore<mode>4" > [(set (reg:CC CC_REG) > @@ -3759,7 +3759,7 @@ archs4x, archs4xd" > (match_operator:SI 1 "comparison_operator" [(reg CC_REG) > (const_int 0)]))] > > - "TARGET_FP_SP_BASE || TARGET_OPTFPE" > + "TARGET_HARD_FLOAT || TARGET_OPTFPE" > { > gcc_assert (XEXP (operands[1], 0) == operands[2]); > gcc_assert (XEXP (operands[1], 1) == operands[3]); Can this be backported to gcc-9 please ? glibc testing uses gcc-9 Thx, -Vineet
It is already ported :) https://github.com/gcc-mirror/gcc/commit/555e4a053951a0ae24835a266e71819336d7f637#diff-5b8bd26eec6c2b9f560870c205416edc Cheers, Claudiu On Wed, Jan 15, 2020 at 1:49 AM Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote: > > On 12/9/19 1:52 AM, Claudiu Zissulescu wrote: > > Although the FDCMP (the double precision floating point compare instruction) is added to the compiler, it is not properly used via cstoredi pattern. Fix it. > > > > OK to apply? > > Claudidu > > > > xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> > > > > * config/arc/arc.md (iterator SDF): Check TARGET_FP_DP_BASE. > > (cstoredi4): Use TARGET_HARD_FLOAT. > > --- > > gcc/config/arc/arc.md | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md > > index b592f25afce..bd44030b409 100644 > > --- a/gcc/config/arc/arc.md > > +++ b/gcc/config/arc/arc.md > > @@ -3749,7 +3749,7 @@ archs4x, archs4xd" > > }) > > > > (define_mode_iterator SDF [(SF "TARGET_FP_SP_BASE || TARGET_OPTFPE") > > - (DF "TARGET_OPTFPE")]) > > + (DF "TARGET_FP_DP_BASE || TARGET_OPTFPE")]) > > > > (define_expand "cstore<mode>4" > > [(set (reg:CC CC_REG) > > @@ -3759,7 +3759,7 @@ archs4x, archs4xd" > > (match_operator:SI 1 "comparison_operator" [(reg CC_REG) > > (const_int 0)]))] > > > > - "TARGET_FP_SP_BASE || TARGET_OPTFPE" > > + "TARGET_HARD_FLOAT || TARGET_OPTFPE" > > { > > gcc_assert (XEXP (operands[1], 0) == operands[2]); > > gcc_assert (XEXP (operands[1], 1) == operands[3]); > > Can this be backported to gcc-9 please ? > glibc testing uses gcc-9 > > Thx, > -Vineet
diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md index b592f25afce..bd44030b409 100644 --- a/gcc/config/arc/arc.md +++ b/gcc/config/arc/arc.md @@ -3749,7 +3749,7 @@ archs4x, archs4xd" }) (define_mode_iterator SDF [(SF "TARGET_FP_SP_BASE || TARGET_OPTFPE") - (DF "TARGET_OPTFPE")]) + (DF "TARGET_FP_DP_BASE || TARGET_OPTFPE")]) (define_expand "cstore<mode>4" [(set (reg:CC CC_REG) @@ -3759,7 +3759,7 @@ archs4x, archs4xd" (match_operator:SI 1 "comparison_operator" [(reg CC_REG) (const_int 0)]))] - "TARGET_FP_SP_BASE || TARGET_OPTFPE" + "TARGET_HARD_FLOAT || TARGET_OPTFPE" { gcc_assert (XEXP (operands[1], 0) == operands[2]); gcc_assert (XEXP (operands[1], 1) == operands[3]);