PR middle-end/29274
* gcc.target/arm/wmul-1.c: New test.
* gcc.target/arm/wmul-2.c: New test.
From-SVN: r158642
+2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR middle-end/29274
+ * gcc.target/arm/wmul-1.c: New test.
+ * gcc.target/arm/wmul-2.c: New test.
+
2010-04-22 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43845
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O2 -march=armv6t2" } */
+
+int mac(const short *a, const short *b, int sqr, int *sum)
+{
+ int i;
+ int dotp = *sum;
+
+ for (i = 0; i < 150; i++) {
+ dotp += b[i] * a[i];
+ sqr += b[i] * b[i];
+ }
+
+ *sum = dotp;
+ return sqr;
+}
+
+/* { dg-final { scan-assembler-times "smulbb" 2 } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O2 -march=armv6t2" } */
+
+void vec_mpy(int y[], const short x[], short scaler)
+{
+ int i;
+
+ for (i = 0; i < 150; i++)
+ y[i] += ((scaler * x[i]) >> 31);
+}
+
+/* { dg-final { scan-assembler-times "smulbb" 1 } } */