From d1344c418005927e2c39d8285ec63461d72a6717 Mon Sep 17 00:00:00 2001 From: Fei Gao <gaofei@eswincomputing.com> Date: Mon, 5 Jun 2023 20:14:33 -0600 Subject: [PATCH] RISC-V] add TC for save-restore cfi directives. gcc/testsuite/ChangeLog: * gcc.target/riscv/save-restore-cfi.c: New test to check save-restore cfi directives. --- .../gcc.target/riscv/save-restore-cfi.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 gcc/testsuite/gcc.target/riscv/save-restore-cfi.c diff --git a/gcc/testsuite/gcc.target/riscv/save-restore-cfi.c b/gcc/testsuite/gcc.target/riscv/save-restore-cfi.c new file mode 100644 index 000000000000..a39f30609818 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/save-restore-cfi.c @@ -0,0 +1,17 @@ +/* { dg-do compile } */ +/* { dg-options "-g -Os -march=rv32imafc -mabi=ilp32f -msave-restore -mcmodel=medlow" } */ +/* { dg-skip-if "" { *-*-* } {"-O2" "-O1" "-O0" "-Og" "-O3" "-Oz" "-flto"} } */ +/* { dg-final { scan-assembler-times {\.cfi_def_cfa_offset 16} 2} } */ +/* { dg-final { scan-assembler-times {\.cfi_def_cfa_offset 32} 1} } */ +/* { dg-final { scan-assembler-times {\.cfi_def_cfa_offset 0} 1} } */ + +char my_getchar(); +float getf(); + +int foo() +{ + int s0 = my_getchar(); + float f0 = getf(); + int b = my_getchar(); + return f0 + s0 + b; +} -- GitLab