Support Intel PREFETCHI
authorCui, Lili <lili.cui@intel.com>
Mon, 31 Oct 2022 13:07:17 +0000 (21:07 +0800)
committerCui,Lili <lili.cui@intel.com>
Mon, 31 Oct 2022 13:15:29 +0000 (21:15 +0800)
commitef07be453e0edf2f43034fcbc0581f61e630993e
treeeb13c80fe4c9c495fdd74bbf6bb32aaa463c5f6a
parent1e7416363963e27c8d122bee2397d4b48a482ec3
Support Intel PREFETCHI

gas/ChangeLog:

* NEWS: Add support for Intel PREFETCHI instruction.
* config/tc-i386.c (load_insn_p): Use prefetch* to fold all prefetches.
(md_assemble): Add warning for illegal input of PREFETCHI.
* doc/c-i386.texi: Document .prefetchi.
* testsuite/gas/i386/i386.exp: Run PREFETCHI tests.
* testsuite/gas/i386/x86-64-lfence-load.d: Add PREFETCHI.
* testsuite/gas/i386/x86-64-lfence-load.s: Likewise.
* testsuite/gas/i386/x86-64-prefetch.d: New test.
* testsuite/gas/i386/x86-64-prefetchi-intel.d: Likewise.
* testsuite/gas/i386/x86-64-prefetchi-inval-register.d: Likewise..
* testsuite/gas/i386/x86-64-prefetchi-inval-register.s: Likewise.
* testsuite/gas/i386/x86-64-prefetchi-warn.l: Likewise.
* testsuite/gas/i386/x86-64-prefetchi-warn.s: Likewise.
* testsuite/gas/i386/x86-64-prefetchi.d: Likewise.
* testsuite/gas/i386/x86-64-prefetchi.s: Likewise.

opcodes/ChangeLog:

* i386-dis.c (reg_table): Add MOD_0F18_REG_6 and MOD_0F18_REG_7
(x86_64_table): Add X86_64_0F18_REG_6_MOD_0 and X86_64_0F18_REG_7_MOD_0.
(mod_table): Add MOD_0F18_REG_6 and MOD_0F18_REG_7.
(prefix_table): Add PREFIX_0F18_REG_6_MOD_0_X86_64 and
PREFIX_0F18_REG_7_MOD_0_X86_64.
(PREFETCHI_Fixup): New.
* i386-gen.c (cpu_flag_init): Add CPU_PREFETCHI_FLAGS.
(cpu_flags): Add CpuPREFETCHI.
* i386-opc.h (CpuPREFETCHI): New.
(i386_cpu_flags): Add cpuprefetchi.
* i386-opc.tbl: Add Intel PREFETCHI instructions.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
19 files changed:
gas/NEWS
gas/config/tc-i386.c
gas/doc/c-i386.texi
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/x86-64-lfence-load.d
gas/testsuite/gas/i386/x86-64-lfence-load.s
gas/testsuite/gas/i386/x86-64-prefetchi-intel.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-prefetchi-inval-register.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-prefetchi-inval-register.s [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-prefetchi-warn.l [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-prefetchi-warn.s [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-prefetchi.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-prefetchi.s [new file with mode: 0644]
opcodes/i386-dis.c
opcodes/i386-gen.c
opcodes/i386-init.h
opcodes/i386-opc.h
opcodes/i386-opc.tbl
opcodes/i386-tbl.h