1  /* Verify that we generate appropriate CFI offsets in the case of enter
       2     instruction.  */
       3  /* { dg-skip-if "Not having enter_s insn." { arc700 || arc6xx } } */
       4  /* { dg-do compile } */
       5  /* { dg-options "-g -Os" } */
       6  
       7  extern void bar (void);
       8  
       9  void foo (void)
      10  {
      11    asm volatile (";my clobber list"
      12  		: : : "r13", "r14", "r15", "r16", "r17", "r18", "r19");
      13    bar ();
      14    asm volatile (";my clobber list"
      15  		: : : "r13", "r14", "r15", "r16", "r17", "r18", "r19");
      16  }
      17  
      18  
      19  /* { dg-final { scan-assembler-times "enter_s" 1 } } */
      20  /* { dg-final { scan-assembler-times "\.cfi_def_cfa_offset 32" 1 } } */
      21  /* { dg-final { scan-assembler-times "\.cfi_offset 31, -32" 1 } } */
      22  /* { dg-final { scan-assembler-times "\.cfi_offset 13, -28" 1 } } */
      23  /* { dg-final { scan-assembler-times "\.cfi_offset 14, -24" 1 } } */
      24  /* { dg-final { scan-assembler-times "\.cfi_offset 15, -20" 1 } } */
      25  /* { dg-final { scan-assembler-times "\.cfi_offset 16, -16" 1 } } */
      26  /* { dg-final { scan-assembler-times "\.cfi_offset 17, -12" 1 } } */
      27  /* { dg-final { scan-assembler-times "\.cfi_offset 18, -8" 1 } } */
      28  /* { dg-final { scan-assembler-times "\.cfi_offset 19, -4" 1 } } */