Merge branch 'master' into neon
authorDavid Schleef <ds@schleef.org>
Thu, 15 Apr 2010 20:07:20 +0000 (13:07 -0700)
committerDavid Schleef <ds@schleef.org>
Thu, 15 Apr 2010 20:07:20 +0000 (13:07 -0700)
Conflicts:
doc/table.xml
orc/orcprogram-sse.c
orc/orcprogram.h
testsuite/Makefile.am
testsuite/generate_xml_table.c

1  2 
orc-float/orcfloat.c
orc-test/orctest.c
orc-test/orctest.h
orc/Makefile.am
orc/orc.c
orc/orcprogram.h
testsuite/Makefile.am
testsuite/generate_xml_table.c

@@@ -8,10 -8,11 +8,12 @@@
  #include <string.h>
  #include <math.h>
  
- static OrcStaticOpcode opcodes[];
+ /* This should be static, but compilers can't agree on what to use
+  * for forward declarations of static arrays. */
+ OrcStaticOpcode opcodes[];
  
  void orc_float_sse_register_rules (void);
 +void orc_float_neon_register_rules (void);
  
  void
  orc_float_init (void)
Simple merge
Simple merge
diff --cc orc/Makefile.am
@@@ -30,12 -32,7 +32,11 @@@ liborc_@ORC_MAJORMINOR@_la_SOURCES = 
        orcrules-mmx.c \
        orcrules-sse.c \
        orcrules-arm.c \
 +      orcprogram-neon.c \
 +      orcrules-neon.c \
 +      orcprogram-c64x.c \
 +      orcrules-c64x.c \
        orcdebug.c \
-       orcutils.c \
        orcpowerpc.c \
        orcsse.c \
        orcmmx.c \
diff --cc orc/orc.c
Simple merge
@@@ -371,8 -380,8 +384,9 @@@ struct _OrcCompiler 
    int exec_reg;
    int gp_tmpreg;
  
 +  int insn_index;
    int need_mask_regs;
+   int unroll_shift;
  };
  
  #define ORC_SRC_ARG(p,i,n) ((p)->vars[(i)->src_args[(n)]].alloc)
@@@ -491,8 -507,7 +512,9 @@@ void orc_sse_init (void)
  void orc_arm_init (void);
  void orc_powerpc_init (void);
  void orc_c_init (void);
 +void orc_neon_init (void);
 +void orc_c64x_init (void);
+ void orc_c64x_c_init (void);
  
  OrcCompileResult orc_program_compile (OrcProgram *p);
  OrcCompileResult orc_program_compile_for_target (OrcProgram *p, OrcTarget *target);
Simple merge
@@@ -38,13 -38,10 +38,16 @@@ main (int argc, char *argv[]
    targets[3] = orc_target_get_by_name("arm");
    target_flags[3] = orc_target_get_default_flags(targets[3]);
  
 -  targets[4] = orc_target_get_by_name("c64x-c");
 +  targets[4] = orc_target_get_by_name("neon");
    target_flags[4] = orc_target_get_default_flags(targets[4]);
  
 -  n_targets=5;
 +  targets[5] = orc_target_get_by_name("c64x");
 +  target_flags[5] = orc_target_get_default_flags(targets[5]);
 +
-   n_targets=6;
++  targets[6] = orc_target_get_by_name("c64x-c");
++  target_flags[6] = orc_target_get_default_flags(targets[4]);
++
++  n_targets=7;
    
    printf(
  "<table frame=\"all\" id=\"table-basictypes\" xreflabel=\"Table of Opcode Rule Coverage\">\n"