diff options
author | Cyrill Gorcunov <gorcunov@gmail.com> | 2011-03-12 22:35:42 +0300 |
---|---|---|
committer | Cyrill Gorcunov <gorcunov@gmail.com> | 2011-03-12 22:35:42 +0300 |
commit | a09fe1ebfb6516a00a6b8d83d12586b0625b4981 (patch) | |
tree | b50ad2a01eaf54350b0acb45cee81100780f60ed | |
parent | 8dcfd883c76b248fcafea2bda6e71acac9e7c052 (diff) | |
parent | faa13a241426bc8d7c4538ce92f46d01ca94f47b (diff) | |
download | nasm-a09fe1ebfb6516a00a6b8d83d12586b0625b4981.tar.gz nasm-a09fe1ebfb6516a00a6b8d83d12586b0625b4981.tar.bz2 nasm-a09fe1ebfb6516a00a6b8d83d12586b0625b4981.zip |
Merge branch 'nasm-2.09.xx'
Conflicts:
doc/changes.src
version
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
-rw-r--r-- | doc/changes.src | 10 | ||||
-rw-r--r-- | insns.dat | 4 | ||||
-rw-r--r-- | nasm.c | 5 | ||||
-rw-r--r-- | preproc.c | 2 | ||||
-rw-r--r-- | test/br3189064.asm | 7 | ||||
-rw-r--r-- | test/br3200749.asm | 9 |
6 files changed, 32 insertions, 5 deletions
diff --git a/doc/changes.src b/doc/changes.src index 41614fc..302e9d1 100644 --- a/doc/changes.src +++ b/doc/changes.src @@ -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. @@ -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 @@ -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) @@ -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; diff --git a/test/br3189064.asm b/test/br3189064.asm new file mode 100644 index 0000000..d62df50 --- /dev/null +++ b/test/br3189064.asm @@ -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 diff --git a/test/br3200749.asm b/test/br3200749.asm new file mode 100644 index 0000000..79e35f8 --- /dev/null +++ b/test/br3200749.asm @@ -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 + |