aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/ops.tab
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2019-03-05 16:37:08 +0100
committerBjörn Gustavsson <[email protected]>2019-03-06 15:42:44 +0100
commit7128f182ac4051b45bb0f526d8983f5ada1e12f0 (patch)
tree60c9fa7fe462bc3583ccf639d42cab6e4b44096c /erts/emulator/beam/ops.tab
parent8eb6e937c4c5aa4c86142f37f1455637f7e8a20a (diff)
downloadotp-7128f182ac4051b45bb0f526d8983f5ada1e12f0.tar.gz
otp-7128f182ac4051b45bb0f526d8983f5ada1e12f0.tar.bz2
otp-7128f182ac4051b45bb0f526d8983f5ada1e12f0.zip
Slightly optimize is_eq and is_ne
Diffstat (limited to 'erts/emulator/beam/ops.tab')
-rw-r--r--erts/emulator/beam/ops.tab8
1 files changed, 6 insertions, 2 deletions
diff --git a/erts/emulator/beam/ops.tab b/erts/emulator/beam/ops.tab
index 4e7e5f5de1..ef26afc10a 100644
--- a/erts/emulator/beam/ops.tab
+++ b/erts/emulator/beam/ops.tab
@@ -489,9 +489,13 @@ is_ge f? c x
is_ge f? s s
%hot
-is_eq f? s s
+is_eq Fail=f Const=c Reg=xy => is_eq Fail Reg Const
+is_eq Fail=f C1=c C2=c => move C1 x | is_eq Fail x C2
+is_eq f? S s
-is_ne f? s s
+is_ne Fail=f Const=c Reg=xy => is_ne Fail Reg Const
+is_ne Fail=f C1=c C2=c => move C1 x | is_ne Fail x C2
+is_ne f? S s
#
# Putting tuples.