1  /* { dg-do run } */
       2  /* { dg-require-effective-target sse4 } */
       3  /* { dg-options "-O2 -msse4.1 -mfpmath=sse" } */
       4  
       5  #ifndef CHECK_H
       6  #define CHECK_H "sse4_1-check.h"
       7  #endif
       8  
       9  #ifndef TEST
      10  #define TEST sse4_1_test
      11  #endif
      12  
      13  #include CHECK_H
      14  
      15  __attribute__((noipa)) double
      16  f1 (double a, double b)
      17  {
      18    return a < 0 ? a : b;
      19  }
      20  
      21  __attribute__((noipa)) float
      22  f2 (float a, float b)
      23  {
      24    return a < 0 ? a : b;
      25  }
      26  
      27  static void
      28  TEST (void)
      29  {
      30    if (f1 (5.0, 7.0) != 7.0
      31        || f1 (-2.0, 7.0) != -2.0
      32        || f2 (1.0f, 2.0f) != 2.0f
      33        || f2 (-1.0f, -3.0f) != -1.0f)
      34      abort ();
      35  }