lightning.git - Portable just-in-time compiler library

index : lightning.git
Portable just-in-time compiler library
summary refs log tree commit diff
path: root/lib/jit_arm-swf.c
diff options
context:
space:
mode:
authorpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2012年12月13日 18:26:57 -0200
committerpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2012年12月13日 18:26:57 -0200
commit6227bf5bf996f94249e34246b78d9b3ef5031b78 (patch)
tree7fc650410f945d89a5cdd699e2e100968bc1fb07 /lib/jit_arm-swf.c
parent0b89a17ca2709fbd4765a9758b73e07b6b5d9a52 (diff)
downloadlightning-6227bf5bf996f94249e34246b78d9b3ef5031b78.tar.gz
Add new varargs test and correct related test case failures in all ports.
Diffstat (limited to 'lib/jit_arm-swf.c')
-rw-r--r--lib/jit_arm-swf.c 36
1 files changed, 18 insertions, 18 deletions
diff --git a/lib/jit_arm-swf.c b/lib/jit_arm-swf.c
index ad0d12d..1315693 100644
--- a/lib/jit_arm-swf.c
+++ b/lib/jit_arm-swf.c
@@ -1740,25 +1740,25 @@ _swf_absr_d(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1)
if (jit_fpr_p(r1)) {
if (jit_fpr_p(r0) && !jit_thumb_p() && jit_armv5e_p() &&
r0 != r1 && (reg = jit_get_reg_pair()) != JIT_NOREG) {
- LDRDIN(rn(reg), _FP_REGNO, swf_off(r1) + 8);
+ LDRDIN(rn(reg), _FP_REGNO, swf_off(r1) + 4);
swf_bici(rn(reg), rn(reg), 0x80000000);
- STRDIN(rn(reg), _FP_REGNO, swf_off(r0) + 8);
+ STRDIN(rn(reg), _FP_REGNO, swf_off(r0) + 4);
jit_unget_reg_pair(reg);
}
else {
reg = jit_get_reg(jit_class_gpr);
- swf_ldrin(rn(reg), _FP_REGNO, swf_off(r1) + 8);
+ swf_ldrin(rn(reg), _FP_REGNO, swf_off(r1) + 4);
swf_bici(rn(reg), rn(reg), 0x80000000);
if (jit_fpr_p(r0)) {
- swf_strin(rn(reg), _FP_REGNO, swf_off(r0) + 8);
+ swf_strin(rn(reg), _FP_REGNO, swf_off(r0) + 4);
if (r0 != r1) {
- swf_ldrin(rn(reg), _FP_REGNO, swf_off(r1) + 4);
- swf_strin(rn(reg), _FP_REGNO, swf_off(r0) + 4);
+ swf_ldrin(rn(reg), _FP_REGNO, swf_off(r1) + 8);
+ swf_strin(rn(reg), _FP_REGNO, swf_off(r0) + 8);
}
}
else {
movr(r0, rn(reg));
- swf_ldrin(rn(reg), _FP_REGNO, swf_off(r1) + 4);
+ swf_ldrin(rn(reg), _FP_REGNO, swf_off(r1) + 8);
movr(r0 + 1, rn(reg));
}
jit_unget_reg(reg);
@@ -1768,9 +1768,9 @@ _swf_absr_d(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1)
reg = jit_get_reg(jit_class_gpr);
movr(rn(reg), r1);
swf_bici(rn(reg), rn(reg), 0x80000000);
- swf_strin(rn(reg), _FP_REGNO, swf_off(r0) + 8);
- movr(rn(reg), r1 + 1);
swf_strin(rn(reg), _FP_REGNO, swf_off(r0) + 4);
+ movr(rn(reg), r1 + 1);
+ swf_strin(rn(reg), _FP_REGNO, swf_off(r0) + 8);
jit_unget_reg(reg);
}
else {
@@ -1812,25 +1812,25 @@ _swf_negr_d(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1)
if (jit_fpr_p(r1)) {
if (jit_fpr_p(r0) && !jit_thumb_p() && jit_armv5e_p() &&
r0 != r1 && (reg = jit_get_reg_pair()) != JIT_NOREG) {
- LDRDIN(rn(reg), _FP_REGNO, swf_off(r1) + 8);
+ LDRDIN(rn(reg), _FP_REGNO, swf_off(r1) + 4);
EORI(rn(reg), rn(reg), encode_arm_immediate(0x80000000));
- STRDIN(rn(reg), _FP_REGNO, swf_off(r0) + 8);
+ STRDIN(rn(reg), _FP_REGNO, swf_off(r0) + 4);
jit_unget_reg_pair(reg);
}
else {
reg = jit_get_reg(jit_class_gpr);
- swf_ldrin(rn(reg), _FP_REGNO, swf_off(r1) + 8);
+ swf_ldrin(rn(reg), _FP_REGNO, swf_off(r1) + 4);
xori(rn(reg), rn(reg), 0x80000000);
if (jit_fpr_p(r0)) {
- swf_strin(rn(reg), _FP_REGNO, swf_off(r0) + 8);
+ swf_strin(rn(reg), _FP_REGNO, swf_off(r0) + 4);
if (r0 != r1) {
- swf_ldrin(rn(reg), _FP_REGNO, swf_off(r1) + 4);
- swf_strin(rn(reg), _FP_REGNO, swf_off(r0) + 4);
+ swf_ldrin(rn(reg), _FP_REGNO, swf_off(r1) + 8);
+ swf_strin(rn(reg), _FP_REGNO, swf_off(r0) + 8);
}
}
else {
movr(r0, rn(reg));
- swf_ldrin(rn(reg), _FP_REGNO, swf_off(r1) + 4);
+ swf_ldrin(rn(reg), _FP_REGNO, swf_off(r1) + 8);
movr(r0 + 1, rn(reg));
}
jit_unget_reg(reg);
@@ -1840,9 +1840,9 @@ _swf_negr_d(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1)
reg = jit_get_reg(jit_class_gpr);
movr(rn(reg), r1);
xori(rn(reg), rn(reg), 0x80000000);
- swf_strin(rn(reg), _FP_REGNO, swf_off(r0) + 8);
- movr(rn(reg), r1 + 1);
swf_strin(rn(reg), _FP_REGNO, swf_off(r0) + 4);
+ movr(rn(reg), r1 + 1);
+ swf_strin(rn(reg), _FP_REGNO, swf_off(r0) + 8);
jit_unget_reg(reg);
}
else {
generated by cgit v1.2.3 (git 2.25.1) at 2025年09月11日 19:26:31 +0000

AltStyle によって変換されたページ (->オリジナル) /