Message ID | 20130918000349.GA22849@ibm-tiger.the-meissners.org |
---|---|
State | New |
Headers | show |
On Tue, Sep 17, 2013 at 8:03 PM, Michael Meissner <meissner@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=xxxx 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 <meissner@linux.vnet.ibm.com> > > PR target/58452 > * config/rs6000/paired.md (movmisalignv2sf): Fix to allow memory > operaands. Okay. Thanks, David
On Wed, Sep 18, 2013 at 08:58:03AM -0400, David Edelsohn wrote: > On Tue, Sep 17, 2013 at 8:03 PM, Michael Meissner > <meissner@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=xxxx 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 <meissner@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
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);