1  /* { dg-do compile } */
       2  /* { dg-options "-O3 -march=z14 -mzarch --save-temps" } */
       3  /* { dg-do run { target { s390_z14_hw } } } */
       4  #include <assert.h>
       5  #include <stdint.h>
       6  
       7  __attribute__ ((noipa)) static int32_t
       8  long_double_to_i32 (long double x)
       9  {
      10    return x;
      11  }
      12  
      13  /* { dg-final { scan-assembler-times {\n\tcfxbr\t} 1 } } */
      14  
      15  int
      16  main (void)
      17  {
      18    assert (long_double_to_i32 (42.L) == 42);
      19    assert (long_double_to_i32 (-42.L) == -42);
      20  }