Browse Source

_jit_gen_load_value: use ARM register pairs properly for "long"


			
			
				cache-refactoring
			
			
		
Rhys Weatherley 21 years ago
parent
commit
328a9799ae
  1. 3
      ChangeLog
  2. 8
      jit/jit-rules-arm.c

3
ChangeLog

@ -12,6 +12,9 @@
* jit/jit-gen-arm.c: optimize the use of rotated immediate values.
* jit/jit-rules-arm.c (_jit_gen_load_value): use ARM register pairs
properly for "long" and "float64" values.
2004-06-08 Rhys Weatherley <rweather@southern-storm.com.au>
* jit/Makefile.am, jit/jit-cpuid-x86.c, jit/jit-cpuid-x86.h:

8
jit/jit-rules-arm.c

@ -983,7 +983,7 @@ void _jit_gen_load_value
long_value = jit_value_get_long_constant(value);
inst = mov_reg_imm(gen, inst, _jit_reg_info[reg].cpu_reg,
(jit_int)long_value);
inst = mov_reg_imm(gen, inst, _jit_reg_info[other_reg].cpu_reg,
inst = mov_reg_imm(gen, inst, _jit_reg_info[reg].cpu_reg + 1,
(jit_int)(long_value >> 32));
}
break;
@ -1027,7 +1027,7 @@ void _jit_gen_load_value
(gen, inst, _jit_reg_info[reg].cpu_reg,
((int *)&float64_value)[0]);
inst = mov_reg_imm
(gen, inst, _jit_reg_info[other_reg].cpu_reg,
(gen, inst, _jit_reg_info[reg].cpu_reg + 1,
((int *)&float64_value)[1]);
}
else
@ -1097,7 +1097,7 @@ void _jit_gen_load_value
{
arm_load_membase(inst, _jit_reg_info[reg].cpu_reg,
ARM_FP, offset);
arm_load_membase(inst, _jit_reg_info[other_reg].cpu_reg,
arm_load_membase(inst, _jit_reg_info[reg].cpu_reg + 1,
ARM_FP, offset + 4);
}
break;
@ -1124,7 +1124,7 @@ void _jit_gen_load_value
{
arm_load_membase(inst, _jit_reg_info[reg].cpu_reg,
ARM_FP, offset);
arm_load_membase(inst, _jit_reg_info[other_reg].cpu_reg,
arm_load_membase(inst, _jit_reg_info[reg].cpu_reg + 1,
ARM_FP, offset + 4);
}
else

Loading…
Cancel
Save