tcg-arm: fix qemu_ld64
commit419bafa517f777d56f851efce55a9d2328a657bc
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 10 Mar 2009 21:43:25 +0000 (10 21:43 +0000)
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 10 Mar 2009 21:43:25 +0000 (10 21:43 +0000)
tree613fad6ed5763c2cc46024a9acfaef8174e46a00
parent506bfcbb14221c8c8995ebf64fd9165eb1d6c878
tcg-arm: fix qemu_ld64

Emulating fldl on arm doesn't seem to work too well. It's the way
qemu_ld64 is translated to arm instructions.

        tcg_out_ld32_12(s, COND_AL, data_reg, addr_reg, 0);
        tcg_out_ld32_12(s, COND_AL, data_reg2, addr_reg, 4);

Consider case where data_reg==0, data_reg2==1, and addr_reg==0. First load
overwrited addr_reg. So let's put an if (data_ref==addr_reg).

(Pablo Virolainen)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6808 c046a42c-6fe2-441c-8c8c-71466251a162
tcg/arm/tcg-target.c