6 iterate <instr,opcode>, aesenc,0DCh, aesenclast,0DDh, aesdec,0DEh, aesdeclast,0DFh
\r
8 macro v#instr? dest*,src*,src2*
\r
9 AVX_512.parse_operand @dest,dest
\r
10 AVX_512.parse_operand @src,src
\r
11 AVX_512.parse_operand @src2,src2
\r
12 if @dest.type = 'mmreg' & @src.type = 'mmreg' & (@src2.type = 'mem' | @src2.type = 'mmreg')
\r
13 if @dest.size <> @src.size | @src2.size and not @dest.size
\r
14 err 'operand sizes do not match'
\r
17 AVX_512.store_instruction @dest.size,VEX_66_0F38_W0,EVEX_AS_VEX+EVEX_VL,opcode,@src2,0,@dest.rm,@src.rm
\r
19 err 'invalid combination of operands'
\r
29 iterate <instr,opcode>, aesenc,0DCh, aesenclast,0DDh, aesdec,0DEh, aesdeclast,0DFh
\r
31 macro v#instr? dest*,src*,src2*
\r
32 AVX.basic_instruction VEX_66_0F38_W0,opcode,0,dest,src,src2
\r