aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe/rtl
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2017-11-03 16:21:51 +0100
committerSverker Eriksson <[email protected]>2017-11-03 16:21:51 +0100
commit7cd0a910a3d171840991092e335e9a5b2aeee74e (patch)
tree69da7e61c36055e7c00e4f26a8679ada72ed6f83 /lib/hipe/rtl
parent21b920e38078412f3d47442b27b40b3601a1c7d7 (diff)
parenta8264b52677abba29505a8bb597e2aaf6d3258d9 (diff)
downloadotp-7cd0a910a3d171840991092e335e9a5b2aeee74e.tar.gz
otp-7cd0a910a3d171840991092e335e9a5b2aeee74e.tar.bz2
otp-7cd0a910a3d171840991092e335e9a5b2aeee74e.zip
Merge branch 'maint'
Diffstat (limited to 'lib/hipe/rtl')
-rw-r--r--lib/hipe/rtl/hipe_rtl_binary_construct.erl9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/hipe/rtl/hipe_rtl_binary_construct.erl b/lib/hipe/rtl/hipe_rtl_binary_construct.erl
index 52ea5db382..bc215e3abe 100644
--- a/lib/hipe/rtl/hipe_rtl_binary_construct.erl
+++ b/lib/hipe/rtl/hipe_rtl_binary_construct.erl
@@ -195,8 +195,13 @@ gen_rtl(BsOP, Dst, Args, TrueLblName, FalseLblName, SystemLimitLblName, ConstTab
bs_validate_unicode ->
[_Arg] = Args,
- [hipe_rtl:mk_call([], bs_validate_unicode, Args,
- TrueLblName, FalseLblName, not_remote)];
+ [IsUnicode] = create_regs(1),
+ RetLbl = hipe_rtl:mk_new_label(),
+ [hipe_rtl:mk_call([IsUnicode], is_unicode, Args,
+ hipe_rtl:label_name(RetLbl), [], not_remote),
+ RetLbl,
+ hipe_rtl:mk_branch(IsUnicode, ne, hipe_rtl:mk_imm(0),
+ TrueLblName, FalseLblName, 0.99)];
bs_final ->
Zero = hipe_rtl:mk_imm(0),