Lines Matching +defs:label +defs:offset
346 /* Compute an approximation for the offset between the register
463 rtx_addr_can_trap_p_1 (const_rtx x, poly_int64 offset, poly_int64 size,
472 /* The offset must be a multiple of the mode size if we are considering
479 poly_int64 actual_offset = offset;
504 if (maybe_lt (offset, 0))
507 return maybe_ne (offset, 0);
530 ? maybe_ne (offset, 0)
531 : !known_subrange_p (offset, size, 0, decl_size));
640 if (known_ge (offset, low_bound)
641 && known_le (offset, high_bound - size))
652 return rtx_addr_can_trap_p_1 (XEXP (x, 0), offset, size,
657 - it is the pic register plus a const unspec without offset. */
661 && known_eq (offset, 0))
666 && !rtx_addr_can_trap_p_1 (XEXP (x, 0), offset + const_x1,
674 return rtx_addr_can_trap_p_1 (XEXP (x, 1), offset, size,
682 return rtx_addr_can_trap_p_1 (XEXP (x, 0), offset, size,
761 /* Similarly. Further, the offset is always positive. */
897 offset_within_block_p (const_rtx symbol, HOST_WIDE_INT offset)
904 if (offset == 0)
907 if (offset > 0)
910 && offset < (int) GET_MODE_SIZE (get_pool_mode (symbol)))
914 if (decl && offset < int_size_in_bytes (TREE_TYPE (decl)))
921 && ((unsigned HOST_WIDE_INT) offset + SYMBOL_REF_BLOCK_OFFSET (symbol)
928 /* Split X into a base and a constant offset, storing them in *BASE_OUT
948 /* Express integer value X as some value Y plus a polynomial offset,
950 to a new rtx). Return the Y and store the offset in *OFFSET_OUT. */
1655 poly_int64 offset = GET_MODE_UNIT_SIZE (GET_MODE (src0)) * c0;
1667 offset, GET_MODE (dst)) == (int) REGNO (dst);
3190 /* Create a copy of constant C; replace the label inside
3236 /* Check if a label_ref Y refers to label X. */
3253 /* If INSN is a tablejump return true and store the label (before jump table) to
3267 rtx_insn *label = as_a<rtx_insn *> (target);
3268 rtx_insn *table = next_insn (label);
3273 *labelp = label;
3643 byte offset SUBREG_BYTE within an inner value of INNER_BYTES bytes. */
3689 /* Given a subreg X, return the bit offset where the subreg begins
3699 /* Return the subreg byte offset for a subreg whose outer value has
3741 offset - The byte offset.
3748 function does not check whether adding INFO->offset to XREGNO gives
3749 a valid hard register; even if INFO->offset + XREGNO is out of range,
3759 poly_uint64 offset, machine_mode ymode,
3778 scalars, and thus a constant offset and number of units. */
3779 HOST_WIDE_INT coffset = offset.to_constant ();
3817 if (!rknown && known_eq (offset, 0U) && maybe_gt (ysize, xsize))
3822 return a negative offset so that we find the proper highpart
3830 info->offset = (int) nregs_xmode - (int) nregs_ymode;
3832 info->offset = 0;
3851 || !can_div_trunc_p (offset, regsize_xmode, &info->offset))
3859 if (!rknown && maybe_gt (ysize + offset, xsize))
3863 if (!can_div_trunc_p (offset, regsize_xmode, &info->offset))
3878 && constant_multiple_p (offset, regsize_ymode, &count))
3882 info->offset = count;
3883 gcc_assert (info->offset + info->nregs <= (int) nregs_xmode);
3889 if (!rknown && known_eq (offset, subreg_lowpart_offset (ymode, xmode)))
3894 if (known_eq (offset, 0U) || nregs_xmode == nregs_ymode)
3896 info->offset = 0;
3917 offset of the subreg from the start of that block. */
3920 if (!can_div_trunc_p (offset, bytes_per_block, &block_number,
3944 info->offset = (num_blocks - block_number - 1) * nregs_ymode;
3946 info->offset = block_number * nregs_ymode;
3950 /* This function returns the regno offset of a subreg expression.
3953 offset - The byte offset.
3955 RETURN - The regno offset which would be used. */
3958 poly_uint64 offset, machine_mode ymode)
3961 subreg_get_info (xregno, xmode, offset, ymode, &info);
3962 return info.offset;
3965 /* This function returns true when the offset is representable via
3969 offset - The byte offset.
3971 RETURN - Whether the offset is representable. */
3974 poly_uint64 offset, machine_mode ymode)
3977 subreg_get_info (xregno, xmode, offset, ymode, &info);
3991 poly_uint64 offset, machine_mode ymode)
4017 /* Try to get the register offset. */
4018 subreg_get_info (xregno, xmode, offset, ymode, &info);
4023 yregno = xregno + info.offset;
4212 label_is_jump_target_p (const_rtx label, const rtx_insn *jump_insn)
4217 if (label == tmp)
4226 if (XEXP (RTVEC_ELT (vec, i), 0) == label)
4230 if (find_reg_note (jump_insn, REG_LABEL_TARGET, label))