LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Sponsors
  • Mirrors
  • Logos
  • Contact us
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cvs-checkins > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: OpenCores CVS Agent<cvs@o...>
    Date: Thu Jan 27 14:37:42 CET 2005
    Subject: [cvs-checkins] MODIFIED: or1k ...
    Top
    Date: 00/05/01 27:14:37

    Modified: or1k/or1ksim/cpu/or1k/opcode or32.h
    Log:
    * Fix generate.c to produce a execgen.c with less warnings.

    * Fix the --enable-simple configure option.


    Revision Changes Path
    1.20 +99 -80 or1k/or1ksim/cpu/or1k/opcode/or32.h

    http://www.opencores.org/cvsweb.shtml/or1k/or1ksim/cpu/or1k/opcode/or32.h.diff?r1=1.19&r2=1.20

    (In the diff below, changes in quantity of whitespace are not shown.)

    Index: or32.h
    ===================================================================
    RCS file: /cvsroot/nogj/or1k/or1ksim/cpu/or1k/opcode/or32.h,v
    retrieving revision 1.19
    retrieving revision 1.20
    diff -u -b -r1.19 -r1.20
    --- or32.h 27 Jan 2005 13:17:08 -0000 1.19
    +++ or32.h 27 Jan 2005 13:36:59 -0000 1.20
    @@ -74,11 +74,15 @@
    /* Opcode and operand encoding. */
    char *encoding;

    -#if defined(HAS_EXECUTION) && !SIMPLE_EXECUTION
    +#ifdef HAS_EXECUTION
    +# if !SIMPLE_EXECUTION
    char *function_name;
    -#else /* defined HAS_EXECUTION && !SIMPLE_EXECUTION */
    - void (*exec)();
    -#endif /* defined HAS_EXECUTION && !SIMPLE_EXECUTION */
    +# else /* !SIMPLE_EXECUTION */
    + void (*exec)(struct iqueue_entry *);
    +# endif
    +#else /* HAS_EXECUTION */
    + void (*exec)(void);
    +#endif

    unsigned int flags;
    };
    @@ -107,83 +111,98 @@
    unsigned long data;
    } **op_start;

    -#ifdef HAS_EXECUTION
    -extern void l_invalid PARAMS((void));
    -extern void l_sfne PARAMS((void));
    -extern void l_bf PARAMS((void));
    -extern void l_add PARAMS((void));
    -extern void l_addc PARAMS((void));
    -extern void l_sw PARAMS((void));
    -extern void l_sb PARAMS((void));
    -extern void l_sh PARAMS((void));
    -extern void l_lwz PARAMS((void));
    -extern void l_lbs PARAMS((void));
    -extern void l_lbz PARAMS((void));
    -extern void l_lhs PARAMS((void));
    -extern void l_lhz PARAMS((void));
    -extern void l_movhi PARAMS((void));
    -extern void l_and PARAMS((void));
    -extern void l_or PARAMS((void));
    -extern void l_xor PARAMS((void));
    -extern void l_sub PARAMS((void));
    -extern void l_mul PARAMS((void));
    -extern void l_div PARAMS((void));
    -extern void l_divu PARAMS((void));
    -extern void l_sll PARAMS((void));
    -extern void l_sra PARAMS((void));
    -extern void l_srl PARAMS((void));
    -extern void l_j PARAMS((void));
    -extern void l_jal PARAMS((void));
    -extern void l_jalr PARAMS((void));
    -extern void l_jr PARAMS((void));
    -extern void l_rfe PARAMS((void));
    -extern void l_nop PARAMS((void));
    -extern void l_bnf PARAMS((void));
    -extern void l_sfeq PARAMS((void));
    -extern void l_sfgts PARAMS((void));
    -extern void l_sfges PARAMS((void));
    -extern void l_sflts PARAMS((void));
    -extern void l_sfles PARAMS((void));
    -extern void l_sfgtu PARAMS((void));
    -extern void l_sfgeu PARAMS((void));
    -extern void l_sfltu PARAMS((void));
    -extern void l_sfleu PARAMS((void));
    -extern void l_extbs PARAMS((void));
    -extern void l_extbz PARAMS((void));
    -extern void l_exths PARAMS((void));
    -extern void l_exthz PARAMS((void));
    -extern void l_extws PARAMS((void));
    -extern void l_extwz PARAMS((void));
    -extern void l_mtspr PARAMS((void));
    -extern void l_mfspr PARAMS((void));
    -extern void l_sys PARAMS((void));
    -extern void l_trap PARAMS((void)); /* CZ 21/06/01 */
    -extern void l_macrc PARAMS((void));
    -extern void l_mac PARAMS((void));
    -extern void l_msb PARAMS((void));
    -extern void l_invalid PARAMS((void)); -extern void l_cmov PARAMS ((void)); -extern void l_ff1 PARAMS ((void)); -extern void l_cust1 PARAMS ((void)); -extern void l_cust2 PARAMS ((void)); -extern void l_cust3 PARAMS ((void)); -extern void l_cust4 PARAMS ((void)); -extern void lf_add_s PARAMS ((void)); -extern void lf_div_s PARAMS ((void)); -extern void lf_ftoi_s PARAMS ((void)); -extern void lf_itof_s PARAMS ((void)); -extern void lf_madd_s PARAMS ((void)); -extern void lf_mul_s PARAMS ((void)); -extern void lf_rem_s PARAMS ((void)); -extern void lf_sfeq_s PARAMS ((void)); -extern void lf_sfge_s PARAMS ((void)); -extern void lf_sfgt_s PARAMS ((void)); -extern void lf_sfle_s PARAMS ((void)); -extern void lf_sflt_s PARAMS ((void)); -extern void lf_sfne_s PARAMS ((void)); -extern void lf_sub_s PARAMS((void)); -#endif +/* Leaf flag used in automata building */ +#define LEAF_FLAG (0x80000000) + +struct temp_insn_struct +{ + unsigned long insn; + unsigned long insn_mask; + int in_pass; +}; + +extern unsigned long *automata; +extern struct temp_insn_struct *ti; + +#if defined(HAS_EXECUTION) && SIMPLE_EXECUTION +extern void l_invalid PARAMS((struct iqueue_entry *)); +extern void l_sfne PARAMS((struct iqueue_entry *)); +extern void l_bf PARAMS((struct iqueue_entry *)); +extern void l_add PARAMS((struct iqueue_entry *)); +extern void l_addc PARAMS((struct iqueue_entry *)); +extern void l_sw PARAMS((struct iqueue_entry *)); +extern void l_sb PARAMS((struct iqueue_entry *)); +extern void l_sh PARAMS((struct iqueue_entry *)); +extern void l_lwz PARAMS((struct iqueue_entry *)); +extern void l_lbs PARAMS((struct iqueue_entry *)); +extern void l_lbz PARAMS((struct iqueue_entry *)); +extern void l_lhs PARAMS((struct iqueue_entry *)); +extern void l_lhz PARAMS((struct iqueue_entry *)); +extern void l_movhi PARAMS((struct iqueue_entry *)); +extern void l_and PARAMS((struct iqueue_entry *)); +extern void l_or PARAMS((struct iqueue_entry *)); +extern void l_xor PARAMS((struct iqueue_entry *)); +extern void l_sub PARAMS((struct iqueue_entry *)); +extern void l_mul PARAMS((struct iqueue_entry *)); +extern void l_div PARAMS((struct iqueue_entry *)); +extern void l_divu PARAMS((struct iqueue_entry *)); +extern void l_sll PARAMS((struct iqueue_entry *)); +extern void l_sra PARAMS((struct iqueue_entry *)); +extern void l_srl PARAMS((struct iqueue_entry *)); +extern void l_j PARAMS((struct iqueue_entry *)); +extern void l_jal PARAMS((struct iqueue_entry *)); +extern void l_jalr PARAMS((struct iqueue_entry *)); +extern void l_jr PARAMS((struct iqueue_entry *)); +extern void l_rfe PARAMS((struct iqueue_entry *)); +extern void l_nop PARAMS((struct iqueue_entry *)); +extern void l_bnf PARAMS((struct iqueue_entry *)); +extern void l_sfeq PARAMS((struct iqueue_entry *)); +extern void l_sfgts PARAMS((struct iqueue_entry *)); +extern void l_sfges PARAMS((struct iqueue_entry *)); +extern void l_sflts PARAMS((struct iqueue_entry *)); +extern void l_sfles PARAMS((struct iqueue_entry *)); +extern void l_sfgtu PARAMS((struct iqueue_entry *)); +extern void l_sfgeu PARAMS()(struct iqueue_entry *); +extern void l_sfltu PARAMS((struct iqueue_entry *)); +extern void l_sfleu PARAMS((struct iqueue_entry *)); +extern void l_extbs PARAMS((struct iqueue_entry *)); +extern void l_extbz PARAMS((struct iqueue_entry *)); +extern void l_exths PARAMS((struct iqueue_entry *)); +extern void l_exthz PARAMS((struct iqueue_entry *)); +extern void l_extws PARAMS((struct iqueue_entry *)); +extern void l_extwz PARAMS((struct iqueue_entry *)); +extern void l_mtspr PARAMS((struct iqueue_entry *)); +extern void l_mfspr PARAMS((struct iqueue_entry *)); +extern void l_sys PARAMS((struct iqueue_entry *)); +extern void l_trap PARAMS((struct iqueue_entry *)); /* CZ 21/06/01 */ +extern void l_macrc PARAMS((struct iqueue_entry *)); +extern void l_mac PARAMS((struct iqueue_entry *)); +extern void l_msb PARAMS((struct iqueue_entry *)); +extern void l_invalid PARAMS((struct iqueue_entry *)); +extern void l_cmov PARAMS ((struct iqueue_entry *)); +extern void l_ff1 PARAMS ((struct iqueue_entry *)); +extern void l_cust1 PARAMS ((struct iqueue_entry *)); +extern void l_cust2 PARAMS ((struct iqueue_entry *)); +extern void l_cust3 PARAMS ((struct iqueue_entry *)); +extern void l_cust4 PARAMS ((struct iqueue_entry *)); +extern void lf_add_s PARAMS ((struct iqueue_entry *)); +extern void lf_div_s PARAMS ((struct iqueue_entry *)); +extern void lf_ftoi_s PARAMS ((struct iqueue_entry *)); +extern void lf_itof_s PARAMS ((struct iqueue_entry *)); +extern void lf_madd_s PARAMS ((struct iqueue_entry *)); +extern void lf_mul_s PARAMS ((struct iqueue_entry *)); +extern void lf_rem_s PARAMS ((struct iqueue_entry *)); +extern void lf_sfeq_s PARAMS ((struct iqueue_entry *)); +extern void lf_sfge_s PARAMS ((struct iqueue_entry *)); +extern void lf_sfgt_s PARAMS ((struct iqueue_entry *)); +extern void lf_sfle_s PARAMS ((struct iqueue_entry *)); +extern void lf_sflt_s PARAMS ((struct iqueue_entry *)); +extern void lf_sfne_s PARAMS ((struct iqueue_entry *)); +extern void lf_sub_s PARAMS((struct iqueue_entry *)); +extern void l_none PARAMS((struct iqueue_entry *)); +#else extern void l_none PARAMS((void)); +#endif extern CONST struct or32_letter or32_letters[];

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.