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 long double
       8  long_double_from_i32 (int32_t x)
       9  {
      10    return x;
      11  }
      12  
      13  /* { dg-final { scan-assembler-times {\n\tcxfbr\t} 1 } } */
      14  
      15  int
      16  main (void)
      17  {
      18    assert (long_double_from_i32 (42) == 42.L);
      19    assert (long_double_from_i32 (-42) == -42.L);
      20  }