Commit 399fa9fd authored by Tomasz Buchert's avatar Tomasz Buchert

Imported Upstream version 1.71.54

parent d5d31e97
No preview for this file type
......@@ -2072,8 +2072,7 @@ avx_extract_d_instruction:
cmp [code_type],64
jne invalid_operand
cmp al,4
ja avx_extractps_reg_size_ok
je invalid_operand_size
jae avx_extractps_reg_size_ok
or [rex_prefix],8
avx_extractps_reg_size_ok:
mov [operand_size],0
......
......@@ -1030,7 +1030,8 @@ calculate_expression:
cmp al,4
je convert_fp_dword
test al,not 8
jnz invalid_value
jz convert_fp_qword
call recoverable_misuse
convert_fp_qword:
xor eax,eax
xor edx,edx
......
......@@ -33,7 +33,7 @@
; cannot simply be copied and put under another distribution licence
; (including the GNU Public Licence).
VERSION_STRING equ "1.71.53"
VERSION_STRING equ "1.71.54"
VERSION_MAJOR = 1
VERSION_MINOR = 71
......@@ -5217,7 +5217,8 @@ extractps_instruction:
je mmx_nomem_imm8
cmp al,8
jne invalid_operand_size
call operand_64bit
cmp [code_type],64
jne illegal_instruction
jmp mmx_nomem_imm8
setup_66_0f_3a:
mov [extended_code],3Ah
......@@ -5343,7 +5344,6 @@ pextrb_instruction:
cmp bh,16
jne invalid_operand_size
xchg bl,[postbyte_register]
call operand_autodetect
jmp mmx_nomem_imm8
pinsrb_instruction:
mov [mmx_size],1
......@@ -5721,10 +5721,13 @@ crc32_instruction:
mov [supplemental_code],0F0h
call take_register
mov [postbyte_register],al
cmp ah,8
je crc32_reg64
cmp ah,4
je crc32_reg_size_ok
cmp ah,8
jne invalid_operand
cmp [code_type],64
jne illegal_instruction
crc32_reg_size_ok:
lods byte [esi]
cmp al,','
jne invalid_operand
......@@ -5732,7 +5735,7 @@ crc32_instruction:
lods byte [esi]
call get_size_operator
cmp al,10h
je crc32_reg32_reg
je crc32_reg_reg
cmp al,'['
jne invalid_operand
call get_address
......@@ -5740,63 +5743,25 @@ crc32_instruction:
test al,al
jz crc32_unknown_size
cmp al,1
je crc32_reg32_mem_store
cmp al,4
ja invalid_operand_size
je crc32_reg_mem_store
inc [supplemental_code]
call operand_autodetect
crc32_reg32_mem_store:
crc32_reg_mem_store:
jmp instruction_ready
crc32_unknown_size:
call recoverable_unknown_size
jmp crc32_reg32_mem_store
crc32_reg32_reg:
jmp crc32_reg_mem_store
crc32_reg_reg:
lods byte [esi]
call convert_register
mov bl,al
mov al,ah
cmp al,1
je crc32_reg32_reg_store
cmp al,4
ja invalid_operand_size
je crc32_reg_reg_store
inc [supplemental_code]
call operand_autodetect
crc32_reg32_reg_store:
crc32_reg_reg_store:
jmp nomem_instruction_ready
crc32_reg64:
lods byte [esi]
cmp al,','
jne invalid_operand
mov [operand_size],0
call operand_64bit
lods byte [esi]
call get_size_operator
cmp al,10h
je crc32_reg64_reg
cmp al,'['
jne invalid_operand
call get_address
mov ah,[operand_size]
mov al,8
test ah,ah
jz crc32_unknown_size
cmp ah,1
je crc32_reg32_mem_store
cmp ah,al
jne invalid_operand_size
inc [supplemental_code]
jmp crc32_reg32_mem_store
crc32_reg64_reg:
lods byte [esi]
call convert_register
mov bl,al
mov al,8
cmp ah,1
je crc32_reg32_reg_store
cmp ah,al
jne invalid_operand_size
inc [supplemental_code]
jmp crc32_reg32_reg_store
popcnt_instruction:
mov [opcode_prefix],0F3h
jmp bs_instruction
......
......@@ -2,6 +2,16 @@
Visit http://flatassembler.net/ for more information.
version 1.71.54 (Jun 09, 2016)
[-] Corrected syntax options of "pextrb", "pextrd", "extractps" and "crc32"
instructions in long mode to be consistent with how "pextrw" behaved already.
They all now allow either 32-bit or 64-bit register as destination and this
choice does not affect the result of the operation.
[-] The error message trigerred by "mov [eax],1.0" was misleading.
version 1.71.53 (May 21, 2016)
[+] Added missing "vmfunc" instruction.
......@@ -267,7 +277,7 @@ version 1.71.10 (Apr 03, 2013)
version 1.71.09 (Mar 30, 2013)
[-] "use16","use32" and "use64" no longer allow to put another instruction in
[-] "use16", "use32" and "use64" no longer allow to put another instruction in
the same line.
[-] Fixed a bug in parser that caused it to hang while processing some
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment