Re: [RTL, i386] Use subreg instead of UNSPEC_CAST

2014-08-26 Thread Marc Glisse
Ping? On Sat, 26 Jul 2014, Marc Glisse wrote: Hello, any comment on this patch? https://gcc.gnu.org/ml/gcc-patches/2014-06/msg00769.html On Tue, 10 Jun 2014, Marc Glisse wrote: On Tue, 19 Mar 2013, Richard Henderson wrote: I'm not fond of this, primarily because I believe the pattern

Re: [RTL, i386] Use subreg instead of UNSPEC_CAST

2014-07-26 Thread Marc Glisse
Hello, any comment on this patch? https://gcc.gnu.org/ml/gcc-patches/2014-06/msg00769.html On Tue, 10 Jun 2014, Marc Glisse wrote: On Tue, 19 Mar 2013, Richard Henderson wrote: I'm not fond of this, primarily because I believe the pattern should not exist at all. One year later, new try.

Re: [RTL, i386] Use subreg instead of UNSPEC_CAST

2014-06-10 Thread Marc Glisse
On Tue, 19 Mar 2013, Richard Henderson wrote: I'm not fond of this, primarily because I believe the pattern should not exist at all. One year later, new try. Tweaking the pattern, I ended up with a copy of the mov pattern (the subreg is generated automatically when the modes don't match),

Re: [RTL, i386] Use subreg instead of UNSPEC_CAST

2013-03-21 Thread Richard Biener
On Wed, Mar 20, 2013 at 4:54 PM, Marc Glisse marc.gli...@inria.fr wrote: On Wed, 20 Mar 2013, Richard Biener wrote: On Wed, Mar 20, 2013 at 4:29 PM, Marc Glisse marc.gli...@inria.fr wrote: On Wed, 20 Mar 2013, Richard Henderson wrote: On 03/20/2013 08:00 AM, Marc Glisse wrote: Do you at

Re: [RTL, i386] Use subreg instead of UNSPEC_CAST

2013-03-20 Thread Marc Glisse
On Tue, 19 Mar 2013, Richard Henderson wrote: On 03/19/2013 08:47 AM, Marc Glisse wrote: (define_insn_and_split avx_castmodeavxsizesuffix_castmode [(set (match_operand:AVX256MODE2P 0 nonimmediate_operand =x,m) - (unspec:AVX256MODE2P - [(match_operand:ssehalfvecmode 1

Re: [RTL, i386] Use subreg instead of UNSPEC_CAST

2013-03-20 Thread Richard Henderson
On 03/20/2013 08:00 AM, Marc Glisse wrote: Do you at least agree that vector-vector subregs make sense, or is that part wrong as well? You mean a V4SImode subreg of a V8SImode register, not just same-size casting? It makes logical sense, but I'm fairly sure you'll need a lot more surgery

Re: [RTL, i386] Use subreg instead of UNSPEC_CAST

2013-03-20 Thread Richard Biener
On Wed, Mar 20, 2013 at 4:13 PM, Richard Henderson r...@redhat.com wrote: On 03/20/2013 08:00 AM, Marc Glisse wrote: Do you at least agree that vector-vector subregs make sense, or is that part wrong as well? You mean a V4SImode subreg of a V8SImode register, not just same-size casting? It

Re: [RTL, i386] Use subreg instead of UNSPEC_CAST

2013-03-20 Thread Marc Glisse
On Wed, 20 Mar 2013, Richard Henderson wrote: On 03/20/2013 08:00 AM, Marc Glisse wrote: Do you at least agree that vector-vector subregs make sense, or is that part wrong as well? You mean a V4SImode subreg of a V8SImode register, not just same-size casting? I am mostly interested in the

Re: [RTL, i386] Use subreg instead of UNSPEC_CAST

2013-03-20 Thread Richard Biener
On Wed, Mar 20, 2013 at 4:29 PM, Marc Glisse marc.gli...@inria.fr wrote: On Wed, 20 Mar 2013, Richard Henderson wrote: On 03/20/2013 08:00 AM, Marc Glisse wrote: Do you at least agree that vector-vector subregs make sense, or is that part wrong as well? You mean a V4SImode subreg of a

Re: [RTL, i386] Use subreg instead of UNSPEC_CAST

2013-03-20 Thread Marc Glisse
On Wed, 20 Mar 2013, Richard Biener wrote: On Wed, Mar 20, 2013 at 4:29 PM, Marc Glisse marc.gli...@inria.fr wrote: On Wed, 20 Mar 2013, Richard Henderson wrote: On 03/20/2013 08:00 AM, Marc Glisse wrote: Do you at least agree that vector-vector subregs make sense, or is that part wrong as

[RTL, i386] Use subreg instead of UNSPEC_CAST

2013-03-19 Thread Marc Glisse
Hello, the following patch passes bootstrap+testsuite on x86_64-linux-gnu. I don't see any particular reason to forbid vector subregs of vectors, since we can already do it through a scalar. And not using unspecs helps avoid unnecessary copies. 2013-01-03 Marc Glisse marc.gli...@inria.fr

Re: [RTL, i386] Use subreg instead of UNSPEC_CAST

2013-03-19 Thread Richard Henderson
On 03/19/2013 08:47 AM, Marc Glisse wrote: (define_insn_and_split avx_castmodeavxsizesuffix_castmode [(set (match_operand:AVX256MODE2P 0 nonimmediate_operand =x,m) - (unspec:AVX256MODE2P - [(match_operand:ssehalfvecmode 1 nonimmediate_operand xm,x)] - UNSPEC_CAST))] +