------- Comment #4 from pthaugen at gcc dot gnu dot org  2010-07-12 21:03 
-------
Adding '<>' to the "=m" constraint fixes the testcase, but adding a single '>'
(or '<') results in an error for impossible constraints. This is caused by the
following snippet that was added to reload1.c:

                      switch (GET_CODE (XEXP (recog_data.operand[opno], 0)))
                        {
                        case PRE_INC:
                        case POST_INC:
                        case PRE_DEC:
                        case POST_DEC:
                        case PRE_MODIFY:
                        case POST_MODIFY:
                          if (strchr (recog_data.constraints[opno], '<') ==
NULL
                              || strchr (recog_data.constraints[opno], '>')
                                 == NULL)
                            return 0;
                          break;

Should the code be using '&&' instead of '||'?


-- 

pthaugen at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu dot
                   |                            |org, pthaugen at gcc dot gnu
                   |                            |dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44701

Reply via email to