diff options
author | Mike Pall <mike> | 2018-02-27 23:22:40 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2018-02-27 23:22:40 +0100 |
commit | fe651bf6e2b4d02b624be3c289378c08bab2fa9b (patch) | |
tree | 7529b04961112bd1fb91816bd8413d27c9066bab | |
parent | 66c1614828d0041baece3ab2002763f2a2fd83b3 (diff) | |
download | luajit-fe651bf6e2b4d02b624be3c289378c08bab2fa9b.tar.gz luajit-fe651bf6e2b4d02b624be3c289378c08bab2fa9b.tar.bz2 luajit-fe651bf6e2b4d02b624be3c289378c08bab2fa9b.zip |
DynASM/x86: Add BMI1 and BMI2 instructions.
Thanks to Peter Cawley.
-rw-r--r-- | dynasm/dasm_x86.lua | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/dynasm/dasm_x86.lua b/dynasm/dasm_x86.lua index 4c031e2c..c1d267a5 100644 --- a/dynasm/dasm_x86.lua +++ b/dynasm/dasm_x86.lua | |||
@@ -955,6 +955,7 @@ end | |||
955 | -- "u" Use VEX encoding, vvvv unused. | 955 | -- "u" Use VEX encoding, vvvv unused. |
956 | -- "v"/"V" Use VEX encoding, vvvv from 1st/2nd operand (the operand is | 956 | -- "v"/"V" Use VEX encoding, vvvv from 1st/2nd operand (the operand is |
957 | -- removed from the list used by future characters). | 957 | -- removed from the list used by future characters). |
958 | -- "w" Use VEX encoding, vvvv from 3rd operand. | ||
958 | -- "L" Force VEX.L | 959 | -- "L" Force VEX.L |
959 | -- | 960 | -- |
960 | -- All of the following characters force a flush of the opcode: | 961 | -- All of the following characters force a flush of the opcode: |
@@ -1677,6 +1678,24 @@ local map_op = { | |||
1677 | -- Intel ADX | 1678 | -- Intel ADX |
1678 | adcx_2 = "rmqd:660F38F6rM", | 1679 | adcx_2 = "rmqd:660F38F6rM", |
1679 | adox_2 = "rmqd:F30F38F6rM", | 1680 | adox_2 = "rmqd:F30F38F6rM", |
1681 | |||
1682 | -- BMI1 | ||
1683 | andn_3 = "rrmqd:0F38VF2rM", | ||
1684 | bextr_3 = "rmrqd:0F38wF7rM", | ||
1685 | blsi_2 = "rmqd:0F38vF33m", | ||
1686 | blsmsk_2 = "rmqd:0F38vF32m", | ||
1687 | blsr_2 = "rmqd:0F38vF31m", | ||
1688 | tzcnt_2 = "rmqdw:F30FBCrM", | ||
1689 | |||
1690 | -- BMI2 | ||
1691 | bzhi_3 = "rmrqd:0F38wF5rM", | ||
1692 | mulx_3 = "rrmqd:F20F38VF6rM", | ||
1693 | pdep_3 = "rrmqd:F20F38VF5rM", | ||
1694 | pext_3 = "rrmqd:F30F38VF5rM", | ||
1695 | rorx_3 = "rmSqd:F20F3AuF0rMS", | ||
1696 | sarx_3 = "rmrqd:F30F38wF7rM", | ||
1697 | shrx_3 = "rmrqd:F20F38wF7rM", | ||
1698 | shlx_3 = "rmrqd:660F38wF7rM", | ||
1680 | } | 1699 | } |
1681 | 1700 | ||
1682 | ------------------------------------------------------------------------------ | 1701 | ------------------------------------------------------------------------------ |