===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+addieq (int_t w, int_t x, int_t y, int_t z)
+{
+ return w == x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addieq (-1, -1, 12, 23) != 35)
+ return 1;
+ if (addieq (-1, 3, 12, 23) != 12)
+ return 1;
+ if (addieq (1, 3, 12, 23) != 12)
+ return 1;
+ if (addieq (3, 3, 12, 23) != 35)
+ return 1;
+ if (addieq (5, 3, 12, 23) != 12)
+ return 1;
+ if (addieq (3, -1, 12, 23) != 12)
+ return 1;
+ if (addieq (3, 1, 12, 23) != 12)
+ return 1;
+ if (addieq (3, 5, 12, 23) != 12)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+addifeq (double w, double x, int_t y, int_t z)
+{
+ return w == x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addifeq (-1.0, -1.0, 12, 23) != 35)
+ return 1;
+ if (addifeq (-1.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (addifeq (1.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (addifeq (3.0, 3.0, 12, 23) != 35)
+ return 1;
+ if (addifeq (5.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (addifeq (3.0, -1.0, 12, 23) != 12)
+ return 1;
+ if (addifeq (3.0, 1.0, 12, 23) != 12)
+ return 1;
+ if (addifeq (3.0, 5.0, 12, 23) != 12)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+addifge (double w, double x, int_t y, int_t z)
+{
+ return w >= x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addifge (-1.0, -1.0, 12, 23) != 35)
+ return 1;
+ if (addifge (-1.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (addifge (1.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (addifge (3.0, 3.0, 12, 23) != 35)
+ return 1;
+ if (addifge (5.0, 3.0, 12, 23) != 35)
+ return 1;
+ if (addifge (3.0, -1.0, 12, 23) != 35)
+ return 1;
+ if (addifge (3.0, 1.0, 12, 23) != 35)
+ return 1;
+ if (addifge (3.0, 5.0, 12, 23) != 12)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+addifgt (double w, double x, int_t y, int_t z)
+{
+ return w > x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addifgt (-1.0, -1.0, 12, 23) != 12)
+ return 1;
+ if (addifgt (-1.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (addifgt (1.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (addifgt (3.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (addifgt (5.0, 3.0, 12, 23) != 35)
+ return 1;
+ if (addifgt (3.0, -1.0, 12, 23) != 35)
+ return 1;
+ if (addifgt (3.0, 1.0, 12, 23) != 35)
+ return 1;
+ if (addifgt (3.0, 5.0, 12, 23) != 12)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+addifle (double w, double x, int_t y, int_t z)
+{
+ return w <= x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addifle (-1.0, -1.0, 12, 23) != 35)
+ return 1;
+ if (addifle (-1.0, 3.0, 12, 23) != 35)
+ return 1;
+ if (addifle (1.0, 3.0, 12, 23) != 35)
+ return 1;
+ if (addifle (3.0, 3.0, 12, 23) != 35)
+ return 1;
+ if (addifle (5.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (addifle (3.0, -1.0, 12, 23) != 12)
+ return 1;
+ if (addifle (3.0, 1.0, 12, 23) != 12)
+ return 1;
+ if (addifle (3.0, 5.0, 12, 23) != 35)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+addiflt (double w, double x, int_t y, int_t z)
+{
+ return w < x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addiflt (-1.0, -1.0, 12, 23) != 12)
+ return 1;
+ if (addiflt (-1.0, 3.0, 12, 23) != 35)
+ return 1;
+ if (addiflt (1.0, 3.0, 12, 23) != 35)
+ return 1;
+ if (addiflt (3.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (addiflt (5.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (addiflt (3.0, -1.0, 12, 23) != 12)
+ return 1;
+ if (addiflt (3.0, 1.0, 12, 23) != 12)
+ return 1;
+ if (addiflt (3.0, 5.0, 12, 23) != 35)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+addifne (double w, double x, int_t y, int_t z)
+{
+ return w != x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addifne (-1.0, -1.0, 12, 23) != 12)
+ return 1;
+ if (addifne (-1.0, 3.0, 12, 23) != 35)
+ return 1;
+ if (addifne (1.0, 3.0, 12, 23) != 35)
+ return 1;
+ if (addifne (3.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (addifne (5.0, 3.0, 12, 23) != 35)
+ return 1;
+ if (addifne (3.0, -1.0, 12, 23) != 35)
+ return 1;
+ if (addifne (3.0, 1.0, 12, 23) != 35)
+ return 1;
+ if (addifne (3.0, 5.0, 12, 23) != 35)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+addige (int_t w, int_t x, int_t y, int_t z)
+{
+ return w >= x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addige (-1, -1, 12, 23) != 35)
+ return 1;
+ if (addige (-1, 3, 12, 23) != 12)
+ return 1;
+ if (addige (1, 3, 12, 23) != 12)
+ return 1;
+ if (addige (3, 3, 12, 23) != 35)
+ return 1;
+ if (addige (5, 3, 12, 23) != 35)
+ return 1;
+ if (addige (3, -1, 12, 23) != 35)
+ return 1;
+ if (addige (3, 1, 12, 23) != 35)
+ return 1;
+ if (addige (3, 5, 12, 23) != 12)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef unsigned int int_t;
+
+__attribute__ ((noinline)) int_t
+addigeu (int_t w, int_t x, int_t y, int_t z)
+{
+ return w >= x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addigeu (-1, -1, 12, 23) != 35)
+ return 1;
+ if (addigeu (-1, 3, 12, 23) != 35)
+ return 1;
+ if (addigeu (1, 3, 12, 23) != 12)
+ return 1;
+ if (addigeu (3, 3, 12, 23) != 35)
+ return 1;
+ if (addigeu (5, 3, 12, 23) != 35)
+ return 1;
+ if (addigeu (3, -1, 12, 23) != 12)
+ return 1;
+ if (addigeu (3, 1, 12, 23) != 35)
+ return 1;
+ if (addigeu (3, 5, 12, 23) != 12)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+addigt (int_t w, int_t x, int_t y, int_t z)
+{
+ return w > x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addigt (-1, -1, 12, 23) != 12)
+ return 1;
+ if (addigt (-1, 3, 12, 23) != 12)
+ return 1;
+ if (addigt (1, 3, 12, 23) != 12)
+ return 1;
+ if (addigt (3, 3, 12, 23) != 12)
+ return 1;
+ if (addigt (5, 3, 12, 23) != 35)
+ return 1;
+ if (addigt (3, -1, 12, 23) != 35)
+ return 1;
+ if (addigt (3, 1, 12, 23) != 35)
+ return 1;
+ if (addigt (3, 5, 12, 23) != 12)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef unsigned int int_t;
+
+__attribute__ ((noinline)) int_t
+addigtu (int_t w, int_t x, int_t y, int_t z)
+{
+ return w > x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addigtu (-1, -1, 12, 23) != 12)
+ return 1;
+ if (addigtu (-1, 3, 12, 23) != 35)
+ return 1;
+ if (addigtu (1, 3, 12, 23) != 12)
+ return 1;
+ if (addigtu (3, 3, 12, 23) != 12)
+ return 1;
+ if (addigtu (5, 3, 12, 23) != 35)
+ return 1;
+ if (addigtu (3, -1, 12, 23) != 12)
+ return 1;
+ if (addigtu (3, 1, 12, 23) != 35)
+ return 1;
+ if (addigtu (3, 5, 12, 23) != 12)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+addile (int_t w, int_t x, int_t y, int_t z)
+{
+ return w <= x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addile (-1, -1, 12, 23) != 35)
+ return 1;
+ if (addile (-1, 3, 12, 23) != 35)
+ return 1;
+ if (addile (1, 3, 12, 23) != 35)
+ return 1;
+ if (addile (3, 3, 12, 23) != 35)
+ return 1;
+ if (addile (5, 3, 12, 23) != 12)
+ return 1;
+ if (addile (3, -1, 12, 23) != 12)
+ return 1;
+ if (addile (3, 1, 12, 23) != 12)
+ return 1;
+ if (addile (3, 5, 12, 23) != 35)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef unsigned int int_t;
+
+__attribute__ ((noinline)) int_t
+addileu (int_t w, int_t x, int_t y, int_t z)
+{
+ return w <= x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addileu (-1, -1, 12, 23) != 35)
+ return 1;
+ if (addileu (-1, 3, 12, 23) != 12)
+ return 1;
+ if (addileu (1, 3, 12, 23) != 35)
+ return 1;
+ if (addileu (3, 3, 12, 23) != 35)
+ return 1;
+ if (addileu (5, 3, 12, 23) != 12)
+ return 1;
+ if (addileu (3, -1, 12, 23) != 35)
+ return 1;
+ if (addileu (3, 1, 12, 23) != 12)
+ return 1;
+ if (addileu (3, 5, 12, 23) != 35)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+addilt (int_t w, int_t x, int_t y, int_t z)
+{
+ return w < x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addilt (-1, -1, 12, 23) != 12)
+ return 1;
+ if (addilt (-1, 3, 12, 23) != 35)
+ return 1;
+ if (addilt (1, 3, 12, 23) != 35)
+ return 1;
+ if (addilt (3, 3, 12, 23) != 12)
+ return 1;
+ if (addilt (5, 3, 12, 23) != 12)
+ return 1;
+ if (addilt (3, -1, 12, 23) != 12)
+ return 1;
+ if (addilt (3, 1, 12, 23) != 12)
+ return 1;
+ if (addilt (3, 5, 12, 23) != 35)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef unsigned int int_t;
+
+__attribute__ ((noinline)) int_t
+addiltu (int_t w, int_t x, int_t y, int_t z)
+{
+ return w < x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addiltu (-1, -1, 12, 23) != 12)
+ return 1;
+ if (addiltu (-1, 3, 12, 23) != 12)
+ return 1;
+ if (addiltu (1, 3, 12, 23) != 35)
+ return 1;
+ if (addiltu (3, 3, 12, 23) != 12)
+ return 1;
+ if (addiltu (5, 3, 12, 23) != 12)
+ return 1;
+ if (addiltu (3, -1, 12, 23) != 35)
+ return 1;
+ if (addiltu (3, 1, 12, 23) != 12)
+ return 1;
+ if (addiltu (3, 5, 12, 23) != 35)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+addine (int_t w, int_t x, int_t y, int_t z)
+{
+ return w != x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addine (-1, -1, 12, 23) != 12)
+ return 1;
+ if (addine (-1, 3, 12, 23) != 35)
+ return 1;
+ if (addine (1, 3, 12, 23) != 35)
+ return 1;
+ if (addine (3, 3, 12, 23) != 12)
+ return 1;
+ if (addine (5, 3, 12, 23) != 35)
+ return 1;
+ if (addine (3, -1, 12, 23) != 35)
+ return 1;
+ if (addine (3, 1, 12, 23) != 35)
+ return 1;
+ if (addine (3, 5, 12, 23) != 35)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+addleq (int_t w, int_t x, int_t y, int_t z)
+{
+ return w == x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addleq (-1L, -1L, 12L, 23L) != 35L)
+ return 1;
+ if (addleq (-1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addleq (1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addleq (3L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addleq (5L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addleq (3L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (addleq (3L, 1L, 12L, 23L) != 12L)
+ return 1;
+ if (addleq (3L, 5L, 12L, 23L) != 12L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+addlfeq (double w, double x, int_t y, int_t z)
+{
+ return w == x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addlfeq (-1.0, -1.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfeq (-1.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlfeq (1.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlfeq (3.0, 3.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfeq (5.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlfeq (3.0, -1.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlfeq (3.0, 1.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlfeq (3.0, 5.0, 12L, 23L) != 12L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+addlfge (double w, double x, int_t y, int_t z)
+{
+ return w >= x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addlfge (-1.0, -1.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfge (-1.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlfge (1.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlfge (3.0, 3.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfge (5.0, 3.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfge (3.0, -1.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfge (3.0, 1.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfge (3.0, 5.0, 12L, 23L) != 12L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+addlfgt (double w, double x, int_t y, int_t z)
+{
+ return w > x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addlfgt (-1.0, -1.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlfgt (-1.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlfgt (1.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlfgt (3.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlfgt (5.0, 3.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfgt (3.0, -1.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfgt (3.0, 1.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfgt (3.0, 5.0, 12L, 23L) != 12L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+addlfle (double w, double x, int_t y, int_t z)
+{
+ return w <= x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addlfle (-1.0, -1.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfle (-1.0, 3.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfle (1.0, 3.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfle (3.0, 3.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfle (5.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlfle (3.0, -1.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlfle (3.0, 1.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlfle (3.0, 5.0, 12L, 23L) != 35L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+addlflt (double w, double x, int_t y, int_t z)
+{
+ return w < x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addlflt (-1.0, -1.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlflt (-1.0, 3.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlflt (1.0, 3.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlflt (3.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlflt (5.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlflt (3.0, -1.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlflt (3.0, 1.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlflt (3.0, 5.0, 12L, 23L) != 35L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+addlfne (double w, double x, int_t y, int_t z)
+{
+ return w != x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addlfne (-1.0, -1.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlfne (-1.0, 3.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfne (1.0, 3.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfne (3.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (addlfne (5.0, 3.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfne (3.0, -1.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfne (3.0, 1.0, 12L, 23L) != 35L)
+ return 1;
+ if (addlfne (3.0, 5.0, 12L, 23L) != 35L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+addlge (int_t w, int_t x, int_t y, int_t z)
+{
+ return w >= x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addlge (-1L, -1L, 12L, 23L) != 35L)
+ return 1;
+ if (addlge (-1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addlge (1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addlge (3L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlge (5L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlge (3L, -1L, 12L, 23L) != 35L)
+ return 1;
+ if (addlge (3L, 1L, 12L, 23L) != 35L)
+ return 1;
+ if (addlge (3L, 5L, 12L, 23L) != 12L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef unsigned long int_t;
+
+__attribute__ ((noinline)) int_t
+addlgeu (int_t w, int_t x, int_t y, int_t z)
+{
+ return w >= x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addlgeu (-1L, -1L, 12L, 23L) != 35L)
+ return 1;
+ if (addlgeu (-1L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlgeu (1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addlgeu (3L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlgeu (5L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlgeu (3L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (addlgeu (3L, 1L, 12L, 23L) != 35L)
+ return 1;
+ if (addlgeu (3L, 5L, 12L, 23L) != 12L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+addlgt (int_t w, int_t x, int_t y, int_t z)
+{
+ return w > x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addlgt (-1L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (addlgt (-1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addlgt (1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addlgt (3L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addlgt (5L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlgt (3L, -1L, 12L, 23L) != 35L)
+ return 1;
+ if (addlgt (3L, 1L, 12L, 23L) != 35L)
+ return 1;
+ if (addlgt (3L, 5L, 12L, 23L) != 12L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef unsigned long int_t;
+
+__attribute__ ((noinline)) int_t
+addlgtu (int_t w, int_t x, int_t y, int_t z)
+{
+ return w > x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addlgtu (-1L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (addlgtu (-1L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlgtu (1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addlgtu (3L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addlgtu (5L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlgtu (3L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (addlgtu (3L, 1L, 12L, 23L) != 35L)
+ return 1;
+ if (addlgtu (3L, 5L, 12L, 23L) != 12L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+addlle (int_t w, int_t x, int_t y, int_t z)
+{
+ return w <= x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addlle (-1L, -1L, 12L, 23L) != 35L)
+ return 1;
+ if (addlle (-1L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlle (1L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlle (3L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlle (5L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addlle (3L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (addlle (3L, 1L, 12L, 23L) != 12L)
+ return 1;
+ if (addlle (3L, 5L, 12L, 23L) != 35L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef unsigned long int_t;
+
+__attribute__ ((noinline)) int_t
+addlleu (int_t w, int_t x, int_t y, int_t z)
+{
+ return w <= x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addlleu (-1L, -1L, 12L, 23L) != 35L)
+ return 1;
+ if (addlleu (-1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addlleu (1L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlleu (3L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlleu (5L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addlleu (3L, -1L, 12L, 23L) != 35L)
+ return 1;
+ if (addlleu (3L, 1L, 12L, 23L) != 12L)
+ return 1;
+ if (addlleu (3L, 5L, 12L, 23L) != 35L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+addllt (int_t w, int_t x, int_t y, int_t z)
+{
+ return w < x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addllt (-1L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (addllt (-1L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addllt (1L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addllt (3L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addllt (5L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addllt (3L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (addllt (3L, 1L, 12L, 23L) != 12L)
+ return 1;
+ if (addllt (3L, 5L, 12L, 23L) != 35L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef unsigned long int_t;
+
+__attribute__ ((noinline)) int_t
+addlltu (int_t w, int_t x, int_t y, int_t z)
+{
+ return w < x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addlltu (-1L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (addlltu (-1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addlltu (1L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlltu (3L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addlltu (5L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addlltu (3L, -1L, 12L, 23L) != 35L)
+ return 1;
+ if (addlltu (3L, 1L, 12L, 23L) != 12L)
+ return 1;
+ if (addlltu (3L, 5L, 12L, 23L) != 35L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+addlne (int_t w, int_t x, int_t y, int_t z)
+{
+ return w != x ? y + z : y;
+}
+
+int
+main (void)
+{
+ if (addlne (-1L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (addlne (-1L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlne (1L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlne (3L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (addlne (5L, 3L, 12L, 23L) != 35L)
+ return 1;
+ if (addlne (3L, -1L, 12L, 23L) != 35L)
+ return 1;
+ if (addlne (3L, 1L, 12L, 23L) != 35L)
+ return 1;
+ if (addlne (3L, 5L, 12L, 23L) != 35L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+movieq (int_t w, int_t x, int_t y, int_t z)
+{
+ return w == x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movieq (-1, -1, 12, 23) != 12)
+ return 1;
+ if (movieq (-1, 3, 12, 23) != 23)
+ return 1;
+ if (movieq (1, 3, 12, 23) != 23)
+ return 1;
+ if (movieq (3, 3, 12, 23) != 12)
+ return 1;
+ if (movieq (5, 3, 12, 23) != 23)
+ return 1;
+ if (movieq (3, -1, 12, 23) != 23)
+ return 1;
+ if (movieq (3, 1, 12, 23) != 23)
+ return 1;
+ if (movieq (3, 5, 12, 23) != 23)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+movifeq (double w, double x, int_t y, int_t z)
+{
+ return w == x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movifeq (-1.0, -1.0, 12, 23) != 12)
+ return 1;
+ if (movifeq (-1.0, 3.0, 12, 23) != 23)
+ return 1;
+ if (movifeq (1.0, 3.0, 12, 23) != 23)
+ return 1;
+ if (movifeq (3.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (movifeq (5.0, 3.0, 12, 23) != 23)
+ return 1;
+ if (movifeq (3.0, -1.0, 12, 23) != 23)
+ return 1;
+ if (movifeq (3.0, 1.0, 12, 23) != 23)
+ return 1;
+ if (movifeq (3.0, 5.0, 12, 23) != 23)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+movifge (double w, double x, int_t y, int_t z)
+{
+ return w >= x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movifge (-1.0, -1.0, 12, 23) != 12)
+ return 1;
+ if (movifge (-1.0, 3.0, 12, 23) != 23)
+ return 1;
+ if (movifge (1.0, 3.0, 12, 23) != 23)
+ return 1;
+ if (movifge (3.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (movifge (5.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (movifge (3.0, -1.0, 12, 23) != 12)
+ return 1;
+ if (movifge (3.0, 1.0, 12, 23) != 12)
+ return 1;
+ if (movifge (3.0, 5.0, 12, 23) != 23)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+movifgt (double w, double x, int_t y, int_t z)
+{
+ return w > x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movifgt (-1.0, -1.0, 12, 23) != 23)
+ return 1;
+ if (movifgt (-1.0, 3.0, 12, 23) != 23)
+ return 1;
+ if (movifgt (1.0, 3.0, 12, 23) != 23)
+ return 1;
+ if (movifgt (3.0, 3.0, 12, 23) != 23)
+ return 1;
+ if (movifgt (5.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (movifgt (3.0, -1.0, 12, 23) != 12)
+ return 1;
+ if (movifgt (3.0, 1.0, 12, 23) != 12)
+ return 1;
+ if (movifgt (3.0, 5.0, 12, 23) != 23)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+movifle (double w, double x, int_t y, int_t z)
+{
+ return w <= x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movifle (-1.0, -1.0, 12, 23) != 12)
+ return 1;
+ if (movifle (-1.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (movifle (1.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (movifle (3.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (movifle (5.0, 3.0, 12, 23) != 23)
+ return 1;
+ if (movifle (3.0, -1.0, 12, 23) != 23)
+ return 1;
+ if (movifle (3.0, 1.0, 12, 23) != 23)
+ return 1;
+ if (movifle (3.0, 5.0, 12, 23) != 12)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+moviflt (double w, double x, int_t y, int_t z)
+{
+ return w < x ? y : z;
+}
+
+int
+main (void)
+{
+ if (moviflt (-1.0, -1.0, 12, 23) != 23)
+ return 1;
+ if (moviflt (-1.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (moviflt (1.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (moviflt (3.0, 3.0, 12, 23) != 23)
+ return 1;
+ if (moviflt (5.0, 3.0, 12, 23) != 23)
+ return 1;
+ if (moviflt (3.0, -1.0, 12, 23) != 23)
+ return 1;
+ if (moviflt (3.0, 1.0, 12, 23) != 23)
+ return 1;
+ if (moviflt (3.0, 5.0, 12, 23) != 12)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+movifne (double w, double x, int_t y, int_t z)
+{
+ return w != x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movifne (-1.0, -1.0, 12, 23) != 23)
+ return 1;
+ if (movifne (-1.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (movifne (1.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (movifne (3.0, 3.0, 12, 23) != 23)
+ return 1;
+ if (movifne (5.0, 3.0, 12, 23) != 12)
+ return 1;
+ if (movifne (3.0, -1.0, 12, 23) != 12)
+ return 1;
+ if (movifne (3.0, 1.0, 12, 23) != 12)
+ return 1;
+ if (movifne (3.0, 5.0, 12, 23) != 12)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+movige (int_t w, int_t x, int_t y, int_t z)
+{
+ return w >= x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movige (-1, -1, 12, 23) != 12)
+ return 1;
+ if (movige (-1, 3, 12, 23) != 23)
+ return 1;
+ if (movige (1, 3, 12, 23) != 23)
+ return 1;
+ if (movige (3, 3, 12, 23) != 12)
+ return 1;
+ if (movige (5, 3, 12, 23) != 12)
+ return 1;
+ if (movige (3, -1, 12, 23) != 12)
+ return 1;
+ if (movige (3, 1, 12, 23) != 12)
+ return 1;
+ if (movige (3, 5, 12, 23) != 23)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef unsigned int int_t;
+
+__attribute__ ((noinline)) int_t
+movigeu (int_t w, int_t x, int_t y, int_t z)
+{
+ return w >= x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movigeu (-1, -1, 12, 23) != 12)
+ return 1;
+ if (movigeu (-1, 3, 12, 23) != 12)
+ return 1;
+ if (movigeu (1, 3, 12, 23) != 23)
+ return 1;
+ if (movigeu (3, 3, 12, 23) != 12)
+ return 1;
+ if (movigeu (5, 3, 12, 23) != 12)
+ return 1;
+ if (movigeu (3, -1, 12, 23) != 23)
+ return 1;
+ if (movigeu (3, 1, 12, 23) != 12)
+ return 1;
+ if (movigeu (3, 5, 12, 23) != 23)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+movigt (int_t w, int_t x, int_t y, int_t z)
+{
+ return w > x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movigt (-1, -1, 12, 23) != 23)
+ return 1;
+ if (movigt (-1, 3, 12, 23) != 23)
+ return 1;
+ if (movigt (1, 3, 12, 23) != 23)
+ return 1;
+ if (movigt (3, 3, 12, 23) != 23)
+ return 1;
+ if (movigt (5, 3, 12, 23) != 12)
+ return 1;
+ if (movigt (3, -1, 12, 23) != 12)
+ return 1;
+ if (movigt (3, 1, 12, 23) != 12)
+ return 1;
+ if (movigt (3, 5, 12, 23) != 23)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef unsigned int int_t;
+
+__attribute__ ((noinline)) int_t
+movigtu (int_t w, int_t x, int_t y, int_t z)
+{
+ return w > x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movigtu (-1, -1, 12, 23) != 23)
+ return 1;
+ if (movigtu (-1, 3, 12, 23) != 12)
+ return 1;
+ if (movigtu (1, 3, 12, 23) != 23)
+ return 1;
+ if (movigtu (3, 3, 12, 23) != 23)
+ return 1;
+ if (movigtu (5, 3, 12, 23) != 12)
+ return 1;
+ if (movigtu (3, -1, 12, 23) != 23)
+ return 1;
+ if (movigtu (3, 1, 12, 23) != 12)
+ return 1;
+ if (movigtu (3, 5, 12, 23) != 23)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+movile (int_t w, int_t x, int_t y, int_t z)
+{
+ return w <= x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movile (-1, -1, 12, 23) != 12)
+ return 1;
+ if (movile (-1, 3, 12, 23) != 12)
+ return 1;
+ if (movile (1, 3, 12, 23) != 12)
+ return 1;
+ if (movile (3, 3, 12, 23) != 12)
+ return 1;
+ if (movile (5, 3, 12, 23) != 23)
+ return 1;
+ if (movile (3, -1, 12, 23) != 23)
+ return 1;
+ if (movile (3, 1, 12, 23) != 23)
+ return 1;
+ if (movile (3, 5, 12, 23) != 12)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef unsigned int int_t;
+
+__attribute__ ((noinline)) int_t
+movileu (int_t w, int_t x, int_t y, int_t z)
+{
+ return w <= x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movileu (-1, -1, 12, 23) != 12)
+ return 1;
+ if (movileu (-1, 3, 12, 23) != 23)
+ return 1;
+ if (movileu (1, 3, 12, 23) != 12)
+ return 1;
+ if (movileu (3, 3, 12, 23) != 12)
+ return 1;
+ if (movileu (5, 3, 12, 23) != 23)
+ return 1;
+ if (movileu (3, -1, 12, 23) != 12)
+ return 1;
+ if (movileu (3, 1, 12, 23) != 23)
+ return 1;
+ if (movileu (3, 5, 12, 23) != 12)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+movilt (int_t w, int_t x, int_t y, int_t z)
+{
+ return w < x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movilt (-1, -1, 12, 23) != 23)
+ return 1;
+ if (movilt (-1, 3, 12, 23) != 12)
+ return 1;
+ if (movilt (1, 3, 12, 23) != 12)
+ return 1;
+ if (movilt (3, 3, 12, 23) != 23)
+ return 1;
+ if (movilt (5, 3, 12, 23) != 23)
+ return 1;
+ if (movilt (3, -1, 12, 23) != 23)
+ return 1;
+ if (movilt (3, 1, 12, 23) != 23)
+ return 1;
+ if (movilt (3, 5, 12, 23) != 12)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef unsigned int int_t;
+
+__attribute__ ((noinline)) int_t
+moviltu (int_t w, int_t x, int_t y, int_t z)
+{
+ return w < x ? y : z;
+}
+
+int
+main (void)
+{
+ if (moviltu (-1, -1, 12, 23) != 23)
+ return 1;
+ if (moviltu (-1, 3, 12, 23) != 23)
+ return 1;
+ if (moviltu (1, 3, 12, 23) != 12)
+ return 1;
+ if (moviltu (3, 3, 12, 23) != 23)
+ return 1;
+ if (moviltu (5, 3, 12, 23) != 23)
+ return 1;
+ if (moviltu (3, -1, 12, 23) != 12)
+ return 1;
+ if (moviltu (3, 1, 12, 23) != 23)
+ return 1;
+ if (moviltu (3, 5, 12, 23) != 12)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef int int_t;
+
+__attribute__ ((noinline)) int_t
+movine (int_t w, int_t x, int_t y, int_t z)
+{
+ return w != x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movine (-1, -1, 12, 23) != 23)
+ return 1;
+ if (movine (-1, 3, 12, 23) != 12)
+ return 1;
+ if (movine (1, 3, 12, 23) != 12)
+ return 1;
+ if (movine (3, 3, 12, 23) != 23)
+ return 1;
+ if (movine (5, 3, 12, 23) != 12)
+ return 1;
+ if (movine (3, -1, 12, 23) != 12)
+ return 1;
+ if (movine (3, 1, 12, 23) != 12)
+ return 1;
+ if (movine (3, 5, 12, 23) != 12)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+movleq (int_t w, int_t x, int_t y, int_t z)
+{
+ return w == x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movleq (-1L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (movleq (-1L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movleq (1L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movleq (3L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movleq (5L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movleq (3L, -1L, 12L, 23L) != 23L)
+ return 1;
+ if (movleq (3L, 1L, 12L, 23L) != 23L)
+ return 1;
+ if (movleq (3L, 5L, 12L, 23L) != 23L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+movlfeq (double w, double x, int_t y, int_t z)
+{
+ return w == x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movlfeq (-1.0, -1.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfeq (-1.0, 3.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlfeq (1.0, 3.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlfeq (3.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfeq (5.0, 3.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlfeq (3.0, -1.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlfeq (3.0, 1.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlfeq (3.0, 5.0, 12L, 23L) != 23L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+movlfge (double w, double x, int_t y, int_t z)
+{
+ return w >= x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movlfge (-1.0, -1.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfge (-1.0, 3.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlfge (1.0, 3.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlfge (3.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfge (5.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfge (3.0, -1.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfge (3.0, 1.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfge (3.0, 5.0, 12L, 23L) != 23L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+movlfgt (double w, double x, int_t y, int_t z)
+{
+ return w > x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movlfgt (-1.0, -1.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlfgt (-1.0, 3.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlfgt (1.0, 3.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlfgt (3.0, 3.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlfgt (5.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfgt (3.0, -1.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfgt (3.0, 1.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfgt (3.0, 5.0, 12L, 23L) != 23L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+movlfle (double w, double x, int_t y, int_t z)
+{
+ return w <= x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movlfle (-1.0, -1.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfle (-1.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfle (1.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfle (3.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfle (5.0, 3.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlfle (3.0, -1.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlfle (3.0, 1.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlfle (3.0, 5.0, 12L, 23L) != 12L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+movlflt (double w, double x, int_t y, int_t z)
+{
+ return w < x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movlflt (-1.0, -1.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlflt (-1.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlflt (1.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlflt (3.0, 3.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlflt (5.0, 3.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlflt (3.0, -1.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlflt (3.0, 1.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlflt (3.0, 5.0, 12L, 23L) != 12L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+movlfne (double w, double x, int_t y, int_t z)
+{
+ return w != x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movlfne (-1.0, -1.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlfne (-1.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfne (1.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfne (3.0, 3.0, 12L, 23L) != 23L)
+ return 1;
+ if (movlfne (5.0, 3.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfne (3.0, -1.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfne (3.0, 1.0, 12L, 23L) != 12L)
+ return 1;
+ if (movlfne (3.0, 5.0, 12L, 23L) != 12L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+movlge (int_t w, int_t x, int_t y, int_t z)
+{
+ return w >= x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movlge (-1L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (movlge (-1L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movlge (1L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movlge (3L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlge (5L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlge (3L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (movlge (3L, 1L, 12L, 23L) != 12L)
+ return 1;
+ if (movlge (3L, 5L, 12L, 23L) != 23L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef unsigned long int_t;
+
+__attribute__ ((noinline)) int_t
+movlgeu (int_t w, int_t x, int_t y, int_t z)
+{
+ return w >= x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movlgeu (-1L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (movlgeu (-1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlgeu (1L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movlgeu (3L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlgeu (5L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlgeu (3L, -1L, 12L, 23L) != 23L)
+ return 1;
+ if (movlgeu (3L, 1L, 12L, 23L) != 12L)
+ return 1;
+ if (movlgeu (3L, 5L, 12L, 23L) != 23L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+movlgt (int_t w, int_t x, int_t y, int_t z)
+{
+ return w > x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movlgt (-1L, -1L, 12L, 23L) != 23L)
+ return 1;
+ if (movlgt (-1L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movlgt (1L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movlgt (3L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movlgt (5L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlgt (3L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (movlgt (3L, 1L, 12L, 23L) != 12L)
+ return 1;
+ if (movlgt (3L, 5L, 12L, 23L) != 23L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef unsigned long int_t;
+
+__attribute__ ((noinline)) int_t
+movlgtu (int_t w, int_t x, int_t y, int_t z)
+{
+ return w > x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movlgtu (-1L, -1L, 12L, 23L) != 23L)
+ return 1;
+ if (movlgtu (-1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlgtu (1L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movlgtu (3L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movlgtu (5L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlgtu (3L, -1L, 12L, 23L) != 23L)
+ return 1;
+ if (movlgtu (3L, 1L, 12L, 23L) != 12L)
+ return 1;
+ if (movlgtu (3L, 5L, 12L, 23L) != 23L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+movlle (int_t w, int_t x, int_t y, int_t z)
+{
+ return w <= x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movlle (-1L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (movlle (-1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlle (1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlle (3L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlle (5L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movlle (3L, -1L, 12L, 23L) != 23L)
+ return 1;
+ if (movlle (3L, 1L, 12L, 23L) != 23L)
+ return 1;
+ if (movlle (3L, 5L, 12L, 23L) != 12L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef unsigned long int_t;
+
+__attribute__ ((noinline)) int_t
+movlleu (int_t w, int_t x, int_t y, int_t z)
+{
+ return w <= x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movlleu (-1L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (movlleu (-1L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movlleu (1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlleu (3L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlleu (5L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movlleu (3L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (movlleu (3L, 1L, 12L, 23L) != 23L)
+ return 1;
+ if (movlleu (3L, 5L, 12L, 23L) != 12L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+movllt (int_t w, int_t x, int_t y, int_t z)
+{
+ return w < x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movllt (-1L, -1L, 12L, 23L) != 23L)
+ return 1;
+ if (movllt (-1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movllt (1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movllt (3L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movllt (5L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movllt (3L, -1L, 12L, 23L) != 23L)
+ return 1;
+ if (movllt (3L, 1L, 12L, 23L) != 23L)
+ return 1;
+ if (movllt (3L, 5L, 12L, 23L) != 12L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef unsigned long int_t;
+
+__attribute__ ((noinline)) int_t
+movlltu (int_t w, int_t x, int_t y, int_t z)
+{
+ return w < x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movlltu (-1L, -1L, 12L, 23L) != 23L)
+ return 1;
+ if (movlltu (-1L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movlltu (1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlltu (3L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movlltu (5L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movlltu (3L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (movlltu (3L, 1L, 12L, 23L) != 23L)
+ return 1;
+ if (movlltu (3L, 5L, 12L, 23L) != 12L)
+ return 1;
+ return 0;
+}
===================================================================
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+typedef long int_t;
+
+__attribute__ ((noinline)) int_t
+movlne (int_t w, int_t x, int_t y, int_t z)
+{
+ return w != x ? y : z;
+}
+
+int
+main (void)
+{
+ if (movlne (-1L, -1L, 12L, 23L) != 23L)
+ return 1;
+ if (movlne (-1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlne (1L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlne (3L, 3L, 12L, 23L) != 23L)
+ return 1;
+ if (movlne (5L, 3L, 12L, 23L) != 12L)
+ return 1;
+ if (movlne (3L, -1L, 12L, 23L) != 12L)
+ return 1;
+ if (movlne (3L, 1L, 12L, 23L) != 12L)
+ return 1;
+ if (movlne (3L, 5L, 12L, 23L) != 12L)
+ return 1;
+ return 0;
+}