mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-17 16:05:56 +08:00
x86: exclude certain ISA extensions from v3/v4 ISA
Like TBM and LWP, XOP and FMA4 also shouldn't be included in v3. Like AVX512-4VNNIW, AVX512-4FMAPS also shouldn't be included in v4.
This commit is contained in:
@ -9579,12 +9579,14 @@ output_insn (void)
|
||||
x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_V2;
|
||||
if (i.tm.cpu_flags.bitfield.cpuavx
|
||||
|| i.tm.cpu_flags.bitfield.cpuavx2
|
||||
/* Any VEX encoded insns execpt for CpuAVX512F, CpuAVX512BW,
|
||||
CpuAVX512DQ, LPW, TBM and AMX. */
|
||||
/* Any VEX encoded insns execpt for AVX512F, AVX512BW, AVX512DQ,
|
||||
XOP, FMA4, LPW, TBM, and AMX. */
|
||||
|| (i.tm.opcode_modifier.vex
|
||||
&& !i.tm.cpu_flags.bitfield.cpuavx512f
|
||||
&& !i.tm.cpu_flags.bitfield.cpuavx512bw
|
||||
&& !i.tm.cpu_flags.bitfield.cpuavx512dq
|
||||
&& !i.tm.cpu_flags.bitfield.cpuxop
|
||||
&& !i.tm.cpu_flags.bitfield.cpufma4
|
||||
&& !i.tm.cpu_flags.bitfield.cpulwp
|
||||
&& !i.tm.cpu_flags.bitfield.cputbm
|
||||
&& !(x86_feature_2_used & GNU_PROPERTY_X86_FEATURE_2_TMM))
|
||||
@ -9602,11 +9604,12 @@ output_insn (void)
|
||||
|| i.tm.cpu_flags.bitfield.cpuavx512bw
|
||||
|| i.tm.cpu_flags.bitfield.cpuavx512dq
|
||||
|| i.tm.cpu_flags.bitfield.cpuavx512vl
|
||||
/* Any EVEX encoded insns except for AVX512ER, AVX512PF and
|
||||
VNNIW. */
|
||||
/* Any EVEX encoded insns except for AVX512ER, AVX512PF,
|
||||
AVX512-4FMAPS, and AVX512-4VNNIW. */
|
||||
|| (i.tm.opcode_modifier.evex
|
||||
&& !i.tm.cpu_flags.bitfield.cpuavx512er
|
||||
&& !i.tm.cpu_flags.bitfield.cpuavx512pf
|
||||
&& !i.tm.cpu_flags.bitfield.cpuavx512_4fmaps
|
||||
&& !i.tm.cpu_flags.bitfield.cpuavx512_4vnniw))
|
||||
x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_V4;
|
||||
}
|
||||
|
@ -755,7 +755,10 @@ if {[is_elf_format] || [istarget "*-*-vxworks*"]} then {
|
||||
run_dump_test "property-cvtpi2pd"
|
||||
run_dump_test "property-cvtpi2ps"
|
||||
run_dump_test "property-ldmxcsr"
|
||||
run_dump_test "property-v4fmaddps"
|
||||
run_dump_test "property-vfmaddps"
|
||||
run_dump_test "property-vldmxcsr"
|
||||
run_dump_test "property-vpcmov"
|
||||
run_dump_test "property-vzeroall"
|
||||
run_dump_test "code16-2"
|
||||
|
||||
|
9
gas/testsuite/gas/i386/property-v4fmaddps.d
Normal file
9
gas/testsuite/gas/i386/property-v4fmaddps.d
Normal file
@ -0,0 +1,9 @@
|
||||
#name: i386 property v4fmaddps
|
||||
#as: -mx86-used-note=yes --generate-missing-build-notes=no
|
||||
#readelf: -n
|
||||
|
||||
Displaying notes found in: .note.gnu.property
|
||||
[ ]+Owner[ ]+Data size[ ]+Description
|
||||
GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
|
||||
Properties: x86 ISA used: x86-64-baseline
|
||||
x86 feature used: x86, XMM, YMM, ZMM
|
2
gas/testsuite/gas/i386/property-v4fmaddps.s
Normal file
2
gas/testsuite/gas/i386/property-v4fmaddps.s
Normal file
@ -0,0 +1,2 @@
|
||||
.text
|
||||
v4fmaddps (%eax), %zmm0, %zmm0
|
9
gas/testsuite/gas/i386/property-vfmaddps.d
Normal file
9
gas/testsuite/gas/i386/property-vfmaddps.d
Normal file
@ -0,0 +1,9 @@
|
||||
#name: i386 property vfmaddps
|
||||
#as: -mx86-used-note=yes --generate-missing-build-notes=no
|
||||
#readelf: -n
|
||||
|
||||
Displaying notes found in: .note.gnu.property
|
||||
[ ]+Owner[ ]+Data size[ ]+Description
|
||||
GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
|
||||
Properties: x86 ISA used: x86-64-baseline
|
||||
x86 feature used: x86, XMM, YMM
|
2
gas/testsuite/gas/i386/property-vfmaddps.s
Normal file
2
gas/testsuite/gas/i386/property-vfmaddps.s
Normal file
@ -0,0 +1,2 @@
|
||||
.text
|
||||
vfmaddps %xmm0, %xmm0, %xmm0, %xmm0
|
9
gas/testsuite/gas/i386/property-vpcmov.d
Normal file
9
gas/testsuite/gas/i386/property-vpcmov.d
Normal file
@ -0,0 +1,9 @@
|
||||
#name: i386 property vpcmov
|
||||
#as: -mx86-used-note=yes --generate-missing-build-notes=no
|
||||
#readelf: -n
|
||||
|
||||
Displaying notes found in: .note.gnu.property
|
||||
[ ]+Owner[ ]+Data size[ ]+Description
|
||||
GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
|
||||
Properties: x86 ISA used: x86-64-baseline
|
||||
x86 feature used: x86, XMM, YMM
|
2
gas/testsuite/gas/i386/property-vpcmov.s
Normal file
2
gas/testsuite/gas/i386/property-vpcmov.s
Normal file
@ -0,0 +1,2 @@
|
||||
.text
|
||||
vpcmov %xmm0, %xmm0, %xmm0, %xmm0
|
Reference in New Issue
Block a user