This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RFA: enable complex float expanders
- From: amylaar at spamcop dot net (Joern Rennecke)
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 2 Aug 2004 05:17:18 +0100 (BST)
- Subject: RFA: enable complex float expanders
I've written an abssc2 pattern so that builtins-18 would be happy without an
FPU- it expands to an sfunc call that takes some 72 cycles.
However, to my dismay I found that expand_complex_abs didn't find the expander
because genopinit had ignored it. The appended patch fixes this.
I'm running a regression test for i686-pc-linux-gnu X sh-elf
--with-multilib_list=sh4-nofpu and a bootstrap for i686-pc-linux-gnu native.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* genopinit.c (gen_insn): Check for MODE_COMPLEX_FLOAT patterns for $F.
Index: genopinit.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/genopinit.c,v
retrieving revision 1.75
diff -p -r1.75 genopinit.c
*** genopinit.c 7 May 2004 05:38:14 -0000 1.75
--- genopinit.c 2 Aug 2004 03:53:00 -0000
*************** gen_insn (rtx insn)
*** 264,269 ****
--- 264,270 ----
|| mode_class[i] == MODE_PARTIAL_INT
|| mode_class[i] == MODE_VECTOR_INT)
&& (! force_float || mode_class[i] == MODE_FLOAT
+ || mode_class[i] == MODE_COMPLEX_FLOAT
|| mode_class[i] == MODE_VECTOR_FLOAT))
break;
}