http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53381
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-05-17
06:48:31 UTC ---
Note that e.g. dse.c (scan_insn) handles the AVX mem* just fine, but won't
handle this PA pattern because (set (reg) (call ...)) isn't the first thing in
the parallel. Any reason for that?
rtx call = PATTERN (insn);
if (GET_CODE (call) == PARALLEL)
call = XVECEXP (call, 0, 0);
if (GET_CODE (call) == SET)
call = SET_SRC (call);
if (GET_CODE (call) == CALL
&& MEM_P (XEXP (call, 0))
&& GET_CODE (XEXP (XEXP (call, 0), 0)) == SYMBOL_REF)