From 2bf35e0b026d937bbd1c5208c0060e36caacb7cc Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin (Intel)" Date: Mon, 25 Jun 2018 14:51:15 -0700 Subject: [PATCH] insns.dat: add support for the V4* and VP4* 4-way instructions New instructions which do four full iterations of a data-reduction operation (FMA, dot product.) Bug report: https://bugzilla.nasm.us/show_bug.cgi?id=3392492 Reported-by: ff_ff Signed-off-by: H. Peter Anvin (Intel) --- x86/insns-iflags.ph | 2 ++ x86/insns.dat | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/x86/insns-iflags.ph b/x86/insns-iflags.ph index 7258d3c2..1042f0f5 100644 --- a/x86/insns-iflags.ph +++ b/x86/insns-iflags.ph @@ -148,6 +148,8 @@ my %insns_flag_bit = ( "AVX512VNNI" => [$f++, "AVX-512 VNNI instructions"], "AVX512BITALG" => [$f++, "AVX-512 Bit Algorithm instructions"], "AVX512VPOPCNTDQ" => [$f++, "AVX-512 VPOPCNTD/VPOPCNTQ"], + "AVX5124FMAPS" => [$f++, "AVX-512 4-iteration multiply-add"], + "AVX5124VNNIW" => [$f++, "AVX-512 4-iteration dot product"], # Put these last "OBSOLETE" => [$f++, "Instruction removed from architecture"], diff --git a/x86/insns.dat b/x86/insns.dat index 96295dc1..22af9f5f 100644 --- a/x86/insns.dat +++ b/x86/insns.dat @@ -5332,6 +5332,16 @@ VPSHUFBITQMB kreg|mask,xmmreg,xmmrm128 [rvm:fvm: evex.nds.128.66.0f38.w0 8f /r VPSHUFBITQMB kreg|mask,ymmreg,ymmrm256 [rvm:fvm: evex.nds.256.66.0f38.w0 8f /r] AVX512BITALG,AVX512VL,FUTURE VPSHUFBITQMB kreg|mask,zmmreg,zmmrm512 [rvm:fvm: evex.nds.512.66.0f38.w0 8f /r] AVX512BITALG,FUTURE +;# AVX512 4-iteration Multiply-Add +V4FMADDPS zmmreg|mask|z,zmmreg,mem128 [rvm:m128:evex.dds.512.f2.0f38.w0 9a /r] AVX5124FMAPS,FUTURE +V4FNMADDPS zmmreg|mask|z,zmmreg,mem128 [rvm:m128:evex.dds.512.f2.0f38.w0 9a /r] AVX5124FMAPS,FUTURE +V4FMADDSS zmmreg|mask|z,zmmreg,mem128 [rvm:m128:evex.dds.512.f2.0f38.w0 9b /r] AVX5124FMAPS,FUTURE +V4FNMADDSS zmmreg|mask|z,zmmreg,mem128 [rvm:m128:evex.dds.512.f2.0f38.w0 9b /r] AVX5124FMAPS,FUTURE + +;# AVX512 4-iteration Dot Product +V4DPWSSDS zmmreg|mask|z,zmmreg,mem128 [rvm:m128:evex.dds.512.f2.0f38.w0 53 /r] AVX5124VNNIW,FUTURE +V4DPWSSD zmmreg|mask|z,zmmreg,mem128 [rvm:m128:evex.dds.512.f2.0f38.w0 52 /r] AVX5124VNNIW,FUTURE + ;# Systematic names for the hinting nop instructions ; These should be last in the file HINT_NOP0 rm16 [m: o16 0f 18 /0] P6,UNDOC -- 2.11.4.GIT