mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-03-13 17:57:12 +08:00
Merge branch 'nasm-2.09.xx'
Conflicts: doc/changes.src version Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
This commit is contained in:
commit
a09fe1ebfb
@ -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
|
||||
|
5
nasm.c
5
nasm.c
@ -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;
|
||||
|
7
test/br3189064.asm
Normal file
7
test/br3189064.asm
Normal 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
9
test/br3200749.asm
Normal 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
|
||||
|
Loading…
x
Reference in New Issue
Block a user