public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH][ARM] Define predicable attribute for arm_abssi2 and arm_neg_abssi2
@ 2012-11-19 17:51 Kyrylo Tkachov
  2012-11-19 18:05 ` Ramana Radhakrishnan
  2012-11-20  9:17 ` Richard Earnshaw
  0 siblings, 2 replies; 6+ messages in thread
From: Kyrylo Tkachov @ 2012-11-19 17:51 UTC (permalink / raw)
  To: gcc-patches; +Cc: Richard Earnshaw, Ramana Radhakrishnan

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

Hi all,
This patch updates the arm_abssi2 and arm_neg_abssi2 patterns in the ARM
machine description.
We define the predicable attribute based on the alternative. When the
patterns were introduced it was not possible to do that.
Now the second alternative in each of the patterns that supports predication
is defined as predicable.

No regressions on arm-none-eabi with qemu.

Ok for trunk?

Thanks,
Kyrill


gcc/ChangeLog

2012-11-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.md (*arm_abssi2): Define predicable attribute.
	(*arm_neg_abssi2): Define predicable attribute.

[-- Attachment #2: abssi_predicable.txt --]
[-- Type: text/plain, Size: 698 bytes --]

--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -4263,7 +4263,7 @@ (define_insn "*arm_abssi2"
    eor%?\\t%0, %1, %1, asr #31\;sub%?\\t%0, %0, %1, asr #31"
   [(set_attr "conds" "clob,*")
    (set_attr "shift" "1")
-   ;; predicable can't be set based on the variant, so left as no
+   (set_attr "predicable" "no, yes")
    (set_attr "length" "8")]
 )
 
@@ -4291,7 +4291,7 @@ (define_insn "*arm_neg_abssi2"
    eor%?\\t%0, %1, %1, asr #31\;rsb%?\\t%0, %0, %1, asr #31"
   [(set_attr "conds" "clob,*")
    (set_attr "shift" "1")
-   ;; predicable can't be set based on the variant, so left as no
+   (set_attr "predicable" "no, yes")
    (set_attr "length" "8")]
 )
 

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

* Re: [PATCH][ARM] Define predicable attribute for arm_abssi2 and arm_neg_abssi2
  2012-11-19 17:51 [PATCH][ARM] Define predicable attribute for arm_abssi2 and arm_neg_abssi2 Kyrylo Tkachov
@ 2012-11-19 18:05 ` Ramana Radhakrishnan
  2012-11-20 10:25   ` Kyrylo Tkachov
  2012-11-20  9:17 ` Richard Earnshaw
  1 sibling, 1 reply; 6+ messages in thread
From: Ramana Radhakrishnan @ 2012-11-19 18:05 UTC (permalink / raw)
  To: Kyrylo Tkachov; +Cc: gcc-patches, Richard Earnshaw

On 11/19/12 17:51, Kyrylo Tkachov wrote:
> Hi all,
> This patch updates the arm_abssi2 and arm_neg_abssi2 patterns in the ARM
> machine description.
> We define the predicable attribute based on the alternative. When the
> patterns were introduced it was not possible to do that.
> Now the second alternative in each of the patterns that supports predication
> is defined as predicable.
>
> No regressions on arm-none-eabi with qemu.
>
> Ok for trunk?

Ok, please apply.

Ramana


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

* Re: [PATCH][ARM] Define predicable attribute for arm_abssi2 and arm_neg_abssi2
  2012-11-19 17:51 [PATCH][ARM] Define predicable attribute for arm_abssi2 and arm_neg_abssi2 Kyrylo Tkachov
  2012-11-19 18:05 ` Ramana Radhakrishnan
@ 2012-11-20  9:17 ` Richard Earnshaw
  1 sibling, 0 replies; 6+ messages in thread
From: Richard Earnshaw @ 2012-11-20  9:17 UTC (permalink / raw)
  To: Kyrylo Tkachov; +Cc: gcc-patches, Ramana Radhakrishnan

On 19/11/12 17:51, Kyrylo Tkachov wrote:
> Hi all,
> This patch updates the arm_abssi2 and arm_neg_abssi2 patterns in the ARM
> machine description.
> We define the predicable attribute based on the alternative. When the
> patterns were introduced it was not possible to do that.
> Now the second alternative in each of the patterns that supports predication
> is defined as predicable.
>
> No regressions on arm-none-eabi with qemu.
>
> Ok for trunk?
>
> Thanks,
> Kyrill
>
>
> gcc/ChangeLog
>
> 2012-11-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
>
> 	* config/arm/arm.md (*arm_abssi2): Define predicable attribute.
> 	(*arm_neg_abssi2): Define predicable attribute.
>
>

There are equivalent patterns in thumb2.md as well.  Could you fix those 
too, please.

R.

> abssi_predicable.txt
>
>
> --- a/gcc/config/arm/arm.md
> +++ b/gcc/config/arm/arm.md
> @@ -4263,7 +4263,7 @@ (define_insn "*arm_abssi2"
>      eor%?\\t%0, %1, %1, asr #31\;sub%?\\t%0, %0, %1, asr #31"
>     [(set_attr "conds" "clob,*")
>      (set_attr "shift" "1")
> -   ;; predicable can't be set based on the variant, so left as no
> +   (set_attr "predicable" "no, yes")
>      (set_attr "length" "8")]
>   )
>
> @@ -4291,7 +4291,7 @@ (define_insn "*arm_neg_abssi2"
>      eor%?\\t%0, %1, %1, asr #31\;rsb%?\\t%0, %0, %1, asr #31"
>     [(set_attr "conds" "clob,*")
>      (set_attr "shift" "1")
> -   ;; predicable can't be set based on the variant, so left as no
> +   (set_attr "predicable" "no, yes")
>      (set_attr "length" "8")]
>   )
>
>


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

* RE: [PATCH][ARM] Define predicable attribute for arm_abssi2 and arm_neg_abssi2
  2012-11-19 18:05 ` Ramana Radhakrishnan
@ 2012-11-20 10:25   ` Kyrylo Tkachov
  2012-11-20 10:32     ` Richard Earnshaw
  0 siblings, 1 reply; 6+ messages in thread
From: Kyrylo Tkachov @ 2012-11-20 10:25 UTC (permalink / raw)
  To: gcc-patches; +Cc: Ramana Radhakrishnan, Richard Earnshaw

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

Hi all,
This is the updated version of the patch. It defines the predicable
attribute for the equivalent abssi2 and neg_abssi2 patterns in thumb2.md.
The previous version (with the changes only to arm.md) has been okayed but
not applied and this patch supersedes it.
The previous version is:
http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01578.html

No regressions for arm-none-eabi for qemu.

Ok for trunk?

Thanks,
Kyrill

gcc/ChangeLog

2012-11-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.md (*arm_abssi2): Define predicable attribute.
	(*arm_neg_abssi2): Likewise.
	* config/arm/thumb2.md (*thumb2_abssi2): Likewise.
	(*thumb2_neg_abssi2): Likewise.


-----Original Message-----
From: Ramana Radhakrishnan 
Sent: 19 November 2012 18:05
To: Kyrylo Tkachov
Cc: gcc-patches@gcc.gnu.org; Richard Earnshaw
Subject: Re: [PATCH][ARM] Define predicable attribute for arm_abssi2 and
arm_neg_abssi2

On 11/19/12 17:51, Kyrylo Tkachov wrote:
> Hi all,
> This patch updates the arm_abssi2 and arm_neg_abssi2 patterns in the ARM
> machine description.
> We define the predicable attribute based on the alternative. When the
> patterns were introduced it was not possible to do that.
> Now the second alternative in each of the patterns that supports
predication
> is defined as predicable.
>
> No regressions on arm-none-eabi with qemu.
>
> Ok for trunk?

Ok, please apply.

Ramana

[-- Attachment #2: abssi_predicable.txt --]
[-- Type: text/plain, Size: 1573 bytes --]

--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -4263,7 +4263,7 @@ (define_insn "*arm_abssi2"
    eor%?\\t%0, %1, %1, asr #31\;sub%?\\t%0, %0, %1, asr #31"
   [(set_attr "conds" "clob,*")
    (set_attr "shift" "1")
-   ;; predicable can't be set based on the variant, so left as no
+   (set_attr "predicable" "no, yes")
    (set_attr "length" "8")]
 )
 
@@ -4291,7 +4291,7 @@ (define_insn "*arm_neg_abssi2"
    eor%?\\t%0, %1, %1, asr #31\;rsb%?\\t%0, %0, %1, asr #31"
   [(set_attr "conds" "clob,*")
    (set_attr "shift" "1")
-   ;; predicable can't be set based on the variant, so left as no
+   (set_attr "predicable" "no, yes")
    (set_attr "length" "8")]
 )
 
diff --git a/gcc/config/arm/thumb2.md b/gcc/config/arm/thumb2.md
index a5302f479f5091d08f4bf1a9ee9b0423692372af..0000000000000000000000000000000000000000 100644
--- a/gcc/config/arm/thumb2.md
+++ b/gcc/config/arm/thumb2.md
@@ -141,7 +141,7 @@ (define_insn "*thumb2_abssi2"
    eor%?\\t%0, %1, %1, asr #31\;sub%?\\t%0, %0, %1, asr #31"
   [(set_attr "conds" "clob,*")
    (set_attr "shift" "1")
-   ;; predicable can't be set based on the variant, so left as no
+   (set_attr "predicable" "no, yes")
    (set_attr "length" "10,8")]
 )
 
@@ -155,7 +155,7 @@ (define_insn "*thumb2_neg_abssi2"
    eor%?\\t%0, %1, %1, asr #31\;rsb%?\\t%0, %0, %1, asr #31"
   [(set_attr "conds" "clob,*")
    (set_attr "shift" "1")
-   ;; predicable can't be set based on the variant, so left as no
+   (set_attr "predicable" "no, yes")
    (set_attr "length" "10,8")]
 )
 

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

* Re: [PATCH][ARM] Define predicable attribute for arm_abssi2 and arm_neg_abssi2
  2012-11-20 10:25   ` Kyrylo Tkachov
@ 2012-11-20 10:32     ` Richard Earnshaw
  2012-11-22 11:35       ` Kyrylo Tkachov
  0 siblings, 1 reply; 6+ messages in thread
From: Richard Earnshaw @ 2012-11-20 10:32 UTC (permalink / raw)
  To: Kyrylo Tkachov; +Cc: gcc-patches, Ramana Radhakrishnan

On 20/11/12 10:25, Kyrylo Tkachov wrote:
> Hi all,
> This is the updated version of the patch. It defines the predicable
> attribute for the equivalent abssi2 and neg_abssi2 patterns in thumb2.md.
> The previous version (with the changes only to arm.md) has been okayed but
> not applied and this patch supersedes it.
> The previous version is:
> http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01578.html
>
> No regressions for arm-none-eabi for qemu.
>
> Ok for trunk?
>
> Thanks,
> Kyrill
>
> gcc/ChangeLog
>
> 2012-11-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
>
> 	* config/arm/arm.md (*arm_abssi2): Define predicable attribute.
> 	(*arm_neg_abssi2): Likewise.
> 	* config/arm/thumb2.md (*thumb2_abssi2): Likewise.
> 	(*thumb2_neg_abssi2): Likewise.
>
>
> -----Original Message-----
> From: Ramana Radhakrishnan
> Sent: 19 November 2012 18:05
> To: Kyrylo Tkachov
> Cc: gcc-patches@gcc.gnu.org; Richard Earnshaw
> Subject: Re: [PATCH][ARM] Define predicable attribute for arm_abssi2 and
> arm_neg_abssi2
>
> On 11/19/12 17:51, Kyrylo Tkachov wrote:
>> Hi all,
>> This patch updates the arm_abssi2 and arm_neg_abssi2 patterns in the ARM
>> machine description.
>> We define the predicable attribute based on the alternative. When the
>> patterns were introduced it was not possible to do that.
>> Now the second alternative in each of the patterns that supports
> predication
>> is defined as predicable.
>>
>> No regressions on arm-none-eabi with qemu.
>>
>> Ok for trunk?
>
> Ok, please apply.
>
> Ramana
>

OK.

Thanks.

R.


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

* RE: [PATCH][ARM] Define predicable attribute for arm_abssi2 and arm_neg_abssi2
  2012-11-20 10:32     ` Richard Earnshaw
@ 2012-11-22 11:35       ` Kyrylo Tkachov
  0 siblings, 0 replies; 6+ messages in thread
From: Kyrylo Tkachov @ 2012-11-22 11:35 UTC (permalink / raw)
  To: Richard Earnshaw; +Cc: gcc-patches, Ramana Radhakrishnan

Thanks for the review.
As I do not have write access, can someone please apply?

http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01655.html

Thanks,
Kyrill

-----Original Message-----
From: Richard Earnshaw 
Sent: 20 November 2012 10:32
To: Kyrylo Tkachov
Cc: gcc-patches@gcc.gnu.org; Ramana Radhakrishnan
Subject: Re: [PATCH][ARM] Define predicable attribute for arm_abssi2 and
arm_neg_abssi2

On 20/11/12 10:25, Kyrylo Tkachov wrote:
> Hi all,
> This is the updated version of the patch. It defines the predicable
> attribute for the equivalent abssi2 and neg_abssi2 patterns in thumb2.md.
> The previous version (with the changes only to arm.md) has been okayed but
> not applied and this patch supersedes it.
> The previous version is:
> http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01578.html
>
> No regressions for arm-none-eabi for qemu.
>
> Ok for trunk?
>
> Thanks,
> Kyrill
>
> gcc/ChangeLog
>
> 2012-11-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
>
> 	* config/arm/arm.md (*arm_abssi2): Define predicable attribute.
> 	(*arm_neg_abssi2): Likewise.
> 	* config/arm/thumb2.md (*thumb2_abssi2): Likewise.
> 	(*thumb2_neg_abssi2): Likewise.
>
>
> -----Original Message-----
> From: Ramana Radhakrishnan
> Sent: 19 November 2012 18:05
> To: Kyrylo Tkachov
> Cc: gcc-patches@gcc.gnu.org; Richard Earnshaw
> Subject: Re: [PATCH][ARM] Define predicable attribute for arm_abssi2 and
> arm_neg_abssi2
>
> On 11/19/12 17:51, Kyrylo Tkachov wrote:
>> Hi all,
>> This patch updates the arm_abssi2 and arm_neg_abssi2 patterns in the ARM
>> machine description.
>> We define the predicable attribute based on the alternative. When the
>> patterns were introduced it was not possible to do that.
>> Now the second alternative in each of the patterns that supports
> predication
>> is defined as predicable.
>>
>> No regressions on arm-none-eabi with qemu.
>>
>> Ok for trunk?
>
> Ok, please apply.
>
> Ramana
>

OK.

Thanks.

R.




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

end of thread, other threads:[~2012-11-22 11:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-19 17:51 [PATCH][ARM] Define predicable attribute for arm_abssi2 and arm_neg_abssi2 Kyrylo Tkachov
2012-11-19 18:05 ` Ramana Radhakrishnan
2012-11-20 10:25   ` Kyrylo Tkachov
2012-11-20 10:32     ` Richard Earnshaw
2012-11-22 11:35       ` Kyrylo Tkachov
2012-11-20  9:17 ` Richard Earnshaw

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