[PATCH 1/5] x86: templatize SIMD FP arithmetic templates

Jiang, Haochen haochen.jiang@intel.com
Tue Oct 8 06:34:45 GMT 2024


> From: Jan Beulich <jbeulich@suse.com>
> Sent: Friday, September 6, 2024 6:25 PM
> 
> Reduce redundancy, in preparation of the addition of further counterparts for
> AVX10.2. Provide the "ne" parameter needed there right away, even if unused
> for now.
> 
> --- a/opcodes/i386-opc.tbl
> +++ b/opcodes/i386-opc.tbl
> @@ -1176,10 +1176,17 @@ pxor<MMX>, 0x<MMX:pfx>0fef, <MMX:cpu>,
> M
>      $avx:0xf30f53:0xf30f52:AVX:VexLIG|VexW0|Src1VVVV|SSE2AVX, +
> 
> $apx:0x660f384d:0x660f384f:AVX512F:EVexLIG|VexW0|Src1VVVV|Disp8M
> emShift=2|SSE2AVX, +
>      $sse:0xf30f53:0xf30f52:SSE:::>
> +<fop:opc:sr:ne, +
> +    add:58:StaticRounding:ne, +
> +    sub:5c:StaticRounding:ne, +
> +    mul:59:StaticRounding:ne, +
> +    div:5e:StaticRounding:ne, +
> +    min:5d::, +
> +    max:5f::>

When I am trying to use this, it seems to me that for mnemonics, we could not
use <fop:ne> since each string in <> in mnemonics will be treated as a new template
name, or simply, will be treated as the index for template expansion.

Maybe need to further split add/sub/mul/div and min/max if we want to use them
for AVX10.2 BF16 insts.

Thx,
Haochen



More information about the Binutils mailing list