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