diff options
Diffstat (limited to 'gcc/regmove.c')
-rw-r--r-- | gcc/regmove.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/regmove.c b/gcc/regmove.c index fea96c9dabe..9a7a191ea7f 100644 --- a/gcc/regmove.c +++ b/gcc/regmove.c @@ -89,9 +89,12 @@ gen_add3_insn (r0, r1, c) int icode = (int) add_optab->handlers[(int) GET_MODE (r0)].insn_code; if (icode == CODE_FOR_nothing - || ! (*insn_operand_predicate[icode][0]) (r0, insn_operand_mode[icode][0]) - || ! (*insn_operand_predicate[icode][1]) (r1, insn_operand_mode[icode][1]) - || ! (*insn_operand_predicate[icode][2]) (c, insn_operand_mode[icode][2])) + || ! ((*insn_data[icode].operand[0].predicate) + (r0, insn_data[icode].operand[0].mode)) + || ! ((*insn_data[icode].operand[1].predicate) + (r1, insn_data[icode].operand[1].mode)) + || ! ((*insn_data[icode].operand[2].predicate) + (c, insn_data[icode].operand[2].mode))) return NULL_RTX; return (GEN_FCN (icode) (r0, r1, c)); |