diff options
author | Neale Ferguson <neale@mono-cvs.ximian.com> | 2007-01-23 20:13:23 +0300 |
---|---|---|
committer | Neale Ferguson <neale@mono-cvs.ximian.com> | 2007-01-23 20:13:23 +0300 |
commit | 1443380beb7cd5befc4adc85fb76120739b1850c (patch) | |
tree | 57ebfa7fe77d82a360b1da71509af841e52e9073 | |
parent | 37742c470fc2821787f474afcab0ed7bd070234c (diff) |
* mini-s390x.c: Use lgb instructions for I1 type variables instead of lb.
svn path=/trunk/mono/; revision=71525
-rw-r--r-- | mono/mini/ChangeLog | 4 | ||||
-rw-r--r-- | mono/mini/mini-s390x.c | 34 |
2 files changed, 7 insertions, 31 deletions
diff --git a/mono/mini/ChangeLog b/mono/mini/ChangeLog index bbf2eecd756..1b7b0cc23e8 100644 --- a/mono/mini/ChangeLog +++ b/mono/mini/ChangeLog @@ -1,3 +1,7 @@ +2007-01-23 Neale Ferguson <neale@sinenomine.net> + + * mini-s390x.c: Use lgb instructions for I1 type variables instead of lb. + 2007-01-21 Zoltan Varga <vargaz@gmail.com> * mini.c (mono_allocate_stack_slots_full): Allocate memory from the cfg mempool. diff --git a/mono/mini/mini-s390x.c b/mono/mini/mini-s390x.c index a5e1dd8b7b5..aac4afa0521 100644 --- a/mono/mini/mini-s390x.c +++ b/mono/mini/mini-s390x.c @@ -2604,7 +2604,7 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb) } break; case OP_LOADI1_MEMBASE: { - S390_LONG (code, lb, lb, ins->dreg, 0, + S390_LONG (code, lgb, lgb, ins->dreg, 0, ins->inst_basereg, ins->inst_offset); } break; @@ -2759,34 +2759,6 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb) } } break; -// case OP_ADDCC_IMM: { -// if ((ins->next) && -// (ins->next->opcode == OP_ADC_IMM)) { -// s390_basr (code, s390_r13, 0); -// s390_j (code, 6); -// s390_llong(code, ins->inst_imm); -// if (ins->dreg != ins->sreg1) { -// s390_lgr (code, ins->dreg, ins->sreg1); -// } -// s390_alg (code, ins->dreg, 0, s390_r13, 4); -// } else { -// if (s390_is_imm16 (ins->inst_imm)) { -// if (ins->dreg != ins->sreg1) { -// s390_lgr (code, ins->dreg, ins->sreg1); -// } -// s390_aghi (code, ins->dreg, ins->inst_imm); -// } else { -// s390_basr (code, s390_r13, 0); -// s390_j (code, 6); -// s390_llong(code, ins->inst_imm); -// if (ins->dreg != ins->sreg1) { -// s390_lgr (code, ins->dreg, ins->sreg1); -// } -// s390_ag (code, ins->dreg, 0, s390_r13, 4); -// } -// } -// } -// break; case OP_ADC_IMM: { if (ins->dreg != ins->sreg1) { s390_lgr (code, ins->dreg, ins->sreg1); @@ -4408,7 +4380,7 @@ emit_load_volatile_registers (guint8 *code, MonoCompile *cfg) g_assert_not_reached(); switch (ainfo->size) { case 1: - s390_icy (code, ainfo->reg, 0, inst->inst_basereg, inst->inst_offset); + s390_llgc (code, ainfo->reg, 0, inst->inst_basereg, inst->inst_offset); break; case 2: s390_lgh (code, ainfo->reg, 0, inst->inst_basereg, inst->inst_offset); @@ -4432,7 +4404,7 @@ emit_load_volatile_registers (guint8 *code, MonoCompile *cfg) if (ainfo->reg != STK_BASE) { switch (ainfo->size) { case 1: - s390_icy (code, ainfo->reg, 0, inst->inst_basereg, inst->inst_offset); + s390_llgc (code, ainfo->reg, 0, inst->inst_basereg, inst->inst_offset); break; case 2: s390_lgh (code, ainfo->reg, 0, inst->inst_basereg, inst->inst_offset); |