public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] [ARC] Use hardware support for double-precision compare instructions.
@ 2019-12-09  9:52 Claudiu Zissulescu
  2019-12-11 18:59 ` Jeff Law
  2020-01-14 23:53 ` Vineet Gupta
  0 siblings, 2 replies; 5+ messages in thread
From: Claudiu Zissulescu @ 2019-12-09  9:52 UTC (permalink / raw)
  To: gcc-patches; +Cc: claziss, andrew.burgess, vgupta

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]);
-- 
2.23.0

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] [ARC] Use hardware support for double-precision compare instructions.
  2019-12-09  9:52 [PATCH] [ARC] Use hardware support for double-precision compare instructions Claudiu Zissulescu
@ 2019-12-11 18:59 ` Jeff Law
  2019-12-12  9:32   ` Claudiu Zissulescu Ianculescu
  2020-01-14 23:53 ` Vineet Gupta
  1 sibling, 1 reply; 5+ messages in thread
From: Jeff Law @ 2019-12-11 18:59 UTC (permalink / raw)
  To: Claudiu Zissulescu, gcc-patches; +Cc: claziss, andrew.burgess, vgupta

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] [ARC] Use hardware support for double-precision compare instructions.
  2019-12-11 18:59 ` Jeff Law
@ 2019-12-12  9:32   ` Claudiu Zissulescu Ianculescu
  0 siblings, 0 replies; 5+ messages in thread
From: Claudiu Zissulescu Ianculescu @ 2019-12-12  9:32 UTC (permalink / raw)
  To: Jeff Law; +Cc: gcc-patches, claziss@gmail.com, Andrew Burgess, Vineet Gupta

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
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] [ARC] Use hardware support for double-precision compare instructions.
  2019-12-09  9:52 [PATCH] [ARC] Use hardware support for double-precision compare instructions Claudiu Zissulescu
  2019-12-11 18:59 ` Jeff Law
@ 2020-01-14 23:53 ` Vineet Gupta
  2020-01-17 11:29   ` Claudiu Zissulescu Ianculescu
  1 sibling, 1 reply; 5+ messages in thread
From: Vineet Gupta @ 2020-01-14 23:53 UTC (permalink / raw)
  To: Claudiu Zissulescu, gcc-patches; +Cc: Claudiu Zissulescu, andrew.burgess

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] [ARC] Use hardware support for double-precision compare instructions.
  2020-01-14 23:53 ` Vineet Gupta
@ 2020-01-17 11:29   ` Claudiu Zissulescu Ianculescu
  0 siblings, 0 replies; 5+ messages in thread
From: Claudiu Zissulescu Ianculescu @ 2020-01-17 11:29 UTC (permalink / raw)
  To: Vineet Gupta; +Cc: gcc-patches, Claudiu Zissulescu, andrew.burgess

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-01-17 11:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-09  9:52 [PATCH] [ARC] Use hardware support for double-precision compare instructions Claudiu Zissulescu
2019-12-11 18:59 ` Jeff Law
2019-12-12  9:32   ` Claudiu Zissulescu Ianculescu
2020-01-14 23:53 ` Vineet Gupta
2020-01-17 11:29   ` Claudiu Zissulescu Ianculescu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).