rs6000: Don't write "nor" as (not (ior () ())) (PR80618)
authorSegher Boessenkool <segher@kernel.crashing.org>
Wed, 31 May 2017 20:58:59 +0000 (22:58 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Wed, 31 May 2017 20:58:59 +0000 (22:58 +0200)
commitba0ece3922d73beaac7cde3fb7ec9922c7535a3e
tree905e94f59fe6b13587b687d58b87854465bf9ffb
parent49fe4867264fee03accf55f7dc711a9cf6926627
rs6000: Don't write "nor" as (not (ior () ())) (PR80618)

The canonical RTL for "nor" is (and (not ()) (not ())), and that is
indeed what we use in boolccv2df3_internal1.  So, the splitter for
*vector_uneq<mode> should use that form, not (not (ior () ())), which
does not match any pattern.

PR target/80618
* config/rs6000/rs6000.md (*vector_uneq<mode>): Write the nor in the
splitter result in the canonical way.

From-SVN: r248763
gcc/ChangeLog
gcc/config/rs6000/vector.md