v850 sim noncompile (was: Re: Add v850 linker relaxation)

Andrew Cagney ac131313@ges.redhat.com
Thu Sep 19 08:15:00 GMT 2002


> 
> Andrew, Nick is perfectly correct:
> 2002-08-28  Catherine Moore  <clm@redhat.com>
> 
>         * elf32-v850.c (v850_elf_reloc_map):  Add new relocs.
>         (v850-elf-reloc): Don't resolve pc relative relocs.
>         (v850_elf_ignore_reloc): New routine.
>         (v850_elf_final_link_relocate): Handle new relocs.
>         (v850_elf_relax_delete_bytes ): New routine.
>         (v850_elf_relax_section): New routine.
>         (bfd_elf32_bfd_relax_section): Define.
>         (HOWTO): New entries for new relocs.
>         * reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
>         (BFD_RELOC_V850_LONGJUMP): New reloc.
>         (BFD_RELOC_V850_ALIGN): New reloc.
>         * archures.c: Remove redundant v850ea architecture.
>         * cpu-v850.c: Remove redundant v850ea support.
>         * libbfd.h: Regenerate.
>         * bfd-in2.h: Regenerated.

The patch doesn't so much remove left over redundancy as delete an 
entire ISA:

-
- // DIVHN
- rrrrr,111111,RRRRR + wwwww,01010,iiii,00:XI:::divhn
- *v850ea
- "divhn <imm5>, r<reg1>, r<reg2>, r<reg3>"
- {
-   signed32 quotient;
-   signed32 remainder;
-   signed32 divide_by;
-   signed32 divide_this;
-   boolean overflow = false;
-   SAVE_2;
-
-   trace_input ("divhn", OP_IMM_REG_REG_REG, 0);
-
-   divide_by   = EXTEND16 (State.regs[ reg1 ]);
-   divide_this = State.regs[ reg2 ];
-
-   divn (imm5, divide_by, divide_this, & quotient, & remainder, & 
overflow);
-
-   State.regs[ reg2 ] = quotient;
-   State.regs[ reg3 ] = remainder;
-
-   /* Set condition codes.  */
-   PSW &= ~(PSW_Z | PSW_S | PSW_OV);
-
-   if (overflow)      PSW |= PSW_OV;
-   if (quotient == 0) PSW |= PSW_Z;
-   if (quotient <  0) PSW |= PSW_S;
-
-   trace_output (OP_IMM_REG_REG_REG);
- }
-

Andrew




More information about the Gdb-patches mailing list