2005-04-02 Geoffrey Keating <geoffk@apple.com>
+ PR 20650
+ * config/rs6000/rs6000.md (fix_truncdfsi2): Make destination
+ a register.
+
* config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Add -pipe.
* config/t-darwin (TARGET_LIBGCC2_CFLAGS): Likewise.
DONE;
}")
+; In the TARGET_PPC_GFXOPT case, this could and probably should
+; take a memory destination; but actually making this work is hard.
(define_expand "fix_truncdfsi2"
- [(parallel [(set (match_operand:SI 0 "reg_or_mem_operand" "")
+ [(parallel [(set (match_operand:SI 0 "gpc_reg_operand" "")
(fix:SI (match_operand:DF 1 "gpc_reg_operand" "")))
(clobber (match_dup 2))
(clobber (match_dup 3))])]
+2005-04-02 Geoffrey Keating <geoffk@apple.com>
+
+ * gcc.dg/rs6000-fpint.c: New.
+
2005-04-01 Joseph S. Myers <joseph@codesourcery.com>
* gcc.dg/old-style-then-proto-1.c: New test.
--- /dev/null
+/* { dg-do compile { target powerpc*-*-* rs6000-*-* } } */
+/* { dg-options "-mno-powerpc-gfxopt" } */
+/* { dg-final { scan-assembler-not "stfiwx" } } */
+
+/* A basic test of the old-style (not stfiwx) fp -> int conversion. */
+int f(double a, double b)
+{
+ int a1 = a;
+ int b1 = b;
+ return a1+b1;
+}