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

--- Comment #7 from Michael Meissner <meissner at gcc dot gnu.org> ---
Author: meissner
Date: Mon Feb  6 21:07:37 2017
New Revision: 245222

URL: https://gcc.gnu.org/viewcvs?rev=245222&root=gcc&view=rev
Log:
[gcc]
2017-02-06  Michael Meissner  <meiss...@linux.vnet.ibm.com>

        PR target/66144
        * config/rs6000/vector.md (vcond<mode><mode>): Allow the true and
        false values to be constant vectors with all 0 or all 1 bits set.
        (vcondu<mode><mode>): Likewise.
        * config/rs6000/predicates.md (vector_int_reg_or_same_bit): New
        predicate.
        (fpmask_comparison_operator): Update comment.
        (vecint_comparison_operator): New predicate.
        * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Optimize
        vector conditionals when the true and false values are constant
        vectors with all 0 bits or all 1 bits set.

[gcc/testsuite]
2017-02-06  Michael Meissner  <meiss...@linux.vnet.ibm.com>

        PR target/66144
        * gcc.target/powerpc/pr66144-1.c: New test.
        * gcc.target/powerpc/pr66144-2.c: Likewise.
        * gcc.target/powerpc/pr66144-3.c: Likewise.


Added:
    trunk/gcc/testsuite/gcc.target/powerpc/pr66144-1.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr66144-2.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr66144-3.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/rs6000/predicates.md
    trunk/gcc/config/rs6000/rs6000.c
    trunk/gcc/config/rs6000/vector.md
    trunk/gcc/testsuite/ChangeLog

Reply via email to