aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorFei Gao <gaofei@eswincomputing.com>2023-06-05 20:14:33 -0600
committerJeff Law <jlaw@ventanamicro.com>2023-06-05 20:15:59 -0600
commitd1344c418005927e2c39d8285ec63461d72a6717 (patch)
tree19f163262dd7fc63ae433a494c7da4043688edf5 /gcc
parent7805890428c3b3adfbf37143a262f76b1557e4f0 (diff)
downloadgcc-d1344c418005927e2c39d8285ec63461d72a6717.zip
gcc-d1344c418005927e2c39d8285ec63461d72a6717.tar.gz
gcc-d1344c418005927e2c39d8285ec63461d72a6717.tar.bz2
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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.target/riscv/save-restore-cfi.c17
1 files changed, 17 insertions, 0 deletions
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 0000000..a39f306
--- /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;
+}