4 macro vcvtph2ps? dest*,src*
\r
5 AVX.parse_operand @dest,dest
\r
6 AVX.parse_operand @src,src
\r
7 if @dest.type = 'mmreg' & (@src.type = 'mmreg' | @src.type = 'mem')
\r
8 if (@src.type = 'mmreg' & @src.size <> 16) | (@src.type = 'mem' & @src.size*2 <> @dest.size)
\r
9 err 'invalid operand size'
\r
11 AVX.store_instruction @dest.size,VEX_66_0F38_W0,13h,@src,@dest.rm
\r
13 err 'invalid combination of operands'
\r
17 macro vcvtps2ph? dest*,src*,round*
\r
18 AVX.parse_operand @dest,dest
\r
19 AVX.parse_operand @src,src
\r
20 x86.parse_operand @aux,round
\r
21 if (@dest.type = 'mmreg' | @dest.type = 'mem') & @src.type = 'mmreg' & @aux.type = 'imm'
\r
22 if (@dest.type = 'mmreg' & @dest.size <> 16) | (@dest.type = 'mem' & @dest.size*2 <> @src.size) | @aux.size and not 1
\r
23 err 'invalid operand size'
\r
25 AVX.store_instruction @src.size,VEX_66_0F3A_W0,1Dh,@dest,@src.rm,,1,@aux.imm
\r
27 err 'invalid combination of operands'
\r