Backported from master:
2021-08-09 Pat Haugen <pthaugen@linux.ibm.com>
gcc/ChangeLog:
* config/rs6000/rs6000.c (is_load_insn1): Verify destination is a
register.
(is_store_insn1): Verify source is a register.
return false;
if (GET_CODE (pat) == SET)
- return find_mem_ref (SET_SRC (pat), load_mem);
+ {
+ if (REG_P (SET_DEST (pat)))
+ return find_mem_ref (SET_SRC (pat), load_mem);
+ else
+ return false;
+ }
if (GET_CODE (pat) == PARALLEL)
{
return false;
if (GET_CODE (pat) == SET)
- return find_mem_ref (SET_DEST (pat), str_mem);
+ {
+ if (REG_P (SET_SRC (pat)) || SUBREG_P (SET_SRC (pat)))
+ return find_mem_ref (SET_DEST (pat), str_mem);
+ else
+ return false;
+ }
if (GET_CODE (pat) == PARALLEL)
{