Merge remote-tracking branch 'origin/nasm-2.13.xx'

Resolved Conflicts:
	version

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:
H. Peter Anvin 2018-02-20 12:40:11 -08:00
commit 4dbf3a96a4
3 changed files with 81 additions and 1 deletions

View file

@ -7,6 +7,12 @@
The NASM 2 series supports x86-64, and is the production version of NASM
since 2007.
\S{cl-2.13.04} Version 2.13.04
\b Added \c{-W}, \c{-D}, and \c{-Q} suffix aliases for \c{RET}
instructions so the operand sizes of these instructions can be
encoded without using \c{o16}, \c{o32} or \c{o64}.
\S{cl-2.13.03} Version 2.13.03
\b Added AVX and AVX512 \c{VAES*} and \c{VPCLMULQDQ} instructions.

56
test/ret.asm Normal file
View file

@ -0,0 +1,56 @@
;; All the flavors of RET
%ifndef ERROR
%define ERROR 0
%endif
bits 16
ret
retn
retf
retw
retnw
retfw
retd
retnd
retfd
%if ERROR
retq
retnq
retfq
%endif
bits 32
ret
retn
retf
retw
retnw
retfw
retd
retnd
retfd
%if ERROR
retq
retnq
retfq
%endif
bits 64
ret
retn
retf ; Probably should have been RETFQ, but: legacy...
retw
retnw
retfw
%if ERROR
retd
retnd
%endif
retfd
retq
retnq
retfq

View file

@ -1,6 +1,6 @@
;; --------------------------------------------------------------------------
;;
;; Copyright 1996-2017 The NASM Authors - All Rights Reserved
;; Copyright 1996-2018 The NASM Authors - All Rights Reserved
;; See the file AUTHORS included with the NASM distribution for
;; the specific copyright holders.
;;
@ -1129,6 +1129,24 @@ RETF void [ cb] 8086
RETF imm [i: ca iw] 8086,SW
RETN void [ c3] 8086,BND
RETN imm [i: c2 iw] 8086,SW,BND
RETW void [ o16 c3] 8086,BND
RETW imm [i: c2 iw] 8086,SW,BND
RETFW void [ o16 cb] 8086
RETFW imm [i: o16 ca iw] 8086,SW
RETNW void [ o16 c3] 8086,BND
RETNW imm [i: o16 c2 iw] 8086,SW,BND
RETD void [ o32 c3] 8086,BND,NOLONG
RETD imm [i: o32 c2 iw] 8086,SW,BND,NOLONG
RETFD void [ o32 cb] 8086
RETFD imm [i: o32 ca iw] 8086,SW
RETND void [ o32 c3] 8086,BND,NOLONG
RETND imm [i: o32 c2 iw] 8086,SW,BND,NOLONG
RETQ void [ o64nw c3] X64,BND
RETQ imm [i: o64nw c2 iw] X64,SW,BND
RETFQ void [ o64 cb] X64
RETFQ imm [i: o64 ca iw] X64,SW
RETNQ void [ o64nw c3] X64,BND
RETNQ imm [i: o64nw c2 iw] X64,SW,BND
ROL rm8,unity [m-: d0 /0] 8086
ROL rm8,reg_cl [m-: d2 /0] 8086