aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.target/i386/cmov6.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.target/i386/cmov6.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.target/i386/cmov6.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/i386/cmov6.c b/gcc-4.9/gcc/testsuite/gcc.target/i386/cmov6.c
new file mode 100644
index 000000000..535326e4c
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.target/i386/cmov6.c
@@ -0,0 +1,22 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -march=k8" } */
+/* { dg-final { scan-assembler "cmov\[^6\]" } } */
+
+/* Verify that blocks are converted to conditional moves. */
+extern int bar (int, int);
+int foo (int c, int d, int e)
+{
+ int a, b;
+
+ if (c)
+ {
+ a = 10;
+ b = d;
+ }
+ else
+ {
+ a = e;
+ b = 20;
+ }
+ return bar (a, b);
+}