public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* patch for PR65729
@ 2015-04-10 16:39 Vladimir Makarov
  2015-04-14  8:08 ` Yvan Roux
  0 siblings, 1 reply; 6+ messages in thread
From: Vladimir Makarov @ 2015-04-10 16:39 UTC (permalink / raw)
  To: gcc-patches

I've committed the following patch for

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65729

  The assert is definitely wrong.  We will work for the right one for 
GCC-5.1.

Committed as rev. 221975.

2015-04-10  Vladimir Makarov <vmakarov@redhat.com>

         PR target/65729
         * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
         assert.

Index: lra-constraints.c
===================================================================
--- lra-constraints.c   (revision 221949)
+++ lra-constraints.c   (working copy)
@@ -1656,7 +1656,8 @@
  {
HARD_REG_SET temp;

-  lra_assert (hard_reg_set_subset_p (set, reg_class_contents[rclass]));
+  // ??? Is this assert right
+  // lra_assert (hard_reg_set_subset_p (set, reg_class_contents[rclass]));
COPY_HARD_REG_SET (temp, set);
AND_COMPL_HARD_REG_SET (temp, lra_no_alloc_regs);
    return (hard_reg_set_subset_p

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

* Re: patch for PR65729
  2015-04-10 16:39 patch for PR65729 Vladimir Makarov
@ 2015-04-14  8:08 ` Yvan Roux
  2015-04-14  8:11   ` Jakub Jelinek
  0 siblings, 1 reply; 6+ messages in thread
From: Yvan Roux @ 2015-04-14  8:08 UTC (permalink / raw)
  To: Vladimir Makarov, Jakub Jelinek; +Cc: gcc-patches

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

Hi,

here is the patch that restore the assertion and swap its arguments as
discussed in the PR.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65729

Bootstrapped and regtested on x86_64, cross built and regtested on
i686, aarch64, arm and armeb. Is it ok for trunk (maybe after 5.1 is
released) ?

Thanks,
Yvan

gcc/
2015-04-13  Yvan Roux  <yvan.roux@linaro.org>

    PR target/65729
    * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
    the assertion.

gcc/testsuite/
2015-04-13  Yvan Roux  <yvan.roux@st.com>

    PR target/65729
    * gcc.target/arm/pr65729.c: New test.

On 10 April 2015 at 18:39, Vladimir Makarov <vmakarov@redhat.com> wrote:
> I've committed the following patch for
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65729
>
>  The assert is definitely wrong.  We will work for the right one for
> GCC-5.1.
>
> Committed as rev. 221975.
>
> 2015-04-10  Vladimir Makarov <vmakarov@redhat.com>
>
>         PR target/65729
>         * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
>         assert.
>
> Index: lra-constraints.c
> ===================================================================
> --- lra-constraints.c   (revision 221949)
> +++ lra-constraints.c   (working copy)
> @@ -1656,7 +1656,8 @@
>  {
> HARD_REG_SET temp;
>
> -  lra_assert (hard_reg_set_subset_p (set, reg_class_contents[rclass]));
> +  // ??? Is this assert right
> +  // lra_assert (hard_reg_set_subset_p (set, reg_class_contents[rclass]));
> COPY_HARD_REG_SET (temp, set);
> AND_COMPL_HARD_REG_SET (temp, lra_no_alloc_regs);
>    return (hard_reg_set_subset_p
>

[-- Attachment #2: pr65729.diff --]
[-- Type: text/plain, Size: 954 bytes --]

diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index 7353e7c..c51a25b 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -1656,8 +1656,7 @@ prohibited_class_reg_set_mode_p (enum reg_class rclass,
 {
   HARD_REG_SET temp;
   
-  // ??? Is this assert right
-  // lra_assert (hard_reg_set_subset_p (set, reg_class_contents[rclass]));
+  lra_assert (hard_reg_set_subset_p (reg_class_contents[rclass],set));
   COPY_HARD_REG_SET (temp, set);
   AND_COMPL_HARD_REG_SET (temp, lra_no_alloc_regs);
   return (hard_reg_set_subset_p
diff --git a/gcc/testsuite/gcc.target/arm/pr65729.c b/gcc/testsuite/gcc.target/arm/pr65729.c
new file mode 100644
index 0000000..0d7e3c1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/pr65729.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16" } */
+
+int foo (void)
+{
+  double x = 0.0;
+  asm volatile ("" : "+gw" (x));
+  return x;
+}

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

* Re: patch for PR65729
  2015-04-14  8:08 ` Yvan Roux
@ 2015-04-14  8:11   ` Jakub Jelinek
  2015-04-14 15:36     ` Vladimir Makarov
  0 siblings, 1 reply; 6+ messages in thread
From: Jakub Jelinek @ 2015-04-14  8:11 UTC (permalink / raw)
  To: Yvan Roux; +Cc: Vladimir Makarov, gcc-patches

On Tue, Apr 14, 2015 at 10:08:24AM +0200, Yvan Roux wrote:
> --- a/gcc/lra-constraints.c
> +++ b/gcc/lra-constraints.c
> @@ -1656,8 +1656,7 @@ prohibited_class_reg_set_mode_p (enum reg_class rclass,
>  {
>    HARD_REG_SET temp;
>    
> -  // ??? Is this assert right
> -  // lra_assert (hard_reg_set_subset_p (set, reg_class_contents[rclass]));
> +  lra_assert (hard_reg_set_subset_p (reg_class_contents[rclass],set));

Missing space after ,
Otherwise, I'll defer to Vlad for review.

	Jakub

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

* Re: patch for PR65729
  2015-04-14  8:11   ` Jakub Jelinek
@ 2015-04-14 15:36     ` Vladimir Makarov
  2015-04-15 12:51       ` Yvan Roux
  0 siblings, 1 reply; 6+ messages in thread
From: Vladimir Makarov @ 2015-04-14 15:36 UTC (permalink / raw)
  To: gcc-patches

On 04/14/2015 04:11 AM, Jakub Jelinek wrote:
> On Tue, Apr 14, 2015 at 10:08:24AM +0200, Yvan Roux wrote:
>> --- a/gcc/lra-constraints.c
>> +++ b/gcc/lra-constraints.c
>> @@ -1656,8 +1656,7 @@ prohibited_class_reg_set_mode_p (enum reg_class rclass,
>>   {
>>     HARD_REG_SET temp;
>>     
>> -  // ??? Is this assert right
>> -  // lra_assert (hard_reg_set_subset_p (set, reg_class_contents[rclass]));
>> +  lra_assert (hard_reg_set_subset_p (reg_class_contents[rclass],set));
> Missing space after ,
> Otherwise, I'll defer to Vlad for review.
>
>
The patch is ok for me to commit it into the trunk.  Thanks, Yvan.

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

* Re: patch for PR65729
  2015-04-14 15:36     ` Vladimir Makarov
@ 2015-04-15 12:51       ` Yvan Roux
  2015-04-18 14:22         ` Richard Earnshaw
  0 siblings, 1 reply; 6+ messages in thread
From: Yvan Roux @ 2015-04-15 12:51 UTC (permalink / raw)
  To: Vladimir Makarov; +Cc: gcc-patches

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

Hi,

On 14 April 2015 at 17:36, Vladimir Makarov <vmakarov@redhat.com> wrote:
> On 04/14/2015 04:11 AM, Jakub Jelinek wrote:
>>
>> On Tue, Apr 14, 2015 at 10:08:24AM +0200, Yvan Roux wrote:
>>>
>>> --- a/gcc/lra-constraints.c
>>> +++ b/gcc/lra-constraints.c
>>> @@ -1656,8 +1656,7 @@ prohibited_class_reg_set_mode_p (enum reg_class
>>> rclass,
>>>   {
>>>     HARD_REG_SET temp;
>>>     -  // ??? Is this assert right
>>> -  // lra_assert (hard_reg_set_subset_p (set,
>>> reg_class_contents[rclass]));
>>> +  lra_assert (hard_reg_set_subset_p (reg_class_contents[rclass],set));
>>
>> Missing space after ,
>> Otherwise, I'll defer to Vlad for review.
>>
>>
> The patch is ok for me to commit it into the trunk.  Thanks, Yvan.

The testcase needs the hard float ABI support, and can fail if tested
in a way the -march=armv7-a  is overridden.  This patch patch restrict
the test to hard vfp compliant targets.  Ok for trunk ?

Thanks,
Yvan

2015-04-15  Yvan Roux  <yvan.roux@st.com>

    * gcc.target/arm/pr65729.c: Restrict to hard float ABI compliant targets.

[-- Attachment #2: pr65729-fixtestcase.diff --]
[-- Type: text/plain, Size: 403 bytes --]

diff --git a/gcc/testsuite/gcc.target/arm/pr65729.c b/gcc/testsuite/gcc.target/arm/pr65729.c
index 0d7e3c1..85383b0 100644
--- a/gcc/testsuite/gcc.target/arm/pr65729.c
+++ b/gcc/testsuite/gcc.target/arm/pr65729.c
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target arm_hard_vfp_ok } */
 /* { dg-options "-O2 -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16" } */
 
 int foo (void)

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

* Re: patch for PR65729
  2015-04-15 12:51       ` Yvan Roux
@ 2015-04-18 14:22         ` Richard Earnshaw
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Earnshaw @ 2015-04-18 14:22 UTC (permalink / raw)
  To: Yvan Roux, Vladimir Makarov; +Cc: gcc-patches

On 15/04/15 13:51, Yvan Roux wrote:
> Hi,
> 
> On 14 April 2015 at 17:36, Vladimir Makarov <vmakarov@redhat.com> wrote:
>> On 04/14/2015 04:11 AM, Jakub Jelinek wrote:
>>>
>>> On Tue, Apr 14, 2015 at 10:08:24AM +0200, Yvan Roux wrote:
>>>>
>>>> --- a/gcc/lra-constraints.c
>>>> +++ b/gcc/lra-constraints.c
>>>> @@ -1656,8 +1656,7 @@ prohibited_class_reg_set_mode_p (enum reg_class
>>>> rclass,
>>>>   {
>>>>     HARD_REG_SET temp;
>>>>     -  // ??? Is this assert right
>>>> -  // lra_assert (hard_reg_set_subset_p (set,
>>>> reg_class_contents[rclass]));
>>>> +  lra_assert (hard_reg_set_subset_p (reg_class_contents[rclass],set));
>>>
>>> Missing space after ,
>>> Otherwise, I'll defer to Vlad for review.
>>>
>>>
>> The patch is ok for me to commit it into the trunk.  Thanks, Yvan.
> 
> The testcase needs the hard float ABI support, and can fail if tested
> in a way the -march=armv7-a  is overridden.  This patch patch restrict
> the test to hard vfp compliant targets.  Ok for trunk ?
> 
> Thanks,
> Yvan
> 
> 2015-04-15  Yvan Roux  <yvan.roux@st.com>
> 
>     * gcc.target/arm/pr65729.c: Restrict to hard float ABI compliant targets.
> 

OK.

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

end of thread, other threads:[~2015-04-18 14:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-10 16:39 patch for PR65729 Vladimir Makarov
2015-04-14  8:08 ` Yvan Roux
2015-04-14  8:11   ` Jakub Jelinek
2015-04-14 15:36     ` Vladimir Makarov
2015-04-15 12:51       ` Yvan Roux
2015-04-18 14:22         ` 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).