Lines Matching refs:icode
374 int icode; in expand_widen_pattern_expr() local
385 icode = (int) widen_pattern_optab->handlers[(int) tmode0].insn_code; in expand_widen_pattern_expr()
386 gcc_assert (icode != CODE_FOR_nothing); in expand_widen_pattern_expr()
387 xmode0 = insn_data[icode].operand[1].mode; in expand_widen_pattern_expr()
393 xmode1 = insn_data[icode].operand[2].mode; in expand_widen_pattern_expr()
408 wxmode = insn_data[icode].operand[3].mode; in expand_widen_pattern_expr()
412 wmode = wxmode = insn_data[icode].operand[0].mode; in expand_widen_pattern_expr()
415 || ! (*insn_data[icode].operand[0].predicate) (target, wmode)) in expand_widen_pattern_expr()
456 if (! (*insn_data[icode].operand[1].predicate) (xop0, xmode0) in expand_widen_pattern_expr()
462 if (! (*insn_data[icode].operand[2].predicate) (xop1, xmode1) in expand_widen_pattern_expr()
468 if (! (*insn_data[icode].operand[3].predicate) (wxop, wxmode) in expand_widen_pattern_expr()
472 pat = GEN_FCN (icode) (temp, xop0, xop1, wxop); in expand_widen_pattern_expr()
475 pat = GEN_FCN (icode) (temp, xop0, xop1); in expand_widen_pattern_expr()
481 if (! (*insn_data[icode].operand[2].predicate) (wxop, wxmode) in expand_widen_pattern_expr()
485 pat = GEN_FCN (icode) (temp, xop0, wxop); in expand_widen_pattern_expr()
488 pat = GEN_FCN (icode) (temp, xop0); in expand_widen_pattern_expr()
510 int icode = (int) ternary_optab->handlers[(int) mode].insn_code; in expand_ternary_op() local
511 enum machine_mode mode0 = insn_data[icode].operand[1].mode; in expand_ternary_op()
512 enum machine_mode mode1 = insn_data[icode].operand[2].mode; in expand_ternary_op()
513 enum machine_mode mode2 = insn_data[icode].operand[3].mode; in expand_ternary_op()
521 if (!target || !insn_data[icode].operand[0].predicate (target, mode)) in expand_ternary_op()
556 if (!insn_data[icode].operand[1].predicate (xop0, mode0) in expand_ternary_op()
560 if (!insn_data[icode].operand[2].predicate (xop1, mode1) in expand_ternary_op()
564 if (!insn_data[icode].operand[3].predicate (xop2, mode2) in expand_ternary_op()
568 pat = GEN_FCN (icode) (temp, xop0, xop1, xop2); in expand_ternary_op()
617 enum insn_code icode; in expand_vec_shift_expr() local
639 icode = (int) shift_optab->handlers[(int) mode].insn_code; in expand_vec_shift_expr()
640 gcc_assert (icode != CODE_FOR_nothing); in expand_vec_shift_expr()
642 mode1 = insn_data[icode].operand[1].mode; in expand_vec_shift_expr()
643 mode2 = insn_data[icode].operand[2].mode; in expand_vec_shift_expr()
646 if (!(*insn_data[icode].operand[1].predicate) (rtx_op1, mode1) in expand_vec_shift_expr()
651 if (!(*insn_data[icode].operand[2].predicate) (rtx_op2, mode2) in expand_vec_shift_expr()
656 || ! (*insn_data[icode].operand[0].predicate) (target, mode)) in expand_vec_shift_expr()
660 pat = GEN_FCN (icode) (target, rtx_op1, rtx_op2); in expand_vec_shift_expr()
1277 int icode = (int) binoptab->handlers[(int) mode].insn_code; in expand_binop() local
1278 enum machine_mode mode0 = insn_data[icode].operand[1].mode; in expand_binop()
1279 enum machine_mode mode1 = insn_data[icode].operand[2].mode; in expand_binop()
1325 if (!insn_data[icode].operand[1].predicate (xop0, mode0) in expand_binop()
1329 if (!insn_data[icode].operand[2].predicate (xop1, mode1) in expand_binop()
1333 if (!insn_data[icode].operand[0].predicate (temp, mode)) in expand_binop()
1336 pat = GEN_FCN (icode) (temp, xop0, xop1); in expand_binop()
2070 int icode = (int) unoptab->handlers[(int) mode].insn_code; in expand_twoval_unop() local
2071 enum machine_mode mode0 = insn_data[icode].operand[2].mode; in expand_twoval_unop()
2080 if (!insn_data[icode].operand[2].predicate (xop0, mode0)) in expand_twoval_unop()
2085 gcc_assert (insn_data[icode].operand[0].predicate (targ0, mode)); in expand_twoval_unop()
2086 gcc_assert (insn_data[icode].operand[1].predicate (targ1, mode)); in expand_twoval_unop()
2088 pat = GEN_FCN (icode) (targ0, targ1, xop0); in expand_twoval_unop()
2173 int icode = (int) binoptab->handlers[(int) mode].insn_code; in expand_twoval_binop() local
2174 enum machine_mode mode0 = insn_data[icode].operand[1].mode; in expand_twoval_binop()
2175 enum machine_mode mode1 = insn_data[icode].operand[2].mode; in expand_twoval_binop()
2200 if (!insn_data[icode].operand[1].predicate (xop0, mode0)) in expand_twoval_binop()
2203 if (!insn_data[icode].operand[2].predicate (xop1, mode1)) in expand_twoval_binop()
2208 gcc_assert (insn_data[icode].operand[0].predicate (targ0, mode)); in expand_twoval_binop()
2209 gcc_assert (insn_data[icode].operand[3].predicate (targ1, mode)); in expand_twoval_binop()
2211 pat = GEN_FCN (icode) (targ0, xop0, xop1, targ1); in expand_twoval_binop()
2543 int icode = (int) unoptab->handlers[(int) mode].insn_code; in expand_unop() local
2544 enum machine_mode mode0 = insn_data[icode].operand[1].mode; in expand_unop()
2558 if (!insn_data[icode].operand[1].predicate (xop0, mode0)) in expand_unop()
2561 if (!insn_data[icode].operand[0].predicate (temp, mode)) in expand_unop()
2564 pat = GEN_FCN (icode) (temp, xop0); in expand_unop()
3160 emit_unop_insn (int icode, rtx target, rtx op0, enum rtx_code code) in emit_unop_insn() argument
3163 enum machine_mode mode0 = insn_data[icode].operand[1].mode; in emit_unop_insn()
3170 if (!insn_data[icode].operand[1].predicate (op0, mode0)) in emit_unop_insn()
3173 if (!insn_data[icode].operand[0].predicate (temp, GET_MODE (temp))) in emit_unop_insn()
3176 pat = GEN_FCN (icode) (temp, op0); in emit_unop_insn()
3752 prepare_operand (int icode, rtx x, int opnum, enum machine_mode mode, in prepare_operand() argument
3758 if (!insn_data[icode].operand[opnum].predicate in prepare_operand()
3759 (x, insn_data[icode].operand[opnum].mode)) in prepare_operand()
3763 x = copy_to_mode_reg (insn_data[icode].operand[opnum].mode, x); in prepare_operand()
3785 enum insn_code icode; in emit_cmp_and_jump_insn_1() local
3790 icode = cbranch_optab->handlers[(int) wider_mode].insn_code; in emit_cmp_and_jump_insn_1()
3792 if (icode != CODE_FOR_nothing in emit_cmp_and_jump_insn_1()
3793 && insn_data[icode].operand[0].predicate (test, wider_mode)) in emit_cmp_and_jump_insn_1()
3795 x = prepare_operand (icode, x, 1, mode, wider_mode, unsignedp); in emit_cmp_and_jump_insn_1()
3796 y = prepare_operand (icode, y, 2, mode, wider_mode, unsignedp); in emit_cmp_and_jump_insn_1()
3797 emit_jump_insn (GEN_FCN (icode) (test, x, y, label)); in emit_cmp_and_jump_insn_1()
3803 icode = (int) tst_optab->handlers[(int) wider_mode].insn_code; in emit_cmp_and_jump_insn_1()
3804 if (y == CONST0_RTX (mode) && icode != CODE_FOR_nothing) in emit_cmp_and_jump_insn_1()
3806 x = prepare_operand (icode, x, 0, mode, wider_mode, unsignedp); in emit_cmp_and_jump_insn_1()
3807 emit_insn (GEN_FCN (icode) (x)); in emit_cmp_and_jump_insn_1()
3815 icode = (int) cmp_optab->handlers[(int) wider_mode].insn_code; in emit_cmp_and_jump_insn_1()
3816 if (icode != CODE_FOR_nothing) in emit_cmp_and_jump_insn_1()
3818 x = prepare_operand (icode, x, 0, mode, wider_mode, unsignedp); in emit_cmp_and_jump_insn_1()
3819 y = prepare_operand (icode, y, 1, mode, wider_mode, unsignedp); in emit_cmp_and_jump_insn_1()
3820 emit_insn (GEN_FCN (icode) (x, y)); in emit_cmp_and_jump_insn_1()
4056 enum insn_code icode; in emit_conditional_move() local
4094 icode = movcc_gen_code[mode]; in emit_conditional_move()
4096 if (icode == CODE_FOR_nothing) in emit_conditional_move()
4106 if (!insn_data[icode].operand[0].predicate in emit_conditional_move()
4107 (subtarget, insn_data[icode].operand[0].mode)) in emit_conditional_move()
4108 subtarget = gen_reg_rtx (insn_data[icode].operand[0].mode); in emit_conditional_move()
4110 if (!insn_data[icode].operand[2].predicate in emit_conditional_move()
4111 (op2, insn_data[icode].operand[2].mode)) in emit_conditional_move()
4112 op2 = copy_to_mode_reg (insn_data[icode].operand[2].mode, op2); in emit_conditional_move()
4114 if (!insn_data[icode].operand[3].predicate in emit_conditional_move()
4115 (op3, insn_data[icode].operand[3].mode)) in emit_conditional_move()
4116 op3 = copy_to_mode_reg (insn_data[icode].operand[3].mode, op3); in emit_conditional_move()
4131 insn = GEN_FCN (icode) (subtarget, comparison, op2, op3); in emit_conditional_move()
4184 enum insn_code icode; in emit_conditional_add() local
4222 icode = addcc_optab->handlers[(int) mode].insn_code; in emit_conditional_add()
4224 if (icode == CODE_FOR_nothing) in emit_conditional_add()
4232 if (!insn_data[icode].operand[0].predicate in emit_conditional_add()
4233 (target, insn_data[icode].operand[0].mode)) in emit_conditional_add()
4234 subtarget = gen_reg_rtx (insn_data[icode].operand[0].mode); in emit_conditional_add()
4238 if (!insn_data[icode].operand[2].predicate in emit_conditional_add()
4239 (op2, insn_data[icode].operand[2].mode)) in emit_conditional_add()
4240 op2 = copy_to_mode_reg (insn_data[icode].operand[2].mode, op2); in emit_conditional_add()
4242 if (!insn_data[icode].operand[3].predicate in emit_conditional_add()
4243 (op3, insn_data[icode].operand[3].mode)) in emit_conditional_add()
4244 op3 = copy_to_mode_reg (insn_data[icode].operand[3].mode, op3); in emit_conditional_add()
4259 insn = GEN_FCN (icode) (subtarget, comparison, op2, op3); in emit_conditional_add()
4282 int icode = (int) add_optab->handlers[(int) GET_MODE (x)].insn_code; in gen_add2_insn() local
4284 gcc_assert (insn_data[icode].operand[0].predicate in gen_add2_insn()
4285 (x, insn_data[icode].operand[0].mode)); in gen_add2_insn()
4286 gcc_assert (insn_data[icode].operand[1].predicate in gen_add2_insn()
4287 (x, insn_data[icode].operand[1].mode)); in gen_add2_insn()
4288 gcc_assert (insn_data[icode].operand[2].predicate in gen_add2_insn()
4289 (y, insn_data[icode].operand[2].mode)); in gen_add2_insn()
4291 return GEN_FCN (icode) (x, x, y); in gen_add2_insn()
4299 int icode = (int) add_optab->handlers[(int) GET_MODE (r0)].insn_code; in gen_add3_insn() local
4301 if (icode == CODE_FOR_nothing in gen_add3_insn()
4302 || !(insn_data[icode].operand[0].predicate in gen_add3_insn()
4303 (r0, insn_data[icode].operand[0].mode)) in gen_add3_insn()
4304 || !(insn_data[icode].operand[1].predicate in gen_add3_insn()
4305 (r1, insn_data[icode].operand[1].mode)) in gen_add3_insn()
4306 || !(insn_data[icode].operand[2].predicate in gen_add3_insn()
4307 (c, insn_data[icode].operand[2].mode))) in gen_add3_insn()
4310 return GEN_FCN (icode) (r0, r1, c); in gen_add3_insn()
4316 int icode; in have_add2_insn() local
4320 icode = (int) add_optab->handlers[(int) GET_MODE (x)].insn_code; in have_add2_insn()
4322 if (icode == CODE_FOR_nothing) in have_add2_insn()
4325 if (!(insn_data[icode].operand[0].predicate in have_add2_insn()
4326 (x, insn_data[icode].operand[0].mode)) in have_add2_insn()
4327 || !(insn_data[icode].operand[1].predicate in have_add2_insn()
4328 (x, insn_data[icode].operand[1].mode)) in have_add2_insn()
4329 || !(insn_data[icode].operand[2].predicate in have_add2_insn()
4330 (y, insn_data[icode].operand[2].mode))) in have_add2_insn()
4341 int icode = (int) sub_optab->handlers[(int) GET_MODE (x)].insn_code; in gen_sub2_insn() local
4343 gcc_assert (insn_data[icode].operand[0].predicate in gen_sub2_insn()
4344 (x, insn_data[icode].operand[0].mode)); in gen_sub2_insn()
4345 gcc_assert (insn_data[icode].operand[1].predicate in gen_sub2_insn()
4346 (x, insn_data[icode].operand[1].mode)); in gen_sub2_insn()
4347 gcc_assert (insn_data[icode].operand[2].predicate in gen_sub2_insn()
4348 (y, insn_data[icode].operand[2].mode)); in gen_sub2_insn()
4350 return GEN_FCN (icode) (x, x, y); in gen_sub2_insn()
4358 int icode = (int) sub_optab->handlers[(int) GET_MODE (r0)].insn_code; in gen_sub3_insn() local
4360 if (icode == CODE_FOR_nothing in gen_sub3_insn()
4361 || !(insn_data[icode].operand[0].predicate in gen_sub3_insn()
4362 (r0, insn_data[icode].operand[0].mode)) in gen_sub3_insn()
4363 || !(insn_data[icode].operand[1].predicate in gen_sub3_insn()
4364 (r1, insn_data[icode].operand[1].mode)) in gen_sub3_insn()
4365 || !(insn_data[icode].operand[2].predicate in gen_sub3_insn()
4366 (c, insn_data[icode].operand[2].mode))) in gen_sub3_insn()
4369 return GEN_FCN (icode) (r0, r1, c); in gen_sub3_insn()
4375 int icode; in have_sub2_insn() local
4379 icode = (int) sub_optab->handlers[(int) GET_MODE (x)].insn_code; in have_sub2_insn()
4381 if (icode == CODE_FOR_nothing) in have_sub2_insn()
4384 if (!(insn_data[icode].operand[0].predicate in have_sub2_insn()
4385 (x, insn_data[icode].operand[0].mode)) in have_sub2_insn()
4386 || !(insn_data[icode].operand[1].predicate in have_sub2_insn()
4387 (x, insn_data[icode].operand[1].mode)) in have_sub2_insn()
4388 || !(insn_data[icode].operand[2].predicate in have_sub2_insn()
4389 (y, insn_data[icode].operand[2].mode))) in have_sub2_insn()
4435 enum insn_code icode = can_extend_p (mto, mfrom, unsignedp); in gen_extend_insn() local
4436 return GEN_FCN (icode) (x, y); in gen_extend_insn()
4453 enum insn_code icode; in can_fix_p() local
4456 icode = tab->handlers[fixmode][fltmode].insn_code; in can_fix_p()
4457 if (icode != CODE_FOR_nothing) in can_fix_p()
4460 return icode; in can_fix_p()
4467 icode = tab->handlers[fixmode][fltmode].insn_code; in can_fix_p()
4468 if (icode != CODE_FOR_nothing in can_fix_p()
4472 return icode; in can_fix_p()
4498 enum insn_code icode; in expand_float() local
4522 icode = can_float_p (fmode, imode, unsignedp); in expand_float()
4523 if (icode == CODE_FOR_nothing && unsignedp) in expand_float()
4529 icode = scode, doing_unsigned = 0; in expand_float()
4532 if (icode != CODE_FOR_nothing) in expand_float()
4540 emit_unop_insn (icode, target, from, in expand_float()
4700 enum insn_code icode; in expand_fix() local
4717 icode = can_fix_p (imode, fmode, unsignedp, &must_trunc); in expand_fix()
4718 if (icode == CODE_FOR_nothing && imode != GET_MODE (to) && unsignedp) in expand_fix()
4719 icode = can_fix_p (imode, fmode, 0, &must_trunc), doing_unsigned = 0; in expand_fix()
4721 if (icode != CODE_FOR_nothing) in expand_fix()
4736 emit_unop_insn (icode, target, from, in expand_fix()
5576 enum insn_code icode; in gen_cond_trap() local
5585 icode = cmp_optab->handlers[(int) mode].insn_code; in gen_cond_trap()
5586 if (icode == CODE_FOR_nothing) in gen_cond_trap()
5590 op1 = prepare_operand (icode, op1, 0, mode, mode, 0); in gen_cond_trap()
5591 op2 = prepare_operand (icode, op2, 1, mode, mode, 0); in gen_cond_trap()
5597 emit_insn (GEN_FCN (icode) (op1, op2)); in gen_cond_trap()
5675 vector_compare_rtx (tree cond, bool unsignedp, enum insn_code icode) in vector_compare_rtx() argument
5693 if (!insn_data[icode].operand[4].predicate (rtx_op0, GET_MODE (rtx_op0)) in vector_compare_rtx()
5697 if (!insn_data[icode].operand[5].predicate (rtx_op1, GET_MODE (rtx_op1)) in vector_compare_rtx()
5709 enum insn_code icode = CODE_FOR_nothing; in get_vcond_icode() local
5712 icode = vcondu_gen_code[mode]; in get_vcond_icode()
5714 icode = vcond_gen_code[mode]; in get_vcond_icode()
5715 return icode; in get_vcond_icode()
5734 enum insn_code icode; in expand_vec_cond_expr() local
5739 icode = get_vcond_icode (vec_cond_expr, mode); in expand_vec_cond_expr()
5740 if (icode == CODE_FOR_nothing) in expand_vec_cond_expr()
5743 if (!target || !insn_data[icode].operand[0].predicate (target, mode)) in expand_vec_cond_expr()
5748 unsignedp, icode); in expand_vec_cond_expr()
5754 if (!insn_data[icode].operand[1].predicate (rtx_op1, mode) in expand_vec_cond_expr()
5760 if (!insn_data[icode].operand[2].predicate (rtx_op2, mode) in expand_vec_cond_expr()
5765 emit_insn (GEN_FCN (icode) (target, rtx_op1, rtx_op2, in expand_vec_cond_expr()
5780 rtx target, enum insn_code icode) in expand_val_compare_and_swap_1() argument
5785 if (!target || !insn_data[icode].operand[0].predicate (target, mode)) in expand_val_compare_and_swap_1()
5790 if (!insn_data[icode].operand[2].predicate (old_val, mode)) in expand_val_compare_and_swap_1()
5795 if (!insn_data[icode].operand[3].predicate (new_val, mode)) in expand_val_compare_and_swap_1()
5798 insn = GEN_FCN (icode) (target, mem, old_val, new_val); in expand_val_compare_and_swap_1()
5812 enum insn_code icode = sync_compare_and_swap[mode]; in expand_val_compare_and_swap() local
5814 if (icode == CODE_FOR_nothing) in expand_val_compare_and_swap()
5817 return expand_val_compare_and_swap_1 (mem, old_val, new_val, target, icode); in expand_val_compare_and_swap()
5828 enum insn_code icode; in expand_bool_compare_and_swap() local
5834 icode = sync_compare_and_swap_cc[mode]; in expand_bool_compare_and_swap()
5835 switch (icode) in expand_bool_compare_and_swap()
5839 NULL_RTX, icode); in expand_bool_compare_and_swap()
5845 icode = sync_compare_and_swap[mode]; in expand_bool_compare_and_swap()
5846 if (icode == CODE_FOR_nothing) in expand_bool_compare_and_swap()
5855 NULL_RTX, icode); in expand_bool_compare_and_swap()
5867 icode = setcc_gen_code[EQ]; in expand_bool_compare_and_swap()
5868 if (icode != CODE_FOR_nothing) in expand_bool_compare_and_swap()
5870 enum machine_mode cmode = insn_data[icode].operand[0].mode; in expand_bool_compare_and_swap()
5874 if (!insn_data[icode].operand[0].predicate (target, cmode)) in expand_bool_compare_and_swap()
5877 insn = GEN_FCN (icode) (subtarget); in expand_bool_compare_and_swap()
5922 enum insn_code icode; in expand_compare_and_swap_loop() local
5950 icode = sync_compare_and_swap_cc[mode]; in expand_compare_and_swap_loop()
5951 switch (icode) in expand_compare_and_swap_loop()
5955 cmp_reg, icode); in expand_compare_and_swap_loop()
5964 icode = sync_compare_and_swap[mode]; in expand_compare_and_swap_loop()
5965 if (icode == CODE_FOR_nothing) in expand_compare_and_swap_loop()
5969 cmp_reg, icode); in expand_compare_and_swap_loop()
5992 enum insn_code icode; in expand_sync_operation() local
5999 icode = sync_add_optab[mode]; in expand_sync_operation()
6002 icode = sync_ior_optab[mode]; in expand_sync_operation()
6005 icode = sync_xor_optab[mode]; in expand_sync_operation()
6008 icode = sync_and_optab[mode]; in expand_sync_operation()
6011 icode = sync_nand_optab[mode]; in expand_sync_operation()
6015 icode = sync_sub_optab[mode]; in expand_sync_operation()
6016 if (icode == CODE_FOR_nothing) in expand_sync_operation()
6018 icode = sync_add_optab[mode]; in expand_sync_operation()
6019 if (icode != CODE_FOR_nothing) in expand_sync_operation()
6032 if (icode != CODE_FOR_nothing) in expand_sync_operation()
6036 if (!insn_data[icode].operand[1].predicate (val, mode)) in expand_sync_operation()
6039 insn = GEN_FCN (icode) (mem, val); in expand_sync_operation()
6085 enum insn_code old_code, new_code, icode; in expand_sync_fetch_operation() local
6141 icode = new_code; in expand_sync_fetch_operation()
6142 if (icode == CODE_FOR_nothing) in expand_sync_fetch_operation()
6144 icode = old_code; in expand_sync_fetch_operation()
6145 if (icode != CODE_FOR_nothing) in expand_sync_fetch_operation()
6151 icode = old_code; in expand_sync_fetch_operation()
6152 if (icode == CODE_FOR_nothing in expand_sync_fetch_operation()
6155 icode = new_code; in expand_sync_fetch_operation()
6156 if (icode != CODE_FOR_nothing) in expand_sync_fetch_operation()
6162 if (icode != CODE_FOR_nothing) in expand_sync_fetch_operation()
6164 if (!target || !insn_data[icode].operand[0].predicate (target, mode)) in expand_sync_fetch_operation()
6169 if (!insn_data[icode].operand[2].predicate (val, mode)) in expand_sync_fetch_operation()
6172 insn = GEN_FCN (icode) (target, mem, val); in expand_sync_fetch_operation()
6244 enum insn_code icode; in expand_sync_lock_test_and_set() local
6248 icode = sync_lock_test_and_set[mode]; in expand_sync_lock_test_and_set()
6249 if (icode != CODE_FOR_nothing) in expand_sync_lock_test_and_set()
6251 if (!target || !insn_data[icode].operand[0].predicate (target, mode)) in expand_sync_lock_test_and_set()
6256 if (!insn_data[icode].operand[2].predicate (val, mode)) in expand_sync_lock_test_and_set()
6259 insn = GEN_FCN (icode) (target, mem, val); in expand_sync_lock_test_and_set()