From: Soumya AR <soum...@nvidia.com> This patch was bootstrapped and regtested on aarch64-linux-gnu, no regression.
Signed-off-by: Soumya AR <soum...@nvidia.com> gcc/testsuite/ChangeLog: * gcc.target/aarch64/aarch64-json-tunings/aarch64-json-tunings.exp: New test. * gcc.target/aarch64/aarch64-json-tunings/boolean-1.c: New test. * gcc.target/aarch64/aarch64-json-tunings/boolean-1.json: New test. * gcc.target/aarch64/aarch64-json-tunings/boolean-2.c: New test. * gcc.target/aarch64/aarch64-json-tunings/boolean-2.json: New test. * gcc.target/aarch64/aarch64-json-tunings/empty-brackets.c: New test. * gcc.target/aarch64/aarch64-json-tunings/empty-brackets.json: New test. * gcc.target/aarch64/aarch64-json-tunings/empty.c: New test. * gcc.target/aarch64/aarch64-json-tunings/empty.json: New test. * gcc.target/aarch64/aarch64-json-tunings/enum-1.c: New test. * gcc.target/aarch64/aarch64-json-tunings/enum-1.json: New test. * gcc.target/aarch64/aarch64-json-tunings/enum-2.c: New test. * gcc.target/aarch64/aarch64-json-tunings/enum-2.json: New test. * gcc.target/aarch64/aarch64-json-tunings/integer-1.c: New test. * gcc.target/aarch64/aarch64-json-tunings/integer-1.json: New test. * gcc.target/aarch64/aarch64-json-tunings/integer-2.c: New test. * gcc.target/aarch64/aarch64-json-tunings/integer-2.json: New test. * gcc.target/aarch64/aarch64-json-tunings/integer-3.c: New test. * gcc.target/aarch64/aarch64-json-tunings/integer-3.json: New test. * gcc.target/aarch64/aarch64-json-tunings/integer-4.c: New test. * gcc.target/aarch64/aarch64-json-tunings/integer-4.json: New test. * gcc.target/aarch64/aarch64-json-tunings/string-1.c: New test. * gcc.target/aarch64/aarch64-json-tunings/string-1.json: New test. * gcc.target/aarch64/aarch64-json-tunings/string-2.c: New test. * gcc.target/aarch64/aarch64-json-tunings/string-2.json: New test. * gcc.target/aarch64/aarch64-json-tunings/unidentified-key.c: New test. * gcc.target/aarch64/aarch64-json-tunings/unidentified-key.json: New test. --- .../aarch64-json-tunings.exp | 35 +++++++++++++++++++ .../aarch64/aarch64-json-tunings/boolean-1.c | 6 ++++ .../aarch64-json-tunings/boolean-1.json | 9 +++++ .../aarch64/aarch64-json-tunings/boolean-2.c | 7 ++++ .../aarch64-json-tunings/boolean-2.json | 9 +++++ .../aarch64-json-tunings/empty-brackets.c | 6 ++++ .../aarch64-json-tunings/empty-brackets.json | 1 + .../aarch64/aarch64-json-tunings/empty.c | 6 ++++ .../aarch64/aarch64-json-tunings/empty.json | 0 .../aarch64/aarch64-json-tunings/enum-1.c | 8 +++++ .../aarch64/aarch64-json-tunings/enum-1.json | 7 ++++ .../aarch64/aarch64-json-tunings/enum-2.c | 7 ++++ .../aarch64/aarch64-json-tunings/enum-2.json | 7 ++++ .../aarch64/aarch64-json-tunings/integer-1.c | 7 ++++ .../aarch64-json-tunings/integer-1.json | 6 ++++ .../aarch64/aarch64-json-tunings/integer-2.c | 7 ++++ .../aarch64-json-tunings/integer-2.json | 6 ++++ .../aarch64/aarch64-json-tunings/integer-3.c | 7 ++++ .../aarch64-json-tunings/integer-3.json | 5 +++ .../aarch64/aarch64-json-tunings/integer-4.c | 6 ++++ .../aarch64-json-tunings/integer-4.json | 5 +++ .../aarch64/aarch64-json-tunings/string-1.c | 8 +++++ .../aarch64-json-tunings/string-1.json | 7 ++++ .../aarch64/aarch64-json-tunings/string-2.c | 7 ++++ .../aarch64-json-tunings/string-2.json | 5 +++ .../aarch64-json-tunings/unidentified-key.c | 6 ++++ .../unidentified-key.json | 5 +++ 27 files changed, 195 insertions(+) create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/aarch64-json-tunings.exp create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/boolean-1.c create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/boolean-1.json create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/boolean-2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/boolean-2.json create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/empty-brackets.c create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/empty-brackets.json create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/empty.c create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/empty.json create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/enum-1.c create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/enum-1.json create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/enum-2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/enum-2.json create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-1.c create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-1.json create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-2.json create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-3.c create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-3.json create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-4.json create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/string-1.c create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/string-1.json create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/string-2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/string-2.json create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/unidentified-key.c create mode 100644 gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/unidentified-key.json diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/aarch64-json-tunings.exp b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/aarch64-json-tunings.exp new file mode 100644 index 00000000000..974af6d78a2 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/aarch64-json-tunings.exp @@ -0,0 +1,35 @@ +# Copyright (C) 2025 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING3. If not see +# <http://www.gnu.org/licenses/>. + +# GCC testsuite that uses the `dg.exp' driver. + +# Exit immediately if this isn't an AArch64 target. +if ![istarget aarch64*-*-*] then { + return +} + +# Load support procs. +load_lib gcc-dg.exp + +# Initialize `dg'. +dg-init + +# Main loop. +dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cCS\]]] \ + "" "" + +# All done. +dg-finish diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/boolean-1.c b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/boolean-1.c new file mode 100644 index 00000000000..31801fca6bf --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/boolean-1.c @@ -0,0 +1,6 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-muser-provided-CPU=${srcdir}/gcc.target/aarch64/aarch64-json-tunings/boolean-1.json -fdump-tuning-model=temp.json" } */ + +/* { dg-final { scan-file "temp.json" "\"non_exec_costs_exec\": false" } } */ + +int main () {} \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/boolean-1.json b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/boolean-1.json new file mode 100644 index 00000000000..b7bd3dd4f9a --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/boolean-1.json @@ -0,0 +1,9 @@ +{ + "tune_params": { + "insn_extra_cost": { + "alu": { + "non_exec_costs_exec": false + } + } + } +} diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/boolean-2.c b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/boolean-2.c new file mode 100644 index 00000000000..f34f5935725 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/boolean-2.c @@ -0,0 +1,7 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-muser-provided-CPU=${srcdir}/gcc.target/aarch64/aarch64-json-tunings/boolean-2.json -fdump-tuning-model=temp.json" } */ + +/* { dg-error "key .* expected to be a boolean" "" { target *-*-* } 0 } */ +/* { dg-error "validation failed for the provided JSON data" "" { target *-*-* } 0 } */ + +int main () {} \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/boolean-2.json b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/boolean-2.json new file mode 100644 index 00000000000..d43e5b1a291 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/boolean-2.json @@ -0,0 +1,9 @@ +{ + "tune_params": { + "insn_extra_cost": { + "alu": { + "non_exec_costs_exec": 0 + } + } + } +} diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/empty-brackets.c b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/empty-brackets.c new file mode 100644 index 00000000000..e8465ee49d0 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/empty-brackets.c @@ -0,0 +1,6 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-muser-provided-CPU=${srcdir}/gcc.target/aarch64/aarch64-json-tunings/empty-brackets.json -fdump-tuning-model=temp.json" } */ + +/* { dg-warning "key 'tune_params' not found in JSON data" "" { target *-*-* } 0 } */ + +int main () {} \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/empty-brackets.json b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/empty-brackets.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/empty-brackets.json @@ -0,0 +1 @@ +{} diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/empty.c b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/empty.c new file mode 100644 index 00000000000..0e722994fff --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/empty.c @@ -0,0 +1,6 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-muser-provided-CPU=${srcdir}/gcc.target/aarch64/aarch64-json-tunings/empty.json -fdump-tuning-model=temp.json" } */ + +/* { dg-error "expected a JSON value but got EOF" "" { target *-*-* } 0 } */ + +int main () {} \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/empty.json b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/empty.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/enum-1.c b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/enum-1.c new file mode 100644 index 00000000000..a076a51212b --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/enum-1.c @@ -0,0 +1,8 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-muser-provided-CPU=${srcdir}/gcc.target/aarch64/aarch64-json-tunings/enum-1.json -fdump-tuning-model=temp.json" } */ + +/* { dg-final { scan-file "temp.json" "\"autoprefetcher_model\": \"AUTOPREFETCHER_OFF\"" } } */ +/* { dg-final { scan-file "temp.json" "\"ldp_policy_model\": \"AARCH64_LDP_STP_POLICY_NEVER\"" } } */ +/* { dg-final { scan-file "temp.json" "\"stp_policy_model\": \"AARCH64_LDP_STP_POLICY_DEFAULT\"" } } */ + +int main () {} \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/enum-1.json b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/enum-1.json new file mode 100644 index 00000000000..492af1c14e0 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/enum-1.json @@ -0,0 +1,7 @@ +{ + "tune_params": { + "autoprefetcher_model": "AUTOPREFETCHER_OFF", + "ldp_policy_model": "AARCH64_LDP_STP_POLICY_NEVER", + "stp_policy_model": "AARCH64_LDP_STP_POLICY_DEFAULT" + } +} diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/enum-2.c b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/enum-2.c new file mode 100644 index 00000000000..0c5b8416ba2 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/enum-2.c @@ -0,0 +1,7 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-muser-provided-CPU=${srcdir}/gcc.target/aarch64/aarch64-json-tunings/enum-2.json -fdump-tuning-model=temp.json" } */ + +/* { dg-warning "autoprefetch model not recognized, defaulting to 'AUTOPREFETCHER_OFF'" "" { target *-*-* } 0 } */ +/* { dg-warning "ldp stp policy not recognized, defaulting to 'AARCH64_LDP_STP_POLICY_DEFAULT'" "" { target *-*-* } 0 } */ + +int main () {} \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/enum-2.json b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/enum-2.json new file mode 100644 index 00000000000..61204071fd3 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/enum-2.json @@ -0,0 +1,7 @@ +{ + "tune_params": { + "autoprefetcher_model": "null", + "ldp_policy_model": "null", + "stp_policy_model": "AARCH64_LDP_STP_POLICY_DEFAULT" + } +} diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-1.c b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-1.c new file mode 100644 index 00000000000..6749a785a39 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-1.c @@ -0,0 +1,7 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-muser-provided-CPU=${srcdir}/gcc.target/aarch64/aarch64-json-tunings/integer-1.json -fdump-tuning-model=temp.json" } */ + +/* { dg-final { scan-file "temp.json" "\"sve_width\": 256" } } */ +/* { dg-final { scan-file "temp.json" "\"issue_rate\": 4" } } */ + +int main () {} \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-1.json b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-1.json new file mode 100644 index 00000000000..8db0efad28e --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-1.json @@ -0,0 +1,6 @@ +{ + "tune_params": { + "sve_width": 256, + "issue_rate": 4 + } +} diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-2.c b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-2.c new file mode 100644 index 00000000000..088e6aadcf3 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-2.c @@ -0,0 +1,7 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-muser-provided-CPU=${srcdir}/gcc.target/aarch64/aarch64-json-tunings/integer-2.json -fdump-tuning-model=temp.json" } */ + +/* { dg-error "key .* expected to be an unsigned integer" "" { target *-*-* } 0 } */ +/* { dg-error "validation failed for the provided JSON data" "" { target *-*-* } 0 } */ + +int main () {} \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-2.json b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-2.json new file mode 100644 index 00000000000..741cf5d2201 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-2.json @@ -0,0 +1,6 @@ +{ + "tune_params": { + "sve_width": -256, + "int_reassoc_width": 12097307449014 + } +} diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-3.c b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-3.c new file mode 100644 index 00000000000..27b2f67f3ac --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-3.c @@ -0,0 +1,7 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-muser-provided-CPU=${srcdir}/gcc.target/aarch64/aarch64-json-tunings/integer-3.json -fdump-tuning-model=temp.json" } */ + +/* { dg-error "key .* expected to be an integer" "" { target *-*-* } 0 } */ +/* { dg-error "validation failed for the provided JSON data" "" { target *-*-* } 0 } */ + +int main () {} \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-3.json b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-3.json new file mode 100644 index 00000000000..94fd1232840 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-3.json @@ -0,0 +1,5 @@ +{ + "tune_params": { + "issue_rate": "10" + } +} diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-4.c b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-4.c new file mode 100644 index 00000000000..833de7c0233 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-4.c @@ -0,0 +1,6 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-muser-provided-CPU=${srcdir}/gcc.target/aarch64/aarch64-json-tunings/integer-4.json -fdump-tuning-model=temp.json" } */ + +/* { dg-error "value exceeds 'INT_MAX'" "" { target *-*-* } 0 } */ + +int main () {} \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-4.json b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-4.json new file mode 100644 index 00000000000..94f614f0c0a --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/integer-4.json @@ -0,0 +1,5 @@ +{ + "tune_params": { + "issue_rate": 519027498174201 + } +} diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/string-1.c b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/string-1.c new file mode 100644 index 00000000000..c26f3e4ca2f --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/string-1.c @@ -0,0 +1,8 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-muser-provided-CPU=${srcdir}/gcc.target/aarch64/aarch64-json-tunings/string-1.json -fdump-tuning-model=temp.json" } */ + +/* { dg-final { scan-file "temp.json" "\"function_align\": \"16\"" } } */ +/* { dg-final { scan-file "temp.json" "\"jump_align\": \"2\"" } } */ +/* { dg-final { scan-file "temp.json" "\"loop_align\": \"8\"" } } */ + +int main () {} \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/string-1.json b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/string-1.json new file mode 100644 index 00000000000..fe78f324a5c --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/string-1.json @@ -0,0 +1,7 @@ +{ + "tune_params": { + "function_align": "16", + "jump_align": "2", + "loop_align": "8" + } +} diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/string-2.c b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/string-2.c new file mode 100644 index 00000000000..fe9037bc9b4 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/string-2.c @@ -0,0 +1,7 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-muser-provided-CPU=${srcdir}/gcc.target/aarch64/aarch64-json-tunings/string-2.json -fdump-tuning-model=temp.json" } */ + +/* { dg-error "key .* expected to be a string" "" { target *-*-* } 0 } */ +/* { dg-error "validation failed for the provided JSON data" "" { target *-*-* } 0 } */ + +int main () {} \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/string-2.json b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/string-2.json new file mode 100644 index 00000000000..5b1df22784b --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/string-2.json @@ -0,0 +1,5 @@ +{ + "tune_params": { + "function_align": 16 + } +} diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/unidentified-key.c b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/unidentified-key.c new file mode 100644 index 00000000000..fbfe9f1fc9b --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/unidentified-key.c @@ -0,0 +1,6 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-muser-provided-CPU=${srcdir}/gcc.target/aarch64/aarch64-json-tunings/unidentified-key.json -fdump-tuning-model=temp.json" } */ + +/* { dg-warning "key .* is not a tuning parameter, skipping" "" { target *-*-* } 0 } */ + +int main () {} \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/unidentified-key.json b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/unidentified-key.json new file mode 100644 index 00000000000..89e69b2c690 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/aarch64-json-tunings/unidentified-key.json @@ -0,0 +1,5 @@ +{ + "tune_params": { + "unidentified_key": "10" + } +} -- 2.44.0