* RFA: Add support for Renesas RX architecture to GCC (take 3)
@ 2009-10-15 9:06 Nick Clifton
2009-10-23 16:27 ` Richard Henderson
0 siblings, 1 reply; 3+ messages in thread
From: Nick Clifton @ 2009-10-15 9:06 UTC (permalink / raw)
To: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 2037 bytes --]
Hi Guys,
Here is the third revision of my patch to add support for the
Renesas RX architecture to GCC. I believe that I have address all
of the issues raised by Richard Henderson and Joseph S. Myers.
OK to apply ?
Cheers
Nick
./ChangeLog
2009-10-08 Nick Clifton <nickc@redhat.com>
* MAINTAINERS: Add myself as a maintainer for the RX port.
gcc/ChangeLog
2009-10-08 Nick Clifton <nickc@redhat.com>
* config.gcc: Add support for RX target.
* config/rx: New directory.
* config/rx/constraints.md: New file.
* config/rx/predicates.md: New file.
* config/rx/rx.c: New file.
* config/rx/rx.h: New file.
* config/rx/rx.md: New file.
* config/rx/rx.opt: New file.
* config/rx/rx-protos.h: New file.
* config/rx/t-rx: New file.
* doc/extend.texi: Document RX function attributes.
* doc/invoke.texi: Document RX specific command line options.
* doc/contrib.texi: Document RX contribution.
* doc/md.texi: Document RX constraints.
* doc/install.texi: Document RX support.
libgcc/ChangeLog
2009-10-08 Nick Clifton <nickc@redhat.com>
* config.host: Add support for RX target.
* config/rx: New directory.
* config/rx/rx-abi-functions.c: New file. Supplementary
functions for libgcc to support the RX ABI.
* config/rx/rx-abi.h: New file. Supplementary header file for
libgcc RX ABI functions.
* config/rx/t-rx: New file: Makefile fragment for building
libgcc for the RX.
gcc/testsuite/ChangeLog
2009-10-08 Nick Clifton <nickc@redhat.com>
* lib/target-supports.exp (check_profiling_available):
Profiling is not, currently, available for the RX port.
(check_effective_target_hard_float): Add support for RX
target.
* gcc.target/rx: New directory.
* gcc.target/rx/builtins.c: New test file.
* gcc.target/rx/interrupts.c: New test file.
* gcc.target/rx/rx-abi-function-tests.c: New test file.
* gcc.target/rx/zero-width-bitfield.c: New test file.
* gcc.target/rx/i272091.c: New test file.
* gcc.target/rx/packed-struct.c: New test file.
* gcc.target/rx/rx.exp: New file: Drives RX tests.
[-- Attachment #2: rx-gcc.patch.3.svn.lzma --]
[-- Type: application/octet-stream, Size: 5100 bytes --]
[-- Attachment #3: rx-gcc.patch.2.cvs.lzma --]
[-- Type: application/octet-stream, Size: 913 bytes --]
[-- Attachment #4: rx-gcc.patch.3.files.tar.lzma --]
[-- Type: application/octet-stream, Size: 35275 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: RFA: Add support for Renesas RX architecture to GCC (take 3)
2009-10-15 9:06 RFA: Add support for Renesas RX architecture to GCC (take 3) Nick Clifton
@ 2009-10-23 16:27 ` Richard Henderson
2009-10-23 18:13 ` Joseph S. Myers
0 siblings, 1 reply; 3+ messages in thread
From: Richard Henderson @ 2009-10-23 16:27 UTC (permalink / raw)
To: Nick Clifton; +Cc: gcc-patches
> (define_insn "revl"
> [(set (match_operand:SI 0 "register_operand" "=r")
> (bswap:SI (match_operand:SI 1 "register_operand" "r")))]
> ""
> "revl\t%1, %0"
> [(set_attr "length" "3")]
bswapsi2
As a follow-up, consider defining bswaphi2 with revw.
> ;; Note - the zero_extends are to distinguish this pattern from the
> ;; mulsidi3 pattern. Immediate mode addressing is not supported
> ;; because gcc cannot handle the expression: (zero_extend (const_int)).
> (define_insn "umulsidi3"
FWIW, gcc isn't supposed to handle the express (sign_extend (const_int))
either. I think the best way to handle this is to define two separate
patterns
(set (match_operand:DI 0)
(mult:DI (zero_extend:DI (match_operand:SI 1)
(match_operand:DI 2 "const_int_with_range_constraint")))
and similar for mulsidi3. You can leave this for a follow-on patch.
> (define_insn "addsf3"
> [(set (match_operand:SF 0 "register_operand" "=r,r,r")
> (plus:SF (match_operand:SF 1 "register_operand" "%0,0,0")
> (match_operand:SF 2 "rx_source_operand" "r,F,Q")))]
> "fast_math_flags_set_p ()"
All instances of fast_math_flags_set_p should be testing the single flag
flag_unsafe_math_optimizations. I also highly recommend that you put
this in a macro in rx.h, because as I said before, the proper thing to
test would be a new flag_normal_math_only that specifies that subnormal
math is not needed.
> mieee
> Target Mask(64BIT_DOUBLES) MaskExists
> Conform to the IEEE754 standard for floating point arithmetic.
This can be removed.
> warning (0, "no fixed registers available "
> "for use by fast interrupt handler");
Indent the second line properly.
Ok with those changes.
r~
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: RFA: Add support for Renesas RX architecture to GCC (take 3)
2009-10-23 16:27 ` Richard Henderson
@ 2009-10-23 18:13 ` Joseph S. Myers
0 siblings, 0 replies; 3+ messages in thread
From: Joseph S. Myers @ 2009-10-23 18:13 UTC (permalink / raw)
To: Richard Henderson; +Cc: Nick Clifton, gcc-patches
On Fri, 23 Oct 2009, Richard Henderson wrote:
> Ok with those changes.
As a new architecture port I believe the Steering Committee also needs to
approve a maintainer before it goes in (I presume they saw the patch
submission and are already considering the appointment, unless I missed an
announcement that the maintainer has already been approved).
--
Joseph S. Myers
joseph@codesourcery.com
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-10-23 17:45 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-10-15 9:06 RFA: Add support for Renesas RX architecture to GCC (take 3) Nick Clifton
2009-10-23 16:27 ` Richard Henderson
2009-10-23 18:13 ` Joseph S. Myers
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).