https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99718

--- Comment #20 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Segher Boessenkool <seg...@gcc.gnu.org>:

https://gcc.gnu.org/g:f64b91568f3ac8f152c6c617b4fcc6b51da10ac4

commit r11-7911-gf64b91568f3ac8f152c6c617b4fcc6b51da10ac4
Author: luo...@cn.ibm.com <luo...@cn.ibm.com>
Date:   Fri Mar 26 22:26:57 2021 -0500

    rs6000: Enable 32bit variable vec_insert [PR99718]

    32bit and P7 VSX could also benefit a lot from the variable vec_insert
    implementation with shift/insert/shift back method.

    2011-03-29  Xionghu Luo  <luo...@linux.ibm.com>

            PR target/99718
            * config/rs6000/altivec.md (altivec_lvsl_reg): Change to ...
            (altivec_lvsl_reg_<mode>): ... this.
            (altivec_lvsr_reg): Change to ...
            (altivec_lvsr_reg_<mode>): ... this.
            * config/rs6000/predicates.md (vec_set_index_operand): New.
            * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
            Enable 32bit variable vec_insert for all TARGET_VSX.
            * config/rs6000/rs6000.c (rs6000_expand_vector_set_var_p9):
            Enable 32bit variable vec_insert for p9 and above.
            (rs6000_expand_vector_set_var_p8): Rename to ...
            (rs6000_expand_vector_set_var_p7): ... this.
            (rs6000_expand_vector_set): Use TARGET_VSX and adjust assert
            position.
            * config/rs6000/vector.md (vec_set<mode>): Use
vec_set_index_operand.
            * config/rs6000/vsx.md (xl_len_r): Use gen_altivec_lvsl_reg_di and
            gen_altivec_lvsr_reg_di.

    gcc/testsuite/
            PR target/99718
            * gcc.target/powerpc/fold-vec-insert-char-p8.c: Update
            instruction counts.
            * gcc.target/powerpc/fold-vec-insert-char-p9.c: Likewise.
            * gcc.target/powerpc/fold-vec-insert-double.c: Likewise.
            * gcc.target/powerpc/fold-vec-insert-float-p8.c: Likewise.
            * gcc.target/powerpc/fold-vec-insert-float-p9.c: Likewise.
            * gcc.target/powerpc/fold-vec-insert-int-p8.c: Likewise.
            * gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise.
            * gcc.target/powerpc/fold-vec-insert-longlong.c: Likewise.
            * gcc.target/powerpc/fold-vec-insert-short-p8.c: Likewise.
            * gcc.target/powerpc/fold-vec-insert-short-p9.c: Likewise.
            * gcc.target/powerpc/pr79251.p8.c: Likewise.
            * gcc.target/powerpc/pr79251.p9.c: Likewise.
            * gcc.target/powerpc/vsx-builtin-7.c: Likewise.
            * gcc.target/powerpc/pr79251-run.p7.c: New test.
            * gcc.target/powerpc/pr79251.p7.c: New test.
  • [Bug target/99718] [11 regressi... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to