aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe/x86/hipe_x86_subst.erl
diff options
context:
space:
mode:
authorMagnus Lång <[email protected]>2017-03-02 17:10:25 +0100
committerMagnus Lång <[email protected]>2017-03-16 20:49:41 +0100
commite547ffd572e41178e6b513a4a9b84fdf5c557b98 (patch)
tree09a51723ff70d0f3cd16040bd5bde8fc047dccb0 /lib/hipe/x86/hipe_x86_subst.erl
parentbce42f4c31bf552269eb787c61a979b3fb34c87e (diff)
downloadotp-e547ffd572e41178e6b513a4a9b84fdf5c557b98.tar.gz
otp-e547ffd572e41178e6b513a4a9b84fdf5c557b98.tar.bz2
otp-e547ffd572e41178e6b513a4a9b84fdf5c557b98.zip
hipe_x86_subst: Fix bug with zero-arity #fp_unop{}
Diffstat (limited to 'lib/hipe/x86/hipe_x86_subst.erl')
-rw-r--r--lib/hipe/x86/hipe_x86_subst.erl9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/hipe/x86/hipe_x86_subst.erl b/lib/hipe/x86/hipe_x86_subst.erl
index 7b5fb1352b..102207ad7e 100644
--- a/lib/hipe/x86/hipe_x86_subst.erl
+++ b/lib/hipe/x86/hipe_x86_subst.erl
@@ -49,10 +49,11 @@ insn_temps(SubstTemp, I) ->
#movzx {src=S, dst=D} -> I#movzx {src=O(S), dst=O(D)};
#shift {src=S, dst=D} -> I#shift {src=O(S), dst=O(D)};
#test {src=S, dst=D} -> I#test {src=O(S), dst=O(D)};
- #fp_unop{arg=A} -> I#fp_unop{arg=O(A)};
- #move64 {dst=D} -> I#move64 {dst=O(D)};
- #push {src=S} -> I#push {src=O(S)};
- #pop {dst=D} -> I#pop {dst=O(D)};
+ #fp_unop{arg=[]} -> I;
+ #fp_unop{arg=A} -> I#fp_unop{arg=O(A)};
+ #move64 {dst=D} -> I#move64 {dst=O(D)};
+ #push {src=S} -> I#push {src=O(S)};
+ #pop {dst=D} -> I#pop {dst=O(D)};
#jmp_switch{temp=T, jtab=J} ->
I#jmp_switch{temp=O(T), jtab=jtab_temps(SubstTemp, J)};
#pseudo_call{'fun'=F} ->