On Mon, Mar 5, 2012 at 7:23 PM, Michael Meissner
<meiss...@linux.vnet.ibm.com> wrote:
> On power7 systems, the backend was not prepared to handle vector comparisons
> with UNEQ, LTGT, ORDERED, and UNORDERED tests, since there is no single
> comparison instruction for these cases.  This patch adds support for doing
> vector conditional move involving these operations.  I have bootstrapped the
> compiler with these patches, and there were no regressions.  The test
> gcc.c-torture/execute/ieee/pr50340.c now passes if you build the compiler 
> using
> --with-cpu=power7 as a default (or define ADDITIONAL_TORTURE_OPTIONS in the
> site.exp file to add -mcpu=power7).  Is this ok to install in 4.8?
> In addition, I would like to backport this fix to the current older branches.
> Can I check it into the 4.7 branch or should this patch wait until after the
> 4.7 release for 4.7.1?
> 2012-03-05  Michael Meissner  <meiss...@linux.vnet.ibm.com>
>        PR target/50310
>        * config/rs6000/vector.md (vector_uneq<mode>): Add support for
>        UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons.
>        (vector_ltgt<mode>): Likewise.
>        (vector_ordered<mode>): Likewise.
>        (vector_unordered<mode>): Likewise.
>        * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner):
>        Likewise.

The logical operations on floating point registers seem weird, but okay.

We need to ask the RMs if this patch is acceptable for GCC 4.7.0.

Thanks, David

Reply via email to