This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

rs6000, SPU: vcond pattern can not FAIL


Hello!

I would like to warn rs6000 and SPU maintainers, that vcond patterns can _not_ FAIL. Please see PR41019 [1] for the proposed fix for x86. The same problem can be triggered on rs6000 and SPU, it can happen that the vcond pattern is only partially expanded.

The problem is, that middle end checks only for the existence of the pattern, not if it can FAIL.

BTW: The documentation says:

--cut here--

`FAIL'
     Make the pattern fail on this occasion.  When a pattern fails, it
     means that the pattern was not truly available.  The calling
     routines in the compiler will try other strategies for code
     generation using other patterns.

     Failure is currently supported only for binary (addition,
     multiplication, shifting, etc.) and bit-field (`extv', `extzv',
     and `insv') operations.

...
--cut here--

[1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41019

Uros.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]