aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe/x86/hipe_x86_defuse.erl
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2016-11-22 12:02:07 +0100
committerSverker Eriksson <[email protected]>2016-11-22 12:02:07 +0100
commit3d7b55f946162b5a129241dbe67397784a1ba1a5 (patch)
tree8a3809296bdfcdd16ebbf78975ea18034b22d62c /lib/hipe/x86/hipe_x86_defuse.erl
parent9491f6727f12e37241863bd5becbd1f336ff7659 (diff)
parentfda3c9575d77bed0250f76f17e92d18836e15d0c (diff)
downloadotp-3d7b55f946162b5a129241dbe67397784a1ba1a5.tar.gz
otp-3d7b55f946162b5a129241dbe67397784a1ba1a5.tar.bz2
otp-3d7b55f946162b5a129241dbe67397784a1ba1a5.zip
Merge branch 'margnus1/hipe/refactor-rtl/PR-1243'
* margnus1/hipe/refactor-rtl/PR-1243: hipe_x86: Fix encoding of test instr w/ neg imm hipe_tagscheme: Simplify test_two_fixnums with imm hipe_icode: Always const-propagate if&call args hipe_tagscheme: x86 lea+test for mask_and_compare hipe_tagscheme: Improve fixnum_addsub with imm hipe: Make realloc_binary fast case true branch hipe_x86_postpass: Negate conditions in goto elim hipe_tagscheme: Improve fixnum add on x86 hipe_rtl_to_x86: Use LEA only for immediate adds hipe_x86: LeaToAdd peephole rule hipe_sparc: move coalescing hipe_ppc: better rlwinm pp hipe_ppc: move coalescing hipe_rtl: drop alub dest when unused hipe_rtl: unify branch and alub hipe_x86: Fix&activate ElimCmp0 peephole rule hipe_{x86,amd64}: Finish test instr implementation
Diffstat (limited to 'lib/hipe/x86/hipe_x86_defuse.erl')
-rw-r--r--lib/hipe/x86/hipe_x86_defuse.erl3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/hipe/x86/hipe_x86_defuse.erl b/lib/hipe/x86/hipe_x86_defuse.erl
index 4455def74e..ab26370a80 100644
--- a/lib/hipe/x86/hipe_x86_defuse.erl
+++ b/lib/hipe/x86/hipe_x86_defuse.erl
@@ -60,7 +60,7 @@ insn_def(I) ->
#pseudo_tailcall_prepare{} -> tailcall_clobbered();
#shift{dst=Dst} -> dst_def(Dst);
%% call, cmp, comment, jcc, jmp_fun, jmp_label, jmp_switch, label
- %% pseudo_jcc, pseudo_tailcall, push, ret
+ %% pseudo_jcc, pseudo_tailcall, push, ret, test
_ -> []
end.
@@ -120,6 +120,7 @@ insn_use(I) ->
#push{src=Src} -> addtemp(Src, []);
#ret{} -> [hipe_x86:mk_temp(?HIPE_X86_REGISTERS:?RV(), 'tagged')];
#shift{src=Src,dst=Dst} -> addtemp(Src, addtemp(Dst, []));
+ #test{src=Src, dst=Dst} -> addtemp(Src, addtemp(Dst, []));
%% comment, jcc, jmp_label, label, pseudo_jcc, pseudo_tailcall_prepare
_ -> []
end.