---------------------------------------------------------------------------

                      PATCH INSTALLATION INSTRUCTIONS

---------------------------------------------------------------------------
This patch file updates the TMS320C6x Code Generation Tools from version
2.00 to 2.01. You must have an unmodified version 2.00 installed on your
system in order to completely apply this patch.

---------------------------------------------------------------------------
     INSTALLATION INSTRUCTIONS FOR THE C6X SOLARIS CODEGEN V2.01 PATCH
---------------------------------------------------------------------------
This patch file updates the TMS320C6x Code Generation Tools from version
2.00 to 2.01. You must have an unmodified copy of the C6x Codegen tools
V2.00 installed on your system in order to completely apply this patch. The
application also requires access to PKZip to extract the components from
the patch application file.

Download the patch application file c6xsolaris201.tar.Z 

Uncompress and untar the patch source file with the commands

         uncompress c6xsolaris201.tar.Z
         tar -xvf c6xsolaris201.tar

This should produce 3 files: apply_patch, c6xsolaris201.patch and
install.txt

Copy the patchfile (c6xsolaris201.patch) and the 'apply_patch' program to
the root of the V2.00 codegen tools tree on your local system. In this
location should exist the bin, include, lib and demos subdirectories.

Apply the patch with the following command:

         apply_patch c6xsolaris201.patch .

---------------------------------------------------------------------------
   INSTALLATION INSTRUCTIONS FOR THE C6X Win95/WinNT CODEGEN V2.01 PATCH
---------------------------------------------------------------------------
This patch file updates the TMS320C6x Code Generation Tools from version
2.00 to 2.01. You must have an unmodified copy of the C6x Codegen tools
V2.00 installed on your system in order to completely apply this patch. The
application also requires access to PKZip to extract the components from
the patch application file.

Download the patch application file c6xpc201.zip

Unzip the file with the command

         pkunzip c6xpc201.zip

This should produce 3 files: patch.exe, c6xpc201.rtp and install.txt

Copy the patchfile (c6xpc201.rtp) and the 'patch.exe' program to the root
of the V2.00 codegen tools tree on your local system. In this location
should exist the bin, include, lib and demos subdirectories.

Apply the patch with the following command:

         patch c6xpc201.rtd

The application of the patch may take up to 30 minutes on 133MHz Pentium
PC.

Execute the command 'patch -h' for a list of patch options.

---------------------------------------------------------------------------

          KNOWN BUGS FROM PREVIOUS VERSIONS THAT ARE FIXED IN 2.00

---------------------------------------------------------------------------

   * Compiler
      (SDSsq04192)Software pipelined loops were creating incorrect
                  register allocation

      (SDSsq04199)Very long cl6x command line loses -D directives. When
                  the shell command line length exceeds 100 characters,
                  including arguments from a command file, any -D
                  arguments could be corrupted.

      (SDSsq04205)The compiler created a situation where it was not able
                  to find an instruction schedule. The message "INTERNAL
                  ERROR: Could not schedule any instruction" is received.

      (SDSsq04210)Invalid register pair created for LDDW destination.

      (SDSsq04211)Pipelined loop epilog with LDDW removed erroneously. The
                  -mh flag was used to specify a speculative execution
                  threshold. For this loop, the epilog would read past the
                  end of an array, so it should not be removed.

      (SDSsq04214)Speculative execution option (-mh) incorrect.If the
                  option is used with a threshold value, results may be
                  incorrect. The value we calculated may be wrong for that
                  loop and therefore we may allow speculative execution
                  when it should not have been allowed, and vice versa.
                  The -mh option without the threshold value should still
                  work as defined.

      (SDSsq04222)Conditional array assignment has wrong index in

      (SDSsw04283)software pipeline. An autoincrement of a register was
                  incorrectly placed into a conditional instruction.

      (SDSsq04231)Variables reported live across an entire software
                  pipelined loop are reported with the -mw option is
                  incorrect. The reported number was an underestimation.

      (SDSsq04232)A Branch is removed erroneously and a conditional
                  register is erroneously defined.

      (SDSsq04233)Compiler removes an instruction from code before a
                  software pipelined Loop.

      (SDSsq04246)Optimizer does not account for recalculation of address
                  for stores.

      (SDSsq04248)Code generator sometimes generates non-aligned offsets
                  on loads/stores. Mixed scale instructions which
                  increment the same register are not reduceable into a
                  single increment when such a reduction would create an
                  illegal offset for any of those instruction.

      (SDSsq04259)Illegal offsets generated. Offsets greater than the
                  legal size are created during software pipeline
                  optimization.

      (SDSsq04262)Using a pointer to access an array of >= 32 within a
                  structure at optimization level 2 produces a compiler
                  error. Register offsets of exactly -32 are incorrectly
                  created.

      (SDSsq04271)Incorrect execution of for loop in c6x compiler. Manual
                  unrolling of a loop resulted in address increments for
                  the loop to be included into the addressing mode
                  incorrectly.
