Merge branch 'nasm-2.09.xx'

Conflicts:
	doc/changes.src
	version

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
This commit is contained in:
Cyrill Gorcunov 2011-03-12 22:35:42 +03:00
commit a09fe1ebfb
6 changed files with 32 additions and 5 deletions

View File

@ -19,7 +19,15 @@ since 2007.
To force a specific form, use the \c{STRICT} keyword, see \k{strict}.
\S{cl-2.09.05} Version 2.09.06
\S{cl-2.09.07} Version 2.09.07
\b Fix attempts to close same file several times
when \c{-a} option is used.
\b Fixes for VEXTRACTF128, VMASKMOVPS encoding.
\S{cl-2.09.06} Version 2.09.06
\b Fix missed section attribute initialization in \c{bin} output target.

View File

@ -2323,7 +2323,7 @@ VDIVSS xmmreg,xmmreg*,xmmrm32 [rvm: vex.nds.lig.f3.0f 5e /r] AVX,SANDYBRIDGE
VDPPD xmmreg,xmmreg*,xmmrm128,imm8 [rvmi: vex.nds.128.66.0f3a 41 /r ib] AVX,SANDYBRIDGE
VDPPS xmmreg,xmmreg*,xmmrm128,imm8 [rvmi: vex.nds.128.66.0f3a 40 /r ib] AVX,SANDYBRIDGE
VDPPS ymmreg,ymmreg*,ymmrm256,imm8 [rvmi: vex.nds.256.66.0f3a 40 /r ib] AVX,SANDYBRIDGE
VEXTRACTF128 xmmrm128,xmmreg,imm8 [mri: vex.256.66.0f3a.w0 19 /r ib] AVX,SANDYBRIDGE
VEXTRACTF128 xmmrm128,ymmreg,imm8 [mri: vex.256.66.0f3a.w0 19 /r ib] AVX,SANDYBRIDGE
VEXTRACTPS rm32,xmmreg,imm8 [mri: vex.128.66.0f3a 17 /r ib] AVX,SANDYBRIDGE
VHADDPD xmmreg,xmmreg*,xmmrm128 [rvm: vex.nds.128.66.0f 7c /r] AVX,SANDYBRIDGE
VHADDPD ymmreg,ymmreg*,ymmrm256 [rvm: vex.nds.256.66.0f 7c /r] AVX,SANDYBRIDGE
@ -2343,7 +2343,7 @@ VMASKMOVDQU xmmreg,xmmreg [rm: vex.128.66.0f f7 /r] AVX,SANDYBRIDGE
VMASKMOVPS xmmreg,xmmreg,mem128 [rvm: vex.nds.128.66.0f38.w0 2c /r] AVX,SANDYBRIDGE
VMASKMOVPS ymmreg,ymmreg,mem256 [rvm: vex.nds.256.66.0f38.w0 2c /r] AVX,SANDYBRIDGE
VMASKMOVPS mem128,xmmreg,xmmreg [mvr: vex.nds.128.66.0f38.w0 2e /r] AVX,SANDYBRIDGE,SO
VMASKMOVPS mem256,xmmreg,xmmreg [mvr: vex.nds.256.66.0f38.w0 2e /r] AVX,SANDYBRIDGE,SY
VMASKMOVPS mem256,ymmreg,ymmreg [mvr: vex.nds.256.66.0f38.w0 2e /r] AVX,SANDYBRIDGE,SY
VMASKMOVPD xmmreg,xmmreg,mem128 [rvm: vex.nds.128.66.0f38.w0 2d /r] AVX,SANDYBRIDGE
VMASKMOVPD ymmreg,ymmreg,mem256 [rvm: vex.nds.256.66.0f38.w0 2d /r] AVX,SANDYBRIDGE
VMASKMOVPD mem128,xmmreg,xmmreg [mvr: vex.nds.128.66.0f38.w0 2f /r] AVX,SANDYBRIDGE

5
nasm.c
View File

@ -2069,7 +2069,10 @@ static char *no_pp_getline(void)
static void no_pp_cleanup(int pass)
{
(void)pass; /* placate GCC */
fclose(no_pp_fp);
if (no_pp_fp) {
fclose(no_pp_fp);
no_pp_fp = NULL;
}
}
static uint32_t get_cpu(char *value)

View File

@ -5224,7 +5224,7 @@ static char *pp_getline(void)
/* only set line and file name if there's a next node */
if (i->next) {
src_set_linnum(i->lineno);
nasm_free(src_set_fname(i->fname));
nasm_free(src_set_fname(nasm_strdup(i->fname)));
}
if ((i->next == NULL) && (finals != NULL)) {
in_final = true;

7
test/br3189064.asm Normal file
View File

@ -0,0 +1,7 @@
;Testname=unoptimized; Arguments=-O0 -fbin -obr3189064.bin; Files=stdout stderr br3189064.bin
;Testname=optimized; Arguments=-Ox -fbin -obr3189064.bin; Files=stdout stderr br3189064.bin
[bits 64]
VMASKMOVPS [edi],ymm0,ymm1
VEXTRACTF128 xmm0,ymm1,1
VEXTRACTF128 [edi],ymm1,1

9
test/br3200749.asm Normal file
View File

@ -0,0 +1,9 @@
;Testname=unoptimized; Arguments=-O0 -fbin -obr3200749.bin; Files=stdout stderr br3200749.bin
;Testname=optimized; Arguments=-Ox -fbin -obr3200749.bin; Files=stdout stderr br3200749.bin
%define IFNDEF %ifndef
%define ENDIF %endif
IFNDEF foo
; bar
ENDIF