diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2016-12-02 08:22:34 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2016-12-02 08:22:34 +0000 |
commit | eca9803844ddf459d3f5992aa88353603f0cb731 (patch) | |
tree | 175e6e75fad8aa9948599146110c6f81308ef43d /gcc/combine.c | |
parent | a6a2b532f9c4e92277e390febc8c07f773becb1b (diff) | |
download | gcc-eca9803844ddf459d3f5992aa88353603f0cb731.zip gcc-eca9803844ddf459d3f5992aa88353603f0cb731.tar.gz gcc-eca9803844ddf459d3f5992aa88353603f0cb731.tar.bz2 |
S/390: Merge compare of compare results
With this patch EQ and NE compares on CC mode reader patterns are
folded. This allows using the result of the vec_all_* and vec_any_*
builtins directly in a conditional jump instruction as in the attached
testcase.
gcc/ChangeLog:
2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390-protos.h (s390_reverse_condition): New
prototype.
* config/s390/s390.c (s390_canonicalize_comparison): Fold compares
of CC mode values.
(s390_reverse_condition): New function.
* config/s390/s390.h (REVERSE_CC_MODE, REVERSE_CONDITION): Define
target macros.
gcc/testsuite/ChangeLog:
2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/zvector/vec-cmp-2.c: New test.
From-SVN: r243155
Diffstat (limited to 'gcc/combine.c')
0 files changed, 0 insertions, 0 deletions