How's this?

Segher


2012-09-25  Segher Boessenkool  <seg...@kernel.crashing.org>

        gcc/testsuite/
        * gcc.target/powerpc/ppc-ne0-1.c: New.

---
 gcc/testsuite/gcc.target/powerpc/ppc-ne0-1.c |   33 ++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/powerpc/ppc-ne0-1.c

diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-ne0-1.c 
b/gcc/testsuite/gcc.target/powerpc/ppc-ne0-1.c
new file mode 100644
index 0000000..63c4b60
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/ppc-ne0-1.c
@@ -0,0 +1,33 @@
+/* PR target/51274 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -mno-isel" } */
+
+/* { dg-final { scan-assembler-times "addic" 4 } } */
+/* { dg-final { scan-assembler-times "subfe" 1 } } */
+/* { dg-final { scan-assembler-times "addze" 3 } } */
+
+long ne0(long a)
+{
+  return a != 0;
+}
+
+long plus_ne0(long a, long b)
+{
+  return (a != 0) + b;
+}
+
+void dummy(void);
+
+void cmp_plus_ne0(long a, long b)
+{
+  if ((a != 0) + b)
+    dummy();
+}
+
+long plus_ne0_cmp(long a, long b)
+{
+  a = (a != 0) + b;
+  if (a)
+    dummy();
+  return a;
+}
-- 
1.7.7.6

Reply via email to