Add znver3 processor

Gopalasubramanian, Ganesh Ganesh.Gopalasubramanian@amd.com
Mon Oct 12 20:52:22 GMT 2020


[AMD Public Use]

Attached patch adds the following.
        * New AMD znver3 processor (family 25). The architecture has the below features in addition to znver2 features
                * tlbsync, invlpgb, vaes, invpcid, snp, ospke, vpclmulqdq
        * Details of the features and instructions are available in public document https://www.amd.com/system/files/TechDocs/24594.pdf.
New test files are added.
        1. arch-14.s: Lists out the new ISAs that are supported and checks it against the march option.
        2. x86-64-arch-4.s: The 64-bit version of the test.
        3. invlpgb.s: The test that checks the invlpgb instruction.
        4. snp.s: The test that checks the SNP isa instructions.
        5. tlbsync.s: The test that checks the tlbsync instruction.

It passes make check on x86-64. Okay to commit?

Changelog:

2020-10-13  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com<mailto:Ganesh.Gopalasubramanian@amd.com>>

gas/

        * config/tc-i386.c (cpu_arch): Add CPU_ZNVER3_FLAGS flags.
        (i386_align_code): Add PROCESSOR_ZNVER cases.
        * doc/c-i386.texi: Add znver3 and snp, invlpgb and tlbsync.

gas/testsuite/
        * gas/i386/i386.exp: Add new znver3 test cases.
        * gas/i386/arch-14-znver3.d: New.
        * gas/i386/arch-14.d: New.
        * gas/i386/arch-14.s: New.
        * gas/i386/invlpgb.d: New.
        * gas/i386/invlpgb.s: New.
        * gas/i386/snp.d: New.
        * gas/i386/snp.s: New.
        * gas/i386/tlbsync.d: New.
        * gas/i386/tlbsync.s: New.
        * gas/i386/x86-64-arch-4-znver3.d: New.
        * gas/i386/x86-64-arch-4.d: New.
        * gas/i386/x86-64-arch-4.s: New.

opcodes/
        * i386-dis.c (rm_table): Add tlbsync, snp, invlpgb.
        * i386-gen.c (cpu_flag_init): Add new CPU_INVLPGB_FLAGS, CPU_TLBSYNC_FLAGS, and CPU_SNP_FLAGS.
        Add CPU_ZNVER3_FLAGS.
        (cpu_flags): Add CpuINVLPGB, CpuTLBSYNC, CpuSNP.
        * i386-opc.h: Add CpuINVLPGB, CpuTLBSYNC, CpuSNP.
        * i386-opc.tbl: Add invlpgb, tlbsync, SNP (psmash, pvalidate, rmpupdate, rmpadjust).
        * i386-init.h: Re-generated.
        * i386-tbl.h: Re-generated.

Regards
Ganesh
-------------- next part --------------
A non-text attachment was scrubbed...
Name: znver3.zip
Type: application/x-zip-compressed
Size: 6624 bytes
Desc: znver3.zip
URL: <https://sourceware.org/pipermail/binutils/attachments/20201012/cf60758f/attachment-0001.bin>


More information about the Binutils mailing list