summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* test/avx: remove deleted instructionsH. Peter Anvin2010-08-161-7/+0
| | | | | | Remove the deleted VPERMIL2 instructions. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* insns.dat: permit contracted forms for VBLENDVPH. Peter Anvin2010-08-161-4/+4
| | | | | | | Allow implicit operands for VBLENDVP, just as for other instructions, since the semi-legacy forms now are removed. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* assmemble.c: fix VEX.W logicH. Peter Anvin2010-08-161-2/+2
| | | | | | | Fix the generation logic for VEX.W, which unfortunately got the wrong constants. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* insns.dat: fix encoding of VCVTSD2SSH. Peter Anvin2010-08-161-1/+1
| | | | | | Fix typo in the definition of VCVTSD2SS. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* insns.dat: SSE encoding of VBLEND with VEX prefix is forbiddenH. Peter Anvin2010-08-161-4/+0
| | | | | | | | Version 7 of the AVX spec specifically forbids (#UD) using the 66 0F 38 14/15 forms of the BLENDV instructions with a VEX prefix; those encodings are strictly legacy SSE 4.1. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* insns.dat: updates from AVX v7H. Peter Anvin2010-08-161-184/+235
| | | | | | | | | | Updates from the AVX version 7 specification: mostly tightening of the rules for VEX.L and VEX.W, but remove the VPERMIL2 instructions. Also encode all the full-length forms of the VCMP instructions and prefer those for the disassembly. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* assemble: handle vex.ligH. Peter Anvin2010-08-163-11/+19
| | | | | | | AVX version 7 introduces the concept of .lig, meaning VEX.L is ignored. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* vex: change .wx to .wig to match the latest AVX specH. Peter Anvin2010-08-162-5/+5
| | | | | | | | Change the .wx (ignore the W field) to .wig, to match the latest version of the AVX specification. This is not a functional change, but just makes instruction patterns a little easier to write. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* doc: Update -O option descriptionCyrill Gorcunov2010-08-161-4/+0
| | | | | | | | We use -Ox by default since Nasm-2.09 so "-O0" is not longer "default" option. But first paragraph still has the reference which confuses people. Get rid of it. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* doc: Fix typo in changes.srcCyrill Gorcunov2010-08-161-1/+1
| | | | | Reported-by: Frank Kotler <fbkotler@zytor.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* preproc.c: revamped context-local fall-through warning messageKeith Kanios2010-08-141-5/+6
|
* doc/nasmdoc.src: revamped context fall-through entryKeith Kanios2010-08-141-10/+26
|
* doc: Describe context-through lookupCyrill Gorcunov2010-08-131-0/+38
| | | | | | | | | | Feel free to update this text as well, and check it please for being more/less readable. CC: Keith Kanios <keith@kanios.net> CC: "H. Peter Anvin" <hpa@zytor.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* LICENSE: update yearH. Peter Anvin2010-08-121-1/+1
| | | | Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sectalign: Implement on/off modeCyrill Gorcunov2010-08-122-10/+30
| | | | | | | | And describe it in documentation. We've introduced sectalign in 2.09rc series and have to provide an ability to steer this feature. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* standart.mac: Style nitfixCyrill Gorcunov2010-08-121-75/+84
| | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* preproc.c: Context-through single macros expansion is deprecatedCyrill Gorcunov2010-08-111-10/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For now we inform users about their sources need to be updated and also since _all_ context case are legit for single macros only we split lookup into two phases: 1) Lookup in active context, which is perfectly valid 2) Lookup in external contexts, which will be deprecated soon. If (2) happens we yield warning. A typical testcase is --- %macro one 0 %push %$a: %assign %$b 12 %push mov eax, %$a mov eax, %$b ; hit -- context through %pop %pop %endmacro one --- Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* preproc.c: modified deprecation warning for context-local label fallthroughKeith Kanios2010-08-101-8/+9
|
* preproc.c: Fix error message typoCyrill Gorcunov2010-08-091-1/+1
| | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* test: Add br3041451 testcaseCyrill Gorcunov2010-08-091-0/+59
| | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* BR3041451: Implement upper bound for %rep counterCyrill Gorcunov2010-08-093-1/+15
| | | | | | | | | | Since %rep counter is a 64 bit signed integer we have to use some "maximum possible value" limit (upper bound) otherwise there may be a situation when %rep counter is 0 or even negative while user has been passing big positive integer value. Reported-by: nasm64developer Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* preproc.c: added deprecation warning for context-local label fallthroughKeith Kanios2010-08-091-1/+7
|
* NASM 2.09rc6nasm-2.09rc6Cyrill Gorcunov2010-08-061-1/+1
| | | | | | | | It likely to be the last -rc before final relase. Give it a good testing. We should be in pretty good shape. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* test: Add automatizing annotations to imm64.asmCyrill Gorcunov2010-08-041-0/+4
| | | | | | | | | | | | H. Peter Anvin pointed | | Btw, test/imm64.asm needs test engine annotations. | Make it so. Reported-by: "H. Peter Anvin" <hpa@zytor.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* insns.dat: unbreak test/imm64.binH. Peter Anvin2010-08-021-1/+1
| | | | | | | | Unbreak the following subtest in test/imm64.bin: mov qword [rax],dword 11223344h Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* elf: Move stabs symbol table format into outelf.hCyrill Gorcunov2010-07-303-16/+9
| | | | | | Get rid of code duplication Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* nasmlib.c: fix typo in nasm_init_malloc_errorCyrill Gorcunov2010-07-291-1/+1
| | | | | | | | Typo happened in 9b603082 so -DLOGALLOC gets broken. Not that important since this is a developer oriented feature but should be fixed anyway. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* NASM 2.09rc5nasm-2.09rc5Cyrill Gorcunov2010-07-281-1/+1
|
* doc: Updates on macro rangesCyrill Gorcunov2010-07-281-4/+4
| | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* labels.c: cleanupCyrill Gorcunov2010-07-282-91/+78
| | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* Get rid of misc/altreg.incCyrill Gorcunov2010-07-281-72/+0
| | | | | | It's the same as macros/altreg.mac which is already included. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* doc: Explain SECTALIGNCyrill Gorcunov2010-07-282-1/+21
| | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* doc: Fix ..sym section name misprintCyrill Gorcunov2010-07-271-1/+1
| | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* assemble.c: Style nitfixCyrill Gorcunov2010-07-261-915/+916
| | | | | | Various tabs/space mixture cleaned and some more. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* Revert "Improve process_ea and introduce -OL"H. Peter Anvin2010-07-257-143/+72
| | | | | | | | | | This reverts commit ac732cb6a599836bf4c988e59ac6de4498758c72. Resolved Conflicts: doc/nasmdoc.src Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* nasm.h: move "regs.h" to top; make is_register() a boolH. Peter Anvin2010-07-251-5/+3
| | | | | | | Move the #include of regs.h to the top with the other includes, and make is_register() -- being a boolean predicate -- return bool. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* move is_register helper to nasm.hCyrill Gorcunov2010-07-252-7/+6
| | | | | | | | | | | | | | | H. Peter Anvin noted: | | Could we avoid putting static code that has no dynamic content in | dynamically generated files... it just complicates things unnecessarily. | | The above can move into nasm.h for example. | Good idea. CC: "H. Peter Anvin" <hpa@zytor.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* Use is_register helperCyrill Gorcunov2010-07-251-14/+8
| | | | | | Save us some line of code Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* regs.pl: Introduce is_register() helperCyrill Gorcunov2010-07-251-0/+7
| | | | | | Instead of opencoded check use inline helper. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* Remove redundant sentence in docsVictor van den Elzen2010-07-241-2/+1
|
* Improve process_ea and introduce -OLVictor van den Elzen2010-07-247-72/+144
| | | | | | | | | | | | | | | | | | | Two fixes: 1. Optimization of [bx+0xFFFF] etc 0xFFFF is an sbyte under 16-bit semantics, so make sure to check it right. 2. Don't optimize displacements in -O0 Displacements that fit into an sbyte or can be removed should *not* be optimized in -O0. Implicit zero displacements are still optimized, e.g.: [eax] -> 0 bit displacement, [ebp] -> 8 bit displacement. However explicit displacements are not optimized: [eax+0] -> 32 bit displacement, [ebp+0] -> 32 bit displacement. Because #2 breaks compatibility with 0.98, I introduced a new optimization level: -OL, legacy.
* doc: Update changes.srcCyrill Gorcunov2010-07-231-0/+3
| | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* preproc.: Fix NULL dereference on broken %strlen argumentCyrill Gorcunov2010-07-232-1/+6
| | | | | | | | | Under particular circumstances %strlen may cause SIGSEG. A typical example is %strlen with nonexistent macro argument. [ Testcase test/strlen.asm ] Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* preproc: allow non-identifier character in environment variablesH. Peter Anvin2010-07-204-35/+125
| | | | | | | | Allow non-identifier characters in the name of environment variables, by surrounding them with string quotes (subject to ordinary string-quoting rules.) Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* changes.src: Fix misprint in "instructions" word.Cyrill Gorcunov2010-07-171-1/+1
| | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* nasmdoc: we still miss Chuck, but...H. Peter Anvin2010-07-151-1/+0
| | | | | | | | | We still miss Chuck, but I don't think we can really say anymore we're doing this particular release in his memory. Requiescat in pace, our friend. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Merge branch 'nasm-2.08.xx'H. Peter Anvin2010-07-151-0/+10
|\ | | | | | | | | | | | | Resolved Conflicts: version Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * changes.src: update with the 2.08.xx changesnasm-2.08.xxH. Peter Anvin2010-07-151-0/+10
| | | | | | | | | | | | Patchlevels should be documented, too... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * NASM 2.08.02nasm-2.08.02Cyrill Gorcunov2010-07-101-1/+1
| |
| * preproc.c: Fix NULL deref on token pastingCyrill Gorcunov2010-07-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | In case if there is a whitespace before 'paste' token we may reach NULL dereference in strlen since paste_head will point to TOK_WHITESPACE. Fix it. [mainstream adabc1576b957fc7d929d2c7e749b4f45f7293aa] Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>