Re: [PATCH], PR target/58452, Fix gcc 4.8/trunk linuxpaired breakage

2013-09-18 Thread David Edelsohn
On Tue, Sep 17, 2013 at 8:03 PM, Michael Meissner
meiss...@linux.vnet.ibm.com wrote:
 While doing some work on power8, I wanted to make sure that for existing
 systems, I was generating the same code.  So I built some code and ran it
 through various -mcpu= options.  When I built a powerpc-linuxpaired
 compiler, the compiler has trouble with a simple loop that should be
 vectorized.  I traced the code to changes in the vectorizer that required the
 predicates for movmismalign* to accept memory operands.

 I will do the usual bootstrap/make check tomorrow.  Assuming it has no
 regressions, can I check this patch it to both the 4.8 branch and trunk?

 2013-09-17  Michael Meissner  meiss...@linux.vnet.ibm.com

 PR target/58452
 * config/rs6000/paired.md (movmisalignv2sf): Fix to allow memory
 operaands.

Okay.

Thanks, David


Re: [PATCH], PR target/58452, Fix gcc 4.8/trunk linuxpaired breakage

2013-09-18 Thread Jakub Jelinek
On Wed, Sep 18, 2013 at 08:58:03AM -0400, David Edelsohn wrote:
 On Tue, Sep 17, 2013 at 8:03 PM, Michael Meissner
 meiss...@linux.vnet.ibm.com wrote:
  While doing some work on power8, I wanted to make sure that for existing
  systems, I was generating the same code.  So I built some code and ran it
  through various -mcpu= options.  When I built a powerpc-linuxpaired
  compiler, the compiler has trouble with a simple loop that should be
  vectorized.  I traced the code to changes in the vectorizer that required 
  the
  predicates for movmismalign* to accept memory operands.
 
  I will do the usual bootstrap/make check tomorrow.  Assuming it has no
  regressions, can I check this patch it to both the 4.8 branch and trunk?
 
  2013-09-17  Michael Meissner  meiss...@linux.vnet.ibm.com
 
  PR target/58452
  * config/rs6000/paired.md (movmisalignv2sf): Fix to allow memory
  operaands.
 
 Okay.

s/aa/a/ in the ChangeLog entry.

Jakub


[PATCH], PR target/58452, Fix gcc 4.8/trunk linuxpaired breakage

2013-09-17 Thread Michael Meissner
While doing some work on power8, I wanted to make sure that for existing
systems, I was generating the same code.  So I built some code and ran it
through various -mcpu= options.  When I built a powerpc-linuxpaired
compiler, the compiler has trouble with a simple loop that should be
vectorized.  I traced the code to changes in the vectorizer that required the
predicates for movmismalign* to accept memory operands.

In the main part of the powerpc compiler, we made this change in April, 2011,
but we missed the paired floating point support, since you need to use special
configuration options to enable paired floating point support.

2011-04-01  Andrew Pinski  pins...@gmail.com
Michael Meissner  meiss...@linux.vnet.ibm.com

PR target/48262
* config/rs6000/vector.md (movmisalignmode): Allow for memory
operands, as per the specifications.

* config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
(vec_extract_evenv4sf): Ditto.
(vec_extract_evenv8hi): Ditto.
(vec_extract_evenv16qi): Ditto.
(vec_extract_oddv4si): Ditto.

I will do the usual bootstrap/make check tomorrow.  Assuming it has no
regressions, can I check this patch it to both the 4.8 branch and trunk?

2013-09-17  Michael Meissner  meiss...@linux.vnet.ibm.com

PR target/58452
* config/rs6000/paired.md (movmisalignv2sf): Fix to allow memory
operaands.

Index: gcc/config/rs6000/paired.md
===
--- gcc/config/rs6000/paired.md (revision 202632)
+++ gcc/config/rs6000/paired.md (working copy)
@@ -462,8 +462,8 @@ (define_expand reduc_splus_v2sf
 })
 
 (define_expand movmisalignv2sf
-  [(set (match_operand:V2SF 0 gpc_reg_operand =f)
-(match_operand:V2SF 1 gpc_reg_operand f))]
+  [(set (match_operand:V2SF 0 nonimmediate_operand )
+(match_operand:V2SF 1 any_operand ))]
   TARGET_PAIRED_FLOAT
 {
   paired_expand_vector_move (operands);


-- 
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460, USA
email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797