aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2019-03-15 06:46:21 +0100
committerBjörn Gustavsson <[email protected]>2019-03-19 16:02:00 +0100
commitf55bb58c78ca3f82e89d0571b7b9541b983d2333 (patch)
treef75afc4938eb47d4fe557b319d7e5aa9e8c78cfb
parentf2bdb6b2741b9a2e0120418e035fb0cb15ac0589 (diff)
downloadotp-f55bb58c78ca3f82e89d0571b7b9541b983d2333.tar.gz
otp-f55bb58c78ca3f82e89d0571b7b9541b983d2333.tar.bz2
otp-f55bb58c78ca3f82e89d0571b7b9541b983d2333.zip
Extend move_shift to accept a literal Src operand
-rw-r--r--erts/emulator/beam/ops.tab5
1 files changed, 2 insertions, 3 deletions
diff --git a/erts/emulator/beam/ops.tab b/erts/emulator/beam/ops.tab
index 62c2e8ef8a..d60e6d6b53 100644
--- a/erts/emulator/beam/ops.tab
+++ b/erts/emulator/beam/ops.tab
@@ -378,13 +378,12 @@ move_dup x x x
# move_shift
-move SD=x D=x | move Src=xy SD=x | distinct(D, Src) => move_shift Src SD D
+move SD=x D=x | move Src=cxy SD=x | distinct(D, Src) => move_shift Src SD D
move SD=y D=x | move Src=x SD=y | distinct(D, Src) => move_shift Src SD D
move SD=x D=y | move Src=x SD=x | distinct(D, Src) => move_shift Src SD D
move SD=x==0 D=y | move Src=y SD=x==0 | distinct(D, Src) => move_shift Src SD D
-move_shift x x x
-move_shift y x x
+move_shift cxy x x
move_shift x y x
move_shift x x y
move_shift y r y