diff options
author | Magnus Lång <[email protected]> | 2016-11-10 12:20:21 +0100 |
---|---|---|
committer | Magnus Lång <[email protected]> | 2016-11-15 14:58:59 +0100 |
commit | 5ae8d51f97600116f47f0160b4eac331acf5b7ca (patch) | |
tree | 5077ddffa1c94cd54c4a83dee28e0b819722d02e | |
parent | c91c523f1ca58644267402325b6fb59d65049829 (diff) | |
download | otp-5ae8d51f97600116f47f0160b4eac331acf5b7ca.tar.gz otp-5ae8d51f97600116f47f0160b4eac331acf5b7ca.tar.bz2 otp-5ae8d51f97600116f47f0160b4eac331acf5b7ca.zip |
hipe_ppc: move coalescing
-rw-r--r-- | lib/hipe/ppc/hipe_ppc_frame.erl | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/hipe/ppc/hipe_ppc_frame.erl b/lib/hipe/ppc/hipe_ppc_frame.erl index 8d37159ad8..58924409a8 100644 --- a/lib/hipe/ppc/hipe_ppc_frame.erl +++ b/lib/hipe/ppc/hipe_ppc_frame.erl @@ -98,7 +98,10 @@ do_pseudo_move(I, Context, FPoff) -> Offset = pseudo_offset(Src, FPoff, Context), mk_load(hipe_ppc:ldop_word(), Dst, Offset, mk_sp(), []); _ -> - [hipe_ppc:mk_alu('or', Dst, Src, Src)] + case hipe_ppc:temp_reg(Dst) =:= hipe_ppc:temp_reg(Src) of + true -> []; + false -> [hipe_ppc:mk_alu('or', Dst, Src, Src)] + end end end. |