Currently, the following items are supported: __attribute__ ((target ("{no-}strict-align"))) __attribute__ ((target ("cmodel="))) __attribute__ ((target ("arch="))) __attribute__ ((target ("tune="))) __attribute__ ((target ("{no-}lsx"))) __attribute__ ((target ("{no-}lasx")))
Lulu Cheng (2): LoongArch: Implement target attribute. LoongArch: Implement target pragma. gcc/attr-urls.def | 6 + gcc/config.gcc | 2 +- gcc/config/loongarch/loongarch-protos.h | 5 + gcc/config/loongarch/loongarch-target-attr.cc | 472 ++++++++++++++++++ gcc/config/loongarch/loongarch.cc | 41 +- gcc/config/loongarch/loongarch.h | 2 + gcc/config/loongarch/t-loongarch | 6 + gcc/doc/extend.texi | 62 +++ .../gcc.target/loongarch/arch-func-attr-1.c | 20 + .../gcc.target/loongarch/arch-pragma-attr-1.c | 7 + .../loongarch/attr-check-error-message.c | 30 ++ .../gcc.target/loongarch/cmodel-func-attr-1.c | 21 + .../loongarch/cmodel-pragma-attr-1.c | 7 + .../gcc.target/loongarch/lasx-func-attr-1.c | 19 + .../gcc.target/loongarch/lasx-func-attr-2.c | 12 + .../gcc.target/loongarch/lasx-pragma-attr-1.c | 7 + .../gcc.target/loongarch/lasx-pragma-attr-2.c | 12 + .../gcc.target/loongarch/lsx-func-attr-1.c | 19 + .../gcc.target/loongarch/lsx-func-attr-2.c | 12 + .../gcc.target/loongarch/lsx-pragma-attr-1.c | 7 + .../gcc.target/loongarch/lsx-pragma-attr-2.c | 12 + .../gcc.target/loongarch/pragma-push-pop.c | 22 + .../loongarch/strict_align-func-attr-1.c | 21 + .../loongarch/strict_align-func-attr-2.c | 21 + .../loongarch/strict_align-pragma-attr-1.c | 7 + .../loongarch/strict_align-pragma-attr-2.c | 7 + .../gcc.target/loongarch/vector-func-attr-1.c | 19 + .../loongarch/vector-pragma-attr-1.c | 7 + 28 files changed, 875 insertions(+), 10 deletions(-) create mode 100644 gcc/config/loongarch/loongarch-target-attr.cc create mode 100644 gcc/testsuite/gcc.target/loongarch/arch-func-attr-1.c create mode 100644 gcc/testsuite/gcc.target/loongarch/arch-pragma-attr-1.c create mode 100644 gcc/testsuite/gcc.target/loongarch/attr-check-error-message.c create mode 100644 gcc/testsuite/gcc.target/loongarch/cmodel-func-attr-1.c create mode 100644 gcc/testsuite/gcc.target/loongarch/cmodel-pragma-attr-1.c create mode 100644 gcc/testsuite/gcc.target/loongarch/lasx-func-attr-1.c create mode 100644 gcc/testsuite/gcc.target/loongarch/lasx-func-attr-2.c create mode 100644 gcc/testsuite/gcc.target/loongarch/lasx-pragma-attr-1.c create mode 100644 gcc/testsuite/gcc.target/loongarch/lasx-pragma-attr-2.c create mode 100644 gcc/testsuite/gcc.target/loongarch/lsx-func-attr-1.c create mode 100644 gcc/testsuite/gcc.target/loongarch/lsx-func-attr-2.c create mode 100644 gcc/testsuite/gcc.target/loongarch/lsx-pragma-attr-1.c create mode 100644 gcc/testsuite/gcc.target/loongarch/lsx-pragma-attr-2.c create mode 100644 gcc/testsuite/gcc.target/loongarch/pragma-push-pop.c create mode 100644 gcc/testsuite/gcc.target/loongarch/strict_align-func-attr-1.c create mode 100644 gcc/testsuite/gcc.target/loongarch/strict_align-func-attr-2.c create mode 100644 gcc/testsuite/gcc.target/loongarch/strict_align-pragma-attr-1.c create mode 100644 gcc/testsuite/gcc.target/loongarch/strict_align-pragma-attr-2.c create mode 100644 gcc/testsuite/gcc.target/loongarch/vector-func-attr-1.c create mode 100644 gcc/testsuite/gcc.target/loongarch/vector-pragma-attr-1.c -- 2.34.1