OSDN Git Service

* config/rs6000/rs6000.c (output_vec_const_move):
authorhpenner <hpenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Mar 2004 08:25:30 +0000 (08:25 +0000)
committerhpenner <hpenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Mar 2004 08:25:30 +0000 (08:25 +0000)
commit56bc4a550f6f6a9fa8e868ac0aacb9609c04995a
tree83efd8553d09111a4a7bdf99ac19f4d1fe4aed48
parentcb93b85a7d760e792fe479e435af37455ffc501f
    * config/rs6000/rs6000.c (output_vec_const_move):
        Find all cases of EASY_VECTOR_15_ADD_SELF.
        (easy_vector_constant_add_self): Accept
        all vector constant loadable by vsplt* and vadd*.
        (easy_vector_same): Use easy_vector_splat_const.
        (easy_vector_const): Use easy_vector_splat_const.
        (easy_vector_splat_const): New function.
        (gen_easy_vector_constant_add_self): New function.

        * config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self):
        New prototype.

        * config/rs6000/altivec.md (movv4si splitter): Change to
        emit move insn with halfed vector constant.
        (*movv8hi splitter): Likewise.
        (*movv16qi splitter): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80077 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/rs6000/altivec.md
gcc/config/rs6000/rs6000-protos.h
gcc/config/rs6000/rs6000.c