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