Home | History | Annotate | Download | only in config

Lines Matching refs:fragP

318 epiphany_handle_align (fragS *fragp)
323 if (fragp->fr_type != rs_align_code)
326 bytes = fragp->fr_next->fr_address - fragp->fr_address - fragp->fr_fix;
327 p = fragp->fr_literal + fragp->fr_fix;
344 fragp->fr_fix += fix;
677 epiphany_relax_frag (segT segment, fragS *fragP, long stretch)
680 long address ATTRIBUTE_UNUSED = fragP->fr_address + fragP->fr_fix - 2;
683 if (fragP->fr_subtype == EPIPHANY_RELAX_NEED_RELAXING)
685 EPIPHANY_RELAX_TYPES subtype = relax_insn [*fragP->fr_opcode & 0xf];
690 if ((*fragP->fr_opcode & 0x10) == 0)
695 if ((*fragP->fr_opcode & 0x10) == 0)
700 fragP->fr_subtype = subtype;
703 growth = relax_frag (segment, fragP, stretch);
720 md_estimate_size_before_relax (fragS *fragP, segT segment)
727 if (S_GET_SEGMENT (fragP->fr_symbol) != segment
728 || S_IS_EXTERNAL (fragP->fr_symbol)
729 || S_IS_WEAK (fragP->fr_symbol))
738 epiphany_relax_frag (segment, fragP, 0);
739 subtype = fragP->fr_subtype;
760 fragP->fr_subtype = subtype;
768 for (i = 0, insn = fragP->fr_cgen.insn; i < 4; i++, insn++)
771 CGEN_INSN_MNEMONIC (fragP->fr_cgen.insn))
780 fragP->fr_cgen.insn = insn;
784 return md_relax_table[fragP->fr_subtype].rlx_length;
787 /* *FRAGP has been relaxed to its final size, and now needs to have
791 fragP->fr_type == rs_machine_dependent.
792 fragP->fr_subtype is the subtype of what the address relaxed to. */
797 fragS *fragP)
807 opcode = fragP->fr_opcode;
810 opcode_address = fragP->fr_address + fragP->fr_fix - 2;
815 if (S_GET_SEGMENT (fragP->fr_symbol) != sec
816 || S_IS_EXTERNAL (fragP->fr_symbol)
817 || S_IS_WEAK (fragP->fr_symbol))
820 if (fragP->fr_offset & 1)
827 target_address = S_GET_VALUE (fragP->fr_symbol) + fragP->fr_offset;
832 switch (fragP->fr_subtype)
926 if (S_GET_SEGMENT (fragP->fr_symbol) != sec
927 || S_IS_EXTERNAL (fragP->fr_symbol)
928 || S_IS_WEAK (fragP->fr_symbol))
935 gas_assert (fragP->fr_cgen.insn != 0);
937 reloc_type = md_cgen_lookup_reloc (fragP->fr_cgen.insn, operand, NULL);
939 fixP = gas_cgen_record_fixup (fragP,
941 (opcode - fragP->fr_literal),
942 fragP->fr_cgen.insn,
943 CGEN_INSN_BITSIZE (fragP->fr_cgen.insn) / 8,
946 fragP->fr_symbol, fragP->fr_offset);
952 fragP->fr_fix += (extension & -2); /* 0,2 or 4 bytes added. */