diff options
author | Björn Gustavsson <[email protected]> | 2015-06-29 10:19:53 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2015-07-03 14:34:58 +0200 |
commit | 0a4750f91c837d6a68b5a9ad58ffb1fe52b67d71 (patch) | |
tree | d3f61fa9a539ed03a7dcc781678ed4c4c4250c21 | |
parent | 5e83d2ae89c731bd7e4c32b550150336008d2974 (diff) | |
download | otp-0a4750f91c837d6a68b5a9ad58ffb1fe52b67d71.tar.gz otp-0a4750f91c837d6a68b5a9ad58ffb1fe52b67d71.tar.bz2 otp-0a4750f91c837d6a68b5a9ad58ffb1fe52b67d71.zip |
beam_makeops: Eliminate unnecessary masking when packing 3 operands
When packing 3 operands into one word, there would be an unnecessary
mask operation when extracting the last operand.
-rwxr-xr-x | erts/emulator/utils/beam_makeops | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/utils/beam_makeops b/erts/emulator/utils/beam_makeops index e61096355c..974b29e9d8 100755 --- a/erts/emulator/utils/beam_makeops +++ b/erts/emulator/utils/beam_makeops @@ -48,7 +48,7 @@ $pack_shift[4] = ['0', 'BEAM_LOOSE_SHIFT', # Only for 64 bit wordsize '(3*BEAM_LOOSE_SHIFT)']; $pack_mask[2] = ['BEAM_LOOSE_MASK', $WHOLE_WORD]; -$pack_mask[3] = ['BEAM_TIGHT_MASK', 'BEAM_TIGHT_MASK', 'BEAM_TIGHT_MASK']; +$pack_mask[3] = ['BEAM_TIGHT_MASK', 'BEAM_TIGHT_MASK', $WHOLE_WORD]; $pack_mask[4] = ['BEAM_LOOSE_MASK', # Only for 64 bit wordsize 'BEAM_LOOSE_MASK', 'BEAM_LOOSE_MASK', |