summaryrefslogtreecommitdiff
path: root/x86
Commit message (Collapse)AuthorAgeFilesLines
...
* perl: change to the new, safer 3-operand form of open()H. Peter Anvin2017-04-022-2/+2
| | | | | | | | | | | The 2-operand form was inherently unsafe. Use the 3-operand form instead, which guarantees that arbitrary filenames are supported. This also means we can remove a few instances of sysopen() which was used for exactly this reason, however, at least in theory sysopen() isn't portable. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* BR 3392370: {z} decorator allowed on MOVDQ* memory operandsH. Peter Anvin2017-03-311-36/+18
| | | | | | | | | | The spec says very clearly the {z} decorator is allowed on memory operands for the MOVDQ* instructions. Remove special cases from the code to disallow this case, which had the unfortunate effect of generating a very uninformative error message. Reported-by: Agner <agner@agner.org> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* insns.dat: use the officially documented UD0 and UD1 formsH. Peter Anvin2017-02-231-4/+10
| | | | | | | | The UD0 and UD1 opcodes are now officially documented, with UD1 officially documented to take a modr/m. Still permit the "UD2B" and argument-less aliases, but not as preferred. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* insns.dat: Fix SHA256RNDS2 optional xmm0 argumentCyrill Gorcunov2017-01-081-0/+1
| | | | | | | | | | | In commit 1eef781594b08a7f we allowed xmm0 to be implicit, then in dcaef4b09502aae7 it occasionally got ripped off. Move it back. https://bugzilla.nasm.us/show_bug.cgi?id=3392379 Reported-by: ig <glucksmann@avast.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* Merge remote-tracking branch 'origin/nasm-2.12.xx'H. Peter Anvin2016-11-151-0/+5
| | | | | | | | Resolved Conflicts: output/outelf32.c output/outelf64.c Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* x86/insns.dat -- Fix typo in VMOVDQA instructionCyrill Gorcunov2016-10-231-1/+1
| | | | | | | https://bugzilla.nasm.us/show_bug.cgi?id=3392369 Reported-by: Agner <agner@agner.org> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* Merge remote-tracking branch 'origin/nasm-2.12.xx'H. Peter Anvin2016-10-042-18/+21
| | | | | | | Resolved Conflicts: version Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* disp8: make constant arrays in get_disp8N() staticH. Peter Anvin2016-08-251-4/+4
| | | | | | | | The constant arrays in get_disp8N() should be static; otherwise the compiler has to manifest them on the stack for every execution which makes no sense at all. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* insns.dat: Enable contracted forms for additional instructionsHenrik Gramner2016-08-181-516/+516
| | | | | | | | | | | | | | | | | | | Improve consistency by allowing contracted forms for EVEX-encoded instructions when it's allowed for similar VEX-encoded instructions. Previously the behavior would change depending on the vector size or the register number which could be somewhat confusing: vaddps xmm0, xmm1 ; ok vaddps ymm0, ymm1 ; ok vaddps zmm0, zmm1 ; error vaddps xmm0, xmm16 ; error Also allow contracted forms for a few additional older AVX instructions where it makes sense. Signed-off-by: Henrik Gramner <henrik@gramner.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* insns.dat: Fix EVEX vpbroadcast(b|w), vpextr(b|w), and vpinsr(b|w)Henrik Gramner2016-08-181-19/+19
| | | | | | | | | | Use the correct T1S compressed displacements. https://bugzilla.nasm.us/show_bug.cgi?id=3392302 https://bugzilla.nasm.us/show_bug.cgi?id=3392314 Signed-off-by: Henrik Gramner <henrik@gramner.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* Reorganize the source code into subdirectoriesH. Peter Anvin2016-05-256-0/+7087
Make the source code easier to understand and keep track of by organizing it into subdirectories depending on the function. Signed-off-by: H. Peter Anvin <hpa@zytor.com>