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