renamed register classes
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Sat, 8 Apr 2006 00:57:42 +0000 (00:57 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Sat, 8 Apr 2006 00:57:42 +0000 (00:57 +0000)
fixed empty comments

ir/be/mips/bearch_mips.c
ir/be/mips/mips_scheduler.c
ir/be/mips/mips_spec.pl
ir/be/mips/mips_transform.c

index 3e96f2f..6371ec8 100644 (file)
@@ -132,7 +132,7 @@ static const arch_register_req_t *mips_get_irn_reg_req(const void *self, arch_re
                                assert(0 && "floating point not supported (yet)");
                        }
                        else if (mode_is_int(mode) || mode_is_reference(mode)) {
-                               memcpy(req, &(mips_default_req_mips_general_purpose.req), sizeof(*req));
+                               memcpy(req, &(mips_default_req_mips_gp.req), sizeof(*req));
                        }
                        else if (mode == mode_T || mode == mode_M) {
                                DBG((mod, LEVEL_1, "ignoring Phi node %+F\n", irn));
@@ -556,8 +556,8 @@ static void *mips_cg_init(const be_irg_t *birg) {
 
 static mips_isa_t mips_isa_template = {
        &mips_isa_if,
-       &mips_general_purpose_regs[REG_SP],
-       &mips_general_purpose_regs[REG_FP],
+       &mips_gp_regs[REG_SP],
+       &mips_gp_regs[REG_FP],
        -1,             // stack direction
        0,              // num codegens?!? TODO what is this?
        NULL
@@ -613,7 +613,7 @@ static const arch_register_class_t *mips_get_reg_class(const void *self, int i)
  */
 const arch_register_class_t *mips_get_reg_class_for_mode(const void *self, const ir_mode *mode) {
        ASSERT_NO_FLOAT(mode);
-       return &mips_reg_classes[CLASS_mips_general_purpose];
+       return &mips_reg_classes[CLASS_mips_gp];
 }
 
 typedef struct {
@@ -651,8 +651,8 @@ static const arch_register_t *mips_abi_prologue(void *self, ir_node** mem, pmap
        dbg_info *dbg = NULL; // TODO where can I get this from?
        ir_node *block = get_irg_start_block(env->irg);
        mips_attr_t *attr;
-       ir_node *sp = be_abi_reg_map_get(reg_map, &mips_general_purpose_regs[REG_SP]);
-       ir_node *fp = be_abi_reg_map_get(reg_map, &mips_general_purpose_regs[REG_FP]);
+       ir_node *sp = be_abi_reg_map_get(reg_map, &mips_gp_regs[REG_SP]);
+       ir_node *fp = be_abi_reg_map_get(reg_map, &mips_gp_regs[REG_FP]);
        int initialstackframesize;
 
        if(env->debug) {
@@ -670,13 +670,13 @@ static const arch_register_t *mips_abi_prologue(void *self, ir_node** mem, pmap
                sp = new_rd_mips_addi(dbg, irg, block, sp, mode_Is);
                attr = get_mips_attr(sp);
                attr->tv = new_tarval_from_long(-initialstackframesize, mode_Is);
-               mips_set_irn_reg(NULL, sp, &mips_general_purpose_regs[REG_SP]);
-               //arch_set_irn_register(mips_get_arg_env(), sp, &mips_general_purpose_regs[REG_SP]);
+               mips_set_irn_reg(NULL, sp, &mips_gp_regs[REG_SP]);
+               //arch_set_irn_register(mips_get_arg_env(), sp, &mips_gp_regs[REG_SP]);
 
                /* TODO: where to get an edge with a0-a3
                int i;
                for(i = 0; i < 4; ++i) {
-                       ir_node *reg = be_abi_reg_map_get(reg_map, &mips_general_purpose_regs[REG_A0 + i]);
+                       ir_node *reg = be_abi_reg_map_get(reg_map, &mips_gp_regs[REG_A0 + i]);
                        ir_node *store = new_rd_mips_store_r(dbg, irg, block, *mem, sp, reg, mode_T);
                        attr = get_mips_attr(store);
                        attr->load_store_mode = mode_Iu;
@@ -686,7 +686,7 @@ static const arch_register_t *mips_abi_prologue(void *self, ir_node** mem, pmap
                }
                */
 
-               reg = be_abi_reg_map_get(reg_map, &mips_general_purpose_regs[REG_FP]);
+               reg = be_abi_reg_map_get(reg_map, &mips_gp_regs[REG_FP]);
                store = new_rd_mips_store_r(dbg, irg, block, *mem, sp, reg, mode_T);
                attr = get_mips_attr(store);
                attr->modes.load_store_mode = mode_Iu;
@@ -694,7 +694,7 @@ static const arch_register_t *mips_abi_prologue(void *self, ir_node** mem, pmap
 
                mm[4] = new_r_Proj(irg, block, store, mode_M, pn_Store_M);
 
-               reg = be_abi_reg_map_get(reg_map, &mips_general_purpose_regs[REG_RA]);
+               reg = be_abi_reg_map_get(reg_map, &mips_gp_regs[REG_RA]);
                store = new_rd_mips_store_r(dbg, irg, block, *mem, sp, reg, mode_T);
                attr = get_mips_attr(store);
                attr->modes.load_store_mode = mode_Iu;
@@ -713,10 +713,10 @@ static const arch_register_t *mips_abi_prologue(void *self, ir_node** mem, pmap
                sp = new_rd_mips_addi(dbg, irg, block, sp, mode_Is);
                attr = get_mips_attr(sp);
                attr->tv = new_tarval_from_long(-initialstackframesize, mode_Is);
-               mips_set_irn_reg(NULL, sp, &mips_general_purpose_regs[REG_SP]);
-               //arch_set_irn_register(mips_get_arg_env(), sp, &mips_general_purpose_regs[REG_SP]);
+               mips_set_irn_reg(NULL, sp, &mips_gp_regs[REG_SP]);
+               //arch_set_irn_register(mips_get_arg_env(), sp, &mips_gp_regs[REG_SP]);
 
-               reg = be_abi_reg_map_get(reg_map, &mips_general_purpose_regs[REG_FP]);
+               reg = be_abi_reg_map_get(reg_map, &mips_gp_regs[REG_FP]);
                store = new_rd_mips_store_r(dbg, irg, block, *mem, sp, reg, mode_T);
                attr = get_mips_attr(store);
                attr->modes.load_store_mode = mode_Iu;
@@ -729,13 +729,13 @@ static const arch_register_t *mips_abi_prologue(void *self, ir_node** mem, pmap
        fp = new_rd_mips_addi(dbg, irg, block, sp, mode_Is);
        attr = get_mips_attr(fp);
        attr->tv = new_tarval_from_long(initialstackframesize, mode_Is);
-       mips_set_irn_reg(NULL, fp, &mips_general_purpose_regs[REG_FP]);
-       //arch_set_irn_register(mips_get_arg_env(), fp, &mips_general_purpose_regs[REG_FP]);
+       mips_set_irn_reg(NULL, fp, &mips_gp_regs[REG_FP]);
+       //arch_set_irn_register(mips_get_arg_env(), fp, &mips_gp_regs[REG_FP]);
 
-       be_abi_reg_map_set(reg_map, &mips_general_purpose_regs[REG_FP], fp);
-       be_abi_reg_map_set(reg_map, &mips_general_purpose_regs[REG_SP], sp);
+       be_abi_reg_map_set(reg_map, &mips_gp_regs[REG_FP], fp);
+       be_abi_reg_map_set(reg_map, &mips_gp_regs[REG_SP], sp);
 
-       return &mips_general_purpose_regs[REG_SP];
+       return &mips_gp_regs[REG_SP];
 }
 
 static void mips_abi_epilogue(void *self, ir_node *block, ir_node **mem, pmap *reg_map)
@@ -744,19 +744,19 @@ static void mips_abi_epilogue(void *self, ir_node *block, ir_node **mem, pmap *r
        ir_graph *irg = env->irg;
        dbg_info *dbg = NULL; // TODO where can I get this from?
        mips_attr_t *attr;
-       ir_node *sp = be_abi_reg_map_get(reg_map, &mips_general_purpose_regs[REG_SP]);
-       ir_node *fp = be_abi_reg_map_get(reg_map, &mips_general_purpose_regs[REG_FP]);
+       ir_node *sp = be_abi_reg_map_get(reg_map, &mips_gp_regs[REG_SP]);
+       ir_node *fp = be_abi_reg_map_get(reg_map, &mips_gp_regs[REG_FP]);
        ir_node *load;
        int initial_frame_size = env->debug ? 24 : 4;
        int fp_save_offset = env->debug ? 16 : 0;
 
        // restore sp
-       //sp = be_new_IncSP(&mips_general_purpose_regs[REG_SP], irg, block, sp, *mem, BE_STACK_FRAME_SIZE, be_stack_dir_against);
+       //sp = be_new_IncSP(&mips_gp_regs[REG_SP], irg, block, sp, *mem, BE_STACK_FRAME_SIZE, be_stack_dir_against);
 
        // copy fp to sp
        sp = new_rd_mips_move(dbg, irg, block, fp, mode_Iu);
-       mips_set_irn_reg(NULL, sp, &mips_general_purpose_regs[REG_SP]);
-       //arch_set_irn_register(mips_get_arg_env(), fp, &mips_general_purpose_regs[REG_SP]);
+       mips_set_irn_reg(NULL, sp, &mips_gp_regs[REG_SP]);
+       //arch_set_irn_register(mips_get_arg_env(), fp, &mips_gp_regs[REG_SP]);
 
        // 1. restore fp
        load = new_rd_mips_load_r(dbg, irg, block, *mem, sp, mode_T);
@@ -766,11 +766,11 @@ static void mips_abi_epilogue(void *self, ir_node *block, ir_node **mem, pmap *r
        attr->tv = new_tarval_from_long(fp_save_offset - initial_frame_size, mode_Is);
 
        fp = new_r_Proj(irg, block, load, mode_Iu, pn_Load_res);
-       mips_set_irn_reg(NULL, fp, &mips_general_purpose_regs[REG_FP]);
-       //arch_set_irn_register(mips_get_arg_env(), fp, &mips_general_purpose_regs[REG_FP]);
+       mips_set_irn_reg(NULL, fp, &mips_gp_regs[REG_FP]);
+       //arch_set_irn_register(mips_get_arg_env(), fp, &mips_gp_regs[REG_FP]);
 
-       be_abi_reg_map_set(reg_map, &mips_general_purpose_regs[REG_FP], fp);
-       be_abi_reg_map_set(reg_map, &mips_general_purpose_regs[REG_SP], sp);
+       be_abi_reg_map_set(reg_map, &mips_gp_regs[REG_FP], fp);
+       be_abi_reg_map_set(reg_map, &mips_gp_regs[REG_SP], sp);
 }
 
 /**
@@ -867,7 +867,7 @@ static void mips_get_call_abi(const void *self, ir_type *method_type, be_abi_cal
        for (i = 0; i < n; i++) {
                // first 4 params in $a0-$a3, the others on the stack
                if(i < 4) {
-                       reg = &mips_general_purpose_regs[REG_A0 + i];
+                       reg = &mips_gp_regs[REG_A0 + i];
                        be_abi_call_param_reg(abi, i, reg);
                } else {
                        /* default: all parameters on stack */
@@ -885,7 +885,7 @@ static void mips_get_call_abi(const void *self, ir_type *method_type, be_abi_cal
                mode = get_type_mode(tp);
                ASSERT_NO_FLOAT(mode);
 
-               reg = &mips_general_purpose_regs[REG_V0 + i];
+               reg = &mips_gp_regs[REG_V0 + i];
                be_abi_call_res_reg(abi, i, reg);
        }
 }
index 5b3a043..aabc0f9 100644 (file)
@@ -30,7 +30,7 @@ typedef struct {
         * have to pass before we can access that register again
         * (because mips will write the register value back in the WB phase of the pipeline)
         */
-       int busy_registers[N_mips_general_purpose_REGS];
+       int busy_registers[N_mips_gp_REGS];
        /// current block
        ir_node* block;
        ir_node* last_nop;
index c116c58..99a1665 100644 (file)
@@ -61,6 +61,9 @@ $comment_string = "#";
 #        for i = 1 .. arity: ir_node *op_i
 #        ir_mode *mode
 #
+# outs:  if a node defines more than one output, the names of the projections
+#        nodes having outs having automatically the mode mode_T
+#
 # comment: OPTIONAL comment for the node constructor
 #
 # rd_constructor: for every operation there will be a
@@ -86,7 +89,7 @@ $comment_string = "#";
 #   4 - ignore (do not assign this register)
 # NOTE: Last entry of each class is the largest Firm-Mode a register can hold\
 %reg_classes = (
-  "general_purpose" => [
+  "gp" => [
                          { name => "zero", type => 4+2 },  # always zero
                          { name => "at", type => 4 }, # reserved for assembler
                          { name => "v0", type => 1 }, # first return value
@@ -155,30 +158,30 @@ $comment_string = "#";
 
 add => {
   op_flags  => "C",
-  reg_req   => { in => [ "general_purpose", "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp", "gp" ], out => [ "gp" ] },
   emit      => '. addu %D1, %S1, %S2'
 },
 
 addi => {
-  reg_req   => { in => [ "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp" ], out => [ "gp" ] },
   emit      => '. addiu %D1, %S1, %C',
   cmp_attr => 'return attr_a->tv != attr_b->tv;',
 },
 
 and => {
   op_flags  => "C",
-  reg_req   => { in => [ "general_purpose", "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp", "gp" ], out => [ "gp" ] },
   emit      => '. and %D1, %S1, %S2',
 },
 
 andi => {
-  reg_req   => { in => [ "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp" ], out => [ "gp" ] },
   emit      => '. andi %D1, %S1, %C',
   cmp_attr => 'return attr_a->tv != attr_b->tv;',
 },
 
 div => {
-  reg_req   => { in => [ "general_purpose", "general_purpose" ], out => [ "none", "none", "none", "none" ] },
+  reg_req   => { in => [ "gp", "gp" ], out => [ "none", "none", "none", "none" ] },
   emit      => '
        mips_attr_t *attr = get_mips_attr(n);
        if (attr->modes.original_mode->sign) {
@@ -191,114 +194,126 @@ div => {
 
 mult => {
   op_flags  => "C",
-  reg_req   => { in => [ "general_purpose", "general_purpose" ], out => [ "none" ] },
+  reg_req   => { in => [ "gp", "gp" ], out => [ "none" ] },
   emit      => '
-       if (mode_is_signed(get_irn_mode(n)))
+       if (mode_is_signed(get_irn_mode(n))) {
 2.             mult %S1, %S2
-       else
+       }
+       else {
 2.             multu %S1, %S2
-'
+       }
+',
 },
 
 nor => {
   op_flags  => "C",
-  reg_req   => { in => [ "general_purpose", "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp", "gp" ], out => [ "gp" ] },
   emit      => '. nor %D1, %S1, %S2'
 },
 
 not => {
-  reg_req   => { in => [ "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp" ], out => [ "gp" ] },
   emit      => '. nor %D1, %S1, $zero'
 },
 
 or => {
   op_flags  => "C",
-  reg_req   => { in => [ "general_purpose", "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp", "gp" ], out => [ "gp" ] },
   emit      => '. or %D1, %S1, %S2'
 },
 
 ori => {
-  reg_req   => { in => [ "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp" ], out => [ "gp" ] },
   emit      => '. ori %D1, %S1, %C',
   cmp_attr => 'return attr_a->tv != attr_b->tv;',
 },
 
 sl => {
-  reg_req   => { in => [ "general_purpose", "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp", "gp" ], out => [ "gp" ] },
   emit      => '
-       if (mode_is_signed(get_irn_mode(n)))
+       if (mode_is_signed(get_irn_mode(n))) {
 2.             sal %D1, %S1, %S2
-       else
-2.             sll %D1, %S1, %S2',
+       }
+       else {
+2.             sll %D1, %S1, %S2
+       }
+',
 },
 
 sli => {
-  reg_req   => { in => [ "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp" ], out => [ "gp" ] },
   emit      => '
-       if (mode_is_signed(get_irn_mode(n)))
+       if (mode_is_signed(get_irn_mode(n))) {
 2.             sal %D1, %S1, %C
-       else
-2.             sll %D1, %S1, %C',
+       }
+       else {
+2.             sll %D1, %S1, %C
+       }
+',
 },
 
 sra => {
-  reg_req   => { in => [ "general_purpose", "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp", "gp" ], out => [ "gp" ] },
   emit      => '. sra %D1, %S1, %S2',
 },
 
 srai => {
-  reg_req   => { in => [ "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp" ], out => [ "gp" ] },
   emit      => '. sra %D1, %S1, %C',
   cmp_attr => 'return attr_a->tv != attr_b->tv;',
 },
 
 sr => {
-  reg_req   => { in => [ "general_purpose", "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp", "gp" ], out => [ "gp" ] },
   emit      => '
-       if (mode_is_signed(get_irn_mode(n)))
+       if (mode_is_signed(get_irn_mode(n))) {
 2.             sra %D1, %S1, %S2
-       else
+       }
+       else {
 2.             srl %D1, %S1, %S2
+       }
 ',
 },
 
 sri => {
-  reg_req   => { in => [ "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp" ], out => [ "gp" ] },
   emit      => '
-       if (mode_is_signed(get_irn_mode(n)))
+       if (mode_is_signed(get_irn_mode(n))) {
 2.             sra %D1, %S1, %C
-       else
+       }
+       else {
 2.             srl %D1, %S1, %C
+       }
 ',
 },
 
 srlv => {
-  reg_req   => { in => [ "general_purpose", "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp", "gp" ], out => [ "gp" ] },
   emit      => '. srlv %D1, %S1, %S2',
 },
 
 sllv => {
-  reg_req   => { in => [ "general_purpose", "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp", "gp" ], out => [ "gp" ] },
   emit      => '. sllv %D1, %S1, %S2',
 },
 
 sub => {
-  reg_req   => { in => [ "general_purpose", "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp", "gp" ], out => [ "gp" ] },
   emit      => '. subu %D1, %S1, %S2',
 },
 
 subuzero => {
-  reg_req      => { in => [ "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req      => { in => [ "gp" ], out => [ "gp" ] },
   emit => '. subu %D1, $zero, %S1',
 },
 
 xor => {
-  reg_req   => { in => [ "general_purpose", "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp", "gp" ], out => [ "gp" ] },
   emit      => '. xor %D1, %S1, %S2'
 },
 
 xori => {
-  reg_req   => { in => [ "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp" ], out => [ "gp" ] },
   emit      => '. xori %D1, %S1, %C',
   cmp_attr => 'return attr_a->tv != attr_b->tv;',
 },
@@ -313,7 +328,7 @@ xori => {
 # load upper imediate
 lui => {
   op_flags     => "c",
-  reg_req   => { out => [ "general_purpose" ] },
+  reg_req   => { out => [ "gp" ] },
   emit      => '. lui %D1, %C',
   cmp_attr => 'return attr_a->tv != attr_b->tv;',
 },
@@ -321,25 +336,25 @@ lui => {
 # load lower immediate
 lli => {
   op_flags     => "c",
-  reg_req   => { in => [ "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp" ], out => [ "gp" ] },
   emit      => '. ori %D1, %S1, %C',
   cmp_attr => 'return attr_a->tv != attr_b->tv;',
 },
 
 la => {
   op_flags     => "c",
-  reg_req   => { out => [ "general_purpose" ] },
+  reg_req   => { out => [ "gp" ] },
   emit      => '. la %D1, %C',
   cmp_attr => 'return attr_a->symconst_id != attr_b->symconst_id;',
 },
 
 mflo => {
-  reg_req => { in => [ "none" ], out => [ "general_purpose" ] },
+  reg_req => { in => [ "none" ], out => [ "gp" ] },
   emit   => '. mflo %D1'
 },
 
 mfhi => {
-  reg_req => { in => [ "none" ], out => [ "general_purpose" ] },
+  reg_req => { in => [ "none" ], out => [ "gp" ] },
   emit   => '. mfhi %D1'
 },
 
@@ -358,22 +373,26 @@ zero => {
 #
 
 slt => {
-       reg_req => { in => [ "general_purpose", "general_purpose" ], out => [ "general_purpose" ] },
+       reg_req => { in => [ "gp", "gp" ], out => [ "gp" ] },
        emit => '
-       if (mode_is_signed(get_irn_mode(n)))
+       if (mode_is_signed(get_irn_mode(n))) {
 2.             slt %D1, %S1, %S2
-       else
+       }
+       else {
 2.             sltu %D1, %S1, %S2
+       }
 ',
 },
 
 slti => {
-       reg_req => { in => [ "general_purpose" ], out => [ "general_purpose" ] },
+       reg_req => { in => [ "gp" ], out => [ "gp" ] },
        emit => '
-       if (mode_is_signed(get_irn_mode(n)))
+       if (mode_is_signed(get_irn_mode(n))) {
 2.             slti %D1, %S1, %C
-       else
+       }
+       else {
 2.             sltiu %D1, %S1, %C
+       }
 ',
   cmp_attr => 'return attr_a->tv != attr_b->tv;',
 },
@@ -381,7 +400,7 @@ slti => {
 beq => {
        op_flags  => "X|Y",
        # TxT -> TxX
-       reg_req => { in => [ "general_purpose", "general_purpose" ], out => [ "in_r0", "none" ] },
+       reg_req => { in => [ "gp", "gp" ], out => [ "in_r0", "none" ] },
        emit => '
        ir_node *jumpblock = mips_get_jump_block(n, 1);
        assert(jumpblock != NULL);
@@ -393,7 +412,7 @@ beq => {
 bne => {
        op_flags  => "X|Y",
        # TxT -> TxX
-       reg_req => { in => [ "general_purpose", "general_purpose" ], out => [ "in_r0", "none" ] },
+       reg_req => { in => [ "gp", "gp" ], out => [ "in_r0", "none" ] },
        emit => '
        ir_node *jumpblock = mips_get_jump_block(n, 1);
        assert(jumpblock != NULL);
@@ -405,7 +424,7 @@ bne => {
 bgtz => {
        op_flags  => "X|Y",
        # TxT -> TxX
-       reg_req => { in => [ "general_purpose" ], out => [ "in_r0", "none" ] },
+       reg_req => { in => [ "gp" ], out => [ "in_r0", "none" ] },
        emit => '
        ir_node *jumpblock = mips_get_jump_block(n, 1);
        assert(jumpblock != NULL);
@@ -417,7 +436,7 @@ bgtz => {
 blez => {
        op_flags  => "X|Y",
        # TxT -> TxX
-       reg_req => { in => [ "general_purpose" ], out => [ "in_r0", "none" ] },
+       reg_req => { in => [ "gp" ], out => [ "in_r0", "none" ] },
        emit => '
        ir_node *jumpblock = mips_get_jump_block(n, 1);
        assert(jumpblock != NULL);
@@ -428,7 +447,7 @@ blez => {
 
 j => {
   op_flags => "X",
-  reg_req => { in => [ "general_purpose" ] },
+  reg_req => { in => [ "gp" ] },
   emit => '. j %S1',
 },
 
@@ -454,7 +473,7 @@ fallthrough => {
 SwitchJump => {
   op_flags => "X",
   # -> X,X,...
-  reg_req => { in => [ "general_purpose" ], out => [ "none" ] },
+  reg_req => { in => [ "gp" ], out => [ "none" ] },
   emit => '. j %S1'
 },
 
@@ -466,7 +485,7 @@ SwitchJump => {
 #
 
 load_r => {
-  reg_req      => { in => [ "none", "general_purpose" ], out => [ "none", "none", "general_purpose" ] },
+  reg_req      => { in => [ "none", "gp" ], out => [ "none", "none", "gp" ] },
   emit         => '
        mips_attr_t* attr = get_mips_attr(n);
        ir_mode *mode;
@@ -475,16 +494,20 @@ load_r => {
 
        switch (get_mode_size_bits(mode)) {
        case 8:
-               if (mode_is_signed(mode))
+               if (mode_is_signed(mode)) {
 3.                     lb %D3, %C(%S2)
-               else
+               }
+               else {
 3.                     lbu %D3, %C(%S2)
+               }
                break;
        case 16:
-               if (mode_is_signed(mode))
+               if (mode_is_signed(mode)) {
 3.                     lh %D3, %C(%S2)
-               else
+               }
+               else {
 3.                     lhu %D3, %C(%S2)
+               }
                break;
        case 32:
 2.             lw %D3, %C(%S2)
@@ -506,7 +529,7 @@ load_r => {
 #
 
 store_r => {
-  reg_req      => { in => [ "none", "general_purpose", "general_purpose" ], out => [ "none", "none" ] },
+  reg_req      => { in => [ "none", "gp", "gp" ], out => [ "none", "none" ] },
   emit         => '
        mips_attr_t* attr = get_mips_attr(n);
        ir_mode* mode;
@@ -534,7 +557,7 @@ store_r => {
 },
 
 store_i => {
-  reg_req      => { in => [ "none", "none", "general_purpose" ], out => [ "none", "none" ] },
+  reg_req      => { in => [ "none", "none", "gp" ], out => [ "none", "none" ] },
   emit         => '
        mips_attr_t* attr = get_mips_attr(n);
        ir_mode *mode;
@@ -562,7 +585,7 @@ store_i => {
 },
 
 move => {
-  reg_req   => { in => [ "general_purpose" ], out => [ "general_purpose" ] },
+  reg_req   => { in => [ "gp" ], out => [ "gp" ] },
   emit      => '. or %D1, $zero, %S1'
 },
 
@@ -571,7 +594,7 @@ move => {
 #
 
 reinterpret_conv => {
-  reg_req   => { in => [ "general_purpose" ], out => [ "in_r1" ] },
+  reg_req   => { in => [ "gp" ], out => [ "in_r1" ] },
   emit      => '. # reinterpret %S1 -> %D1',
 },
 
index a22dd9a..d50a262 100644 (file)
@@ -79,7 +79,7 @@ static ir_node* mips_get_reg_node(mips_transform_env_t *env, const arch_register
 
 static ir_node* gen_zero_node(mips_transform_env_t *env, dbg_info *ebg, ir_graph *irg, ir_node *block)
 {
-       ir_node *zero = be_abi_get_callee_save_irn(env->cg->birg->abi, &mips_general_purpose_regs[REG_ZERO]);
+       ir_node *zero = be_abi_get_callee_save_irn(env->cg->birg->abi, &mips_gp_regs[REG_ZERO]);
        // TODO make zero nodes work
        //ir_node *unknown = new_rd_mips_zero(dbg, irg, block, mode);
 
@@ -510,7 +510,7 @@ static ir_node *create_conv_store_load(mips_transform_env_t *env, ir_mode* srcmo
        ptr_i32type = new_d_type_pointer(id, i32type, mode_P, env->dbg);
        mem_entity = new_d_entity(get_irg_frame_type(env->irg), id, ptr_i32type, env->dbg);
 
-       sp = mips_get_reg_node(env, &mips_general_purpose_regs[REG_SP]);
+       sp = mips_get_reg_node(env, &mips_gp_regs[REG_SP]);
        nomem = new_ir_node(env->dbg, env->irg, env->block, op_NoMem, mode_M, 0, NULL);
 
        store = new_rd_mips_store_r(env->dbg, env->irg, env->block, nomem, sp, pred, mode_T);