public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Alan Lawrence <alan.lawrence@arm.com>
To: Rainer Orth <ro@cebitec.uni-bielefeld.de>
Cc: Andreas Schwab <schwab@linux-m68k.org>,
	 "gcc-patches@gcc.gnu.org" <gcc-patches@gcc.gnu.org>,
	Jeff Law <law@redhat.com>
Subject: Re: [PATCH] Relax check against commuting XOR and ASHIFTRT in combine.c
Date: Fri, 24 Oct 2014 11:55:00 -0000	[thread overview]
Message-ID: <544A3D6E.4000408@arm.com> (raw)
In-Reply-To: <yddsiieyard.fsf@CeBiTec.Uni-Bielefeld.DE>



Rainer Orth wrote:
>> However, as a quick first step, does adding the ilp32 / lp64 (and keeping
>> the architectures list for now) solve the immediate problem? Patch
>> attached, OK for trunk?
> 
> No, as I said this is wrong for biarch targets like sparc and i386.

When you say no this does not solve the immediate problem, are you saying that 
you are (still) seeing test failures with the require-effective-target patch 
applied? Or is the issue that this would not execute the tests as widely as 
might be possible? In principle I'm quite happy to relax the target patterns, 
although have been having issues with sparc (below)...

Re. "what the architectures have in common" is largely that these are the 
primary/secondary archs on which I've checked the test passes! I can now add 
mips and microblaze to this list, however I'm nervous of dropping the target 
entirely given the very large number of target architectures gcc supports; and 
e.g. IA64 (in ILP32 mode) generates an ashiftrt:DI by 31 places, not 
ashiftrt:SI, which does not match the simplification criteria in combine.c.

> This should be something like 
> 
>   { target aarch64*-*-* i?86-*-* powerpc*-*-* sparc*-*-* x86_64-*-* }
> 
> E.g. sparc-sun-solaris2.11 with -m64 is lp64, but would be excluded by
> your target list.  Keep the list sorted alphabetically and best add an
> explanation so others know what those targets have in common.

So I've built a stage-1 compiler with --target=sparc-sun-solaris2.11, and I find

   * without -m64, my "dg-require-effective-target ilp32" causes the 32-bit test 
to execute, and pass; "dg-require-effective-target lp64" prevents execution of 
the 64-bit test (which would fail) - so all as expected and desired.

   * with -lp64, behaviour is as previous (this is probably expected)

   * with -m64, "dg-require-effective-target ilp32" still causes the test to 
execute (but it fails, as the RTL now has an ashiftrt:DI by 31 places, which 
doesn't meet the simplification criteria in combine.c - this is pretty much as 
expected). "dg-require-effective-target lp64" stops the 64-bit test from 
executing however (despite that it would now pass).

Can you clarify what I should be doing on sparc, therefore?

Thanks for your help!

Alan

  reply	other threads:[~2014-10-24 11:52 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-30 19:05 Alan Lawrence
2014-06-30 21:11 ` Jeff Law
2014-07-16 15:27   ` Alan Lawrence
2014-07-17 17:13     ` Alan Lawrence
2014-08-20 10:05       ` Alan Lawrence
2014-09-05 18:06       ` Jeff Law
2014-09-18  9:40         ` Alan Lawrence
2014-10-05  8:06           ` Andreas Schwab
2014-10-23 13:13             ` Rainer Orth
2014-10-23 16:55               ` Alan Lawrence
2014-10-23 17:30                 ` Rainer Orth
2014-10-24 11:55                   ` Alan Lawrence [this message]
2014-10-24 13:20                     ` Rainer Orth
2014-10-24 17:11                       ` Alan Lawrence
2015-01-29 14:54                         ` Rainer Orth
2015-02-02 14:33                           ` Alan Lawrence
2015-02-02 15:47                             ` Rainer Orth
     [not found]         ` <541AA752.9030302@arm.com>
2014-09-19  5:38           ` Jeff Law
2014-09-22 11:16             ` [AArch64] " Alan Lawrence
2014-09-22 17:02               ` Jeff Law
2014-09-23 11:32               ` Marcus Shawcroft

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=544A3D6E.4000408@arm.com \
    --to=alan.lawrence@arm.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=law@redhat.com \
    --cc=ro@cebitec.uni-bielefeld.de \
    --cc=schwab@linux-m68k.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).