public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] fix vfmsubaddpd/vfmaddsubpd generation
@ 2011-05-18  6:34 Quentin Neill
  0 siblings, 0 replies; 3+ messages in thread
From: Quentin Neill @ 2011-05-18  6:34 UTC (permalink / raw)
  To: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 341 bytes --]

This patch fixes an obvious problem: the fma4_fmsubadd/fma4_fmaddsub
instruction templates don't generate vfmsubaddpd/vfmaddsubpd because
they don't use <ssemodesuffix>

This passes bootstrap on x86_64 on trunk.  Okay to commit?

BTW, I'm testing on gcc-4_6-branch.  Should I post a different patch
thread, or just use this one?
-- 
Quentin

[-- Attachment #2: 1901-2011_05_17-harsha.jagasia_amd_com-vfmaddsub-patch.txt --]
[-- Type: text/plain, Size: 1597 bytes --]

From aa70d4f6180f1c6712888b7328723232b5da8bdc Mon Sep 17 00:00:00 2001
From: Quentin Neill <quentin.neill@amd.com>
Date: Tue, 17 May 2011 10:24:17 -0500
Subject: [PATCH] 2011-05-17  Harsha Jagasia  <harsha.jagasia@amd.com>

	* config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
	(fma4_fmaddsub): Likewise
---
 gcc/ChangeLog          |    5 +++++
 gcc/config/i386/sse.md |    4 ++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3625d9b..e86ea4e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-05-17  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+	* config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
+	(fma4_fmaddsub): Likewise
+
 2011-05-17  Richard Guenther  <rguenther@suse.de>
 
 	* gimple.c (iterative_hash_gimple_type): Simplify singleton
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 291bffb..7c4e6dd 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -1663,7 +1663,7 @@
 	   (match_operand:VF 3 "nonimmediate_operand" "xm,x")]
 	  UNSPEC_FMADDSUB))]
   "TARGET_FMA4"
-  "vfmaddsubps\t{%3, %2, %1, %0|%0, %1, %2, %3}"
+  "vfmaddsubp<ssemodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
   [(set_attr "type" "ssemuladd")
    (set_attr "mode" "<MODE>")])
 
@@ -1676,7 +1676,7 @@
 	     (match_operand:VF 3 "nonimmediate_operand" "xm,x"))]
 	  UNSPEC_FMADDSUB))]
   "TARGET_FMA4"
-  "vfmsubaddps\t{%3, %2, %1, %0|%0, %1, %2, %3}"
+  "vfmsubaddp<ssemodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
   [(set_attr "type" "ssemuladd")
    (set_attr "mode" "<MODE>")])
 
-- 
1.7.1


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

* Re: [PATCH] fix vfmsubaddpd/vfmaddsubpd generation
  2011-05-18 17:21 Uros Bizjak
@ 2011-05-19 18:25 ` Quentin Neill
  0 siblings, 0 replies; 3+ messages in thread
From: Quentin Neill @ 2011-05-19 18:25 UTC (permalink / raw)
  To: Uros Bizjak, gcc-patches

On Wed, May 18, 2011 at 10:32 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
> Hello!
>
>> This patch fixes an obvious problem: the fma4_fmsubadd/fma4_fmaddsub
>> instruction templates don't generate vfmsubaddpd/vfmaddsubpd because
>> they don't use <ssemodesuffix>
>>
>> This passes bootstrap on x86_64 on trunk.  Okay to commit?
>
> See comments in the code.
>
>> BTW, I'm testing on gcc-4_6-branch.  Should I post a different patch
>> thread, or just use this one?
>
> No, the patch is clear and simple enough, you don't need to post it twice.
>
> diff --git a/gcc/ChangeLog b/gcc/ChangeLog
> index 3625d9b..e86ea4e 100644
> --- a/gcc/ChangeLog
> +++ b/gcc/ChangeLog
> @@ -1,3 +1,8 @@
> +2011-05-17  Harsha Jagasia  <harsha.jagasia@amd.com>
> +
> +       * config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
> +       (fma4_fmaddsub): Likewise
> +
>  2011-05-17  Richard Guenther  <rguenther@suse.de>
>
> ChangeLog should be included in the message body, not in the patch.
> Please see [1] for details.
>
>        * gimple.c (iterative_hash_gimple_type): Simplify singleton
> diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
> index 291bffb..7c4e6dd 100644
> --- a/gcc/config/i386/sse.md
> +++ b/gcc/config/i386/sse.md
> @@ -1663,7 +1663,7 @@
>           (match_operand:VF 3 "nonimmediate_operand" "xm,x")]
>          UNSPEC_FMADDSUB))]
>   "TARGET_FMA4"
> -  "vfmaddsubps\t{%3, %2, %1, %0|%0, %1, %2, %3}"
> +  "vfmaddsubp<ssemodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
>   [(set_attr "type" "ssemuladd")
>    (set_attr "mode" "<MODE>")])
>
> No, <ssemodesuffix> mode attribute resolves to ps and pd for VF mode
> iterator, so "vfmaddsub<ssemodesuffix>".
>
> @@ -1676,7 +1676,7 @@
>             (match_operand:VF 3 "nonimmediate_operand" "xm,x"))]
>          UNSPEC_FMADDSUB))]
>   "TARGET_FMA4"
> -  "vfmsubaddps\t{%3, %2, %1, %0|%0, %1, %2, %3}"
> +  "vfmsubaddp<ssemodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
>   [(set_attr "type" "ssemuladd")
>    (set_attr "mode" "<MODE>")])
>
> Same here.
>
> OK everywhere with these two changes.
>
> [1] http://gcc.gnu.org/contribute.html.
>
> Thanks,
> Uros.

Uros,

Thanks for the feedback and gentle reminder.

I will apply your changes, retesting on both branches, and then commit.
-- 
Quentin

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

* Re: [PATCH] fix vfmsubaddpd/vfmaddsubpd generation
@ 2011-05-18 17:21 Uros Bizjak
  2011-05-19 18:25 ` Quentin Neill
  0 siblings, 1 reply; 3+ messages in thread
From: Uros Bizjak @ 2011-05-18 17:21 UTC (permalink / raw)
  To: gcc-patches; +Cc: Quentin Neill

Hello!

> This patch fixes an obvious problem: the fma4_fmsubadd/fma4_fmaddsub
> instruction templates don't generate vfmsubaddpd/vfmaddsubpd because
> they don't use <ssemodesuffix>
>
> This passes bootstrap on x86_64 on trunk.  Okay to commit?

See comments in the code.

> BTW, I'm testing on gcc-4_6-branch.  Should I post a different patch
> thread, or just use this one?

No, the patch is clear and simple enough, you don't need to post it twice.

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3625d9b..e86ea4e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-05-17  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+	* config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
+	(fma4_fmaddsub): Likewise
+
 2011-05-17  Richard Guenther  <rguenther@suse.de>

ChangeLog should be included in the message body, not in the patch.
Please see [1] for details.

 	* gimple.c (iterative_hash_gimple_type): Simplify singleton
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 291bffb..7c4e6dd 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -1663,7 +1663,7 @@
 	   (match_operand:VF 3 "nonimmediate_operand" "xm,x")]
 	  UNSPEC_FMADDSUB))]
   "TARGET_FMA4"
-  "vfmaddsubps\t{%3, %2, %1, %0|%0, %1, %2, %3}"
+  "vfmaddsubp<ssemodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
   [(set_attr "type" "ssemuladd")
    (set_attr "mode" "<MODE>")])

No, <ssemodesuffix> mode attribute resolves to ps and pd for VF mode
iterator, so "vfmaddsub<ssemodesuffix>".

@@ -1676,7 +1676,7 @@
 	     (match_operand:VF 3 "nonimmediate_operand" "xm,x"))]
 	  UNSPEC_FMADDSUB))]
   "TARGET_FMA4"
-  "vfmsubaddps\t{%3, %2, %1, %0|%0, %1, %2, %3}"
+  "vfmsubaddp<ssemodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
   [(set_attr "type" "ssemuladd")
    (set_attr "mode" "<MODE>")])

Same here.

OK everywhere with these two changes.

[1] http://gcc.gnu.org/contribute.html.

Thanks,
Uros.

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

end of thread, other threads:[~2011-05-19 16:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-18  6:34 [PATCH] fix vfmsubaddpd/vfmaddsubpd generation Quentin Neill
2011-05-18 17:21 Uros Bizjak
2011-05-19 18:25 ` Quentin Neill

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).