A back end for a target architecture in GCC has the following parts:
gcc/config, containing a
machine description .md file (see Machine Descriptions), header files .h and
-protos.h and a source file .c
(see Target Description Macros and Functions),
possibly a target Makefile fragment t-machineconfig.gcc. 
-modes.def in the
config.gcc (see The config.gcc File) for the systems with this target
architecture. 
gcc/doc/invoke.texi for any command-line
options supported by this target (see Run-time Target Specification).  This means both entries in the summary table
of options and details of the individual options. 
gcc/doc/extend.texi for any target-specific
attributes supported (see Defining target-specific uses of __attribute__), including where the
same attribute is already supported on some targets, which are
enumerated in the manual. 
gcc/doc/extend.texi for any target-specific
pragmas supported. 
gcc/doc/extend.texi of any target-specific
built-in functions supported. 
gcc/doc/md.texi of any target-specific
constraint letters (see Constraints for Particular Machines). 
gcc/doc/contrib.texi under the person or people who
contributed the target support. 
gcc/doc/install.texi for all target triplets
supported with this target architecture, giving details of any special
notes about installation for this target, or saying that there are no
special notes if there are none. 
gcc directory for runtime
libraries.  FIXME: reference docs for this.  The libstdc++ porting
manual needs to be installed as info for this to work, or to be a
chapter of this manual. 
If the back end is added to the official GCC CVS repository, the following are also necessary:
readings.html on the
GCC web site, with any relevant links. 
index.html on the GCC web site. 
MAINTAINERS.  Some existing architectures may be unmaintained,
but it would be unusual to add support for a target that does not have
a maintainer when support is added.