aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/ops.tab
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2015-04-23 19:21:34 +0200
committerBjörn-Egil Dahlberg <[email protected]>2015-04-24 10:06:17 +0200
commitb58b4718012cfb848dad3106b2ab22c08997c639 (patch)
tree7b1acc46855ccebddd452f315a2cb3d0fc8f5d76 /erts/emulator/beam/ops.tab
parent699ad918545ac7e716b77ea05a6a943434616020 (diff)
downloadotp-b58b4718012cfb848dad3106b2ab22c08997c639.tar.gz
otp-b58b4718012cfb848dad3106b2ab22c08997c639.tar.bz2
otp-b58b4718012cfb848dad3106b2ab22c08997c639.zip
erts: Specialize rem instruction for common case
* i_rem specialization on x registers
Diffstat (limited to 'erts/emulator/beam/ops.tab')
-rw-r--r--erts/emulator/beam/ops.tab2
1 files changed, 2 insertions, 0 deletions
diff --git a/erts/emulator/beam/ops.tab b/erts/emulator/beam/ops.tab
index 3436b664d9..7f7b0baacc 100644
--- a/erts/emulator/beam/ops.tab
+++ b/erts/emulator/beam/ops.tab
@@ -1658,6 +1658,7 @@ gc_bif2 Fail I u$bif:erlang:stimes/2 S1 S2 Dst=d => i_fetch S1 S2 | i_times Fail
gc_bif2 Fail I u$bif:erlang:div/2 S1 S2 Dst=d => i_fetch S1 S2 | i_m_div Fail I Dst
gc_bif2 Fail I u$bif:erlang:intdiv/2 S1 S2 Dst=d => i_fetch S1 S2 | i_int_div Fail I Dst
+gc_bif2 Fail I u$bif:erlang:rem/2 S1=x S2=x Dst=d => i_rem Fail I S1 S2 Dst
gc_bif2 Fail I u$bif:erlang:rem/2 S1 S2 Dst=d => i_fetch S1 S2 | i_rem Fail I Dst
gc_bif2 Fail I u$bif:erlang:bsl/2 S1 S2 Dst=d => i_fetch S1 S2 | i_bsl Fail I Dst
@@ -1682,6 +1683,7 @@ i_minus j I d
i_times j I d
i_m_div j I d
i_int_div j I d
+i_rem j I x x d
i_rem j I d
i_bsl j I d