amdgcn: Add -mxnack and -msram-ecc [PR 100208]
authorAndrew Stubbs <ams@codesourcery.com>
Thu, 8 Jul 2021 14:47:53 +0000 (15:47 +0100)
committerAndrew Stubbs <ams@codesourcery.com>
Mon, 19 Jul 2021 16:34:21 +0000 (17:34 +0100)
commitaad32a00b7d2b64ae158b2b167768a9ae3e20f6e
treeceb45863886ead20793426024e2772d60571f8b2
parentdb95ac7745b284d1fd667ee6262b4afc778fe074
amdgcn: Add -mxnack and -msram-ecc [PR 100208]

gcc/ChangeLog:

PR target/100208
* config/gcn/gcn-hsa.h (DRIVER_SELF_SPECS): New.
(ASM_SPEC): Set -mattr for xnack and sram-ecc.
* config/gcn/gcn-opts.h (enum sram_ecc_type): New.
* config/gcn/gcn-valu.md: Add a warning comment.
* config/gcn/gcn.c (gcn_option_override): Add "sorry" for -mxnack.
(output_file_start): Add xnack and sram-ecc state to ".amdgcn_target".
* config/gcn/gcn.md: Add a warning comment.
* config/gcn/gcn.opt: Add -mxnack and -msram-ecc.
* config/gcn/mkoffload.c (EF_AMDGPU_MACH_AMDGCN_GFX908): Remove
SRAM-ECC flag.
(EF_AMDGPU_XNACK): New.
(EF_AMDGPU_SRAM_ECC): New.
(elf_flags): New.
(copy_early_debug_info): Use elf_flags.
(main): Handle -mxnack and -msram-ecc options.
* doc/invoke.texi: Document -mxnack and -msram-ecc.

gcc/testsuite/ChangeLog:

PR target/100208
* gcc.target/gcn/sram-ecc-1.c: New test.
* gcc.target/gcn/sram-ecc-2.c: New test.
* gcc.target/gcn/sram-ecc-3.c: New test.
* gcc.target/gcn/sram-ecc-4.c: New test.
* gcc.target/gcn/sram-ecc-5.c: New test.
* gcc.target/gcn/sram-ecc-6.c: New test.
* gcc.target/gcn/sram-ecc-7.c: New test.
* gcc.target/gcn/sram-ecc-8.c: New test.
16 files changed:
gcc/config/gcn/gcn-hsa.h
gcc/config/gcn/gcn-opts.h
gcc/config/gcn/gcn-valu.md
gcc/config/gcn/gcn.c
gcc/config/gcn/gcn.md
gcc/config/gcn/gcn.opt
gcc/config/gcn/mkoffload.c
gcc/doc/invoke.texi
gcc/testsuite/gcc.target/gcn/sram-ecc-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/gcn/sram-ecc-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/gcn/sram-ecc-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/gcn/sram-ecc-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/gcn/sram-ecc-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/gcn/sram-ecc-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/gcn/sram-ecc-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/gcn/sram-ecc-8.c [new file with mode: 0644]