S/390 Invalid vector binary ops
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Tue, 19 May 2015 17:41:21 +0000 (17:41 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Tue, 19 May 2015 17:41:21 +0000 (17:41 +0000)
commitcb4c41dd4d9b0cf349e9c51c23492113dea975a6
tree452095ebe18ef24556b523eeac0cf483a5c18e3b
parent17521813e152860e7cfa5a5d0255cf2ca5e704be
S/390 Invalid vector binary ops

This is a first try to implement at least some of the requirements
regarding the vector bool type documented for IBM XLC.

With this patch error messages will be issued for invalid uses of
vector bool types in binary operators.

vector bool types are being marked opaque in order to prevent the
front-end from complaining about "vector bool long" vs "vector bool
long long" combinations on 64 bit.  The opaque flag basically
suppresses any type checking. However, we still want vector bool to be
accepted only in contexts specified in the documentation (to be
published soon).  Implementing the invalid binary op hook does this
for binary operators at least.  But this is far from being complete :(

gcc/
* config/s390/s390.c (s390_vector_bool_type_p): New function.
(s390_invalid_binary_op): New function.
(TARGET_INVALID_BINARY_OP): Define macro.

From-SVN: r223404
gcc/ChangeLog
gcc/config/s390/s390.c