re PR target/85321 (Missing documentation and option misc for ppc64le)
authorAaron Sawdey <acsawdey@linux.ibm.com>
Tue, 10 Apr 2018 22:05:41 +0000 (22:05 +0000)
committerAaron Sawdey <acsawdey@gcc.gnu.org>
Tue, 10 Apr 2018 22:05:41 +0000 (17:05 -0500)
2018-04-10  Aaron Sawdey  <acsawdey@linux.ibm.com>

PR target/85321
* doc/invoke.texi (RS/6000 and PowerPC Options): Document options
-mblock-compare-inline-limit, -mblock-compare-inline-loop-limit,
and -mstring-compare-inline-limit.

From-SVN: r259302

gcc/ChangeLog
gcc/doc/invoke.texi

index 107c6d994b877b4c86313a775f715684a1babde1..846fc1ee7a06117bfcc62ec405fb731f96138829 100644 (file)
@@ -1,3 +1,10 @@
+2018-04-10  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       PR target/85321
+       * doc/invoke.texi (RS/6000 and PowerPC Options): Document options
+       -mblock-compare-inline-limit, -mblock-compare-inline-loop-limit,
+       and -mstring-compare-inline-limit.
+
 2018-04-10  Segher Boessenkool  <segher@kernel.crashing.org>
 
        PR target/85287
index a8e26725398180c219174977feda3a97da3a1c68..705cbf7db0a90322e618c80c985e23c71eac7c19 100644 (file)
@@ -1080,6 +1080,9 @@ See RS/6000 and PowerPC Options.
 -maix-struct-return  -msvr4-struct-return @gol
 -mabi=@var{abi-type}  -msecure-plt  -mbss-plt @gol
 -mblock-move-inline-limit=@var{num} @gol
+-mblock-compare-inline-limit=@var{num} @gol
+-mblock-compare-inline-loop-limit=@var{num} @gol
+-mstring-compare-inline-limit=@var{num} @gol
 -misel  -mno-isel @gol
 -misel=yes  -misel=no @gol
 -mpaired @gol
@@ -24142,6 +24145,31 @@ copies) less than or equal to @var{num} bytes.  The minimum value for
 @var{num} is 32 bytes on 32-bit targets and 64 bytes on 64-bit
 targets.  The default value is target-specific.
 
+@item -mblock-compare-inline-limit=@var{num}
+@opindex mblock-compare-inline-limit
+Generate non-looping inline code for all block compares (such as calls
+to @code{memcmp} or structure compares) less than or equal to @var{num}
+bytes. If @var{num} is 0, all inline expansion (non-loop and loop) of
+block compare is disabled. The default value is target-specific.
+
+@item -mblock-compare-inline-loop-limit=@var{num}
+@opindex mblock-compare-inline-loop-limit
+Generate an inline expansion using loop code for all block compares that
+are less than or equal to @var{num} bytes, but greater than the limit
+for non-loop inline block compare expansion. If the block length is not
+constant, at most @var{num} bytes will be compared before @code{memcmp}
+is called to compare the remainder of the block. The default value is
+target-specific.
+
+@item -mstring-compare-inline-limit=@var{num}
+@opindex mstring-compare-inline-limit
+Generate at most @var{num} pairs of load instructions to compare the
+string inline. If the difference or end of string is not found at the
+end of the inline compare a call to @code{strcmp} or @code{strncmp} will
+take care of the rest of the comparison. The default is 8 pairs of
+loads, which will compare 64 bytes on a 64-bit target and 32 bytes on a
+32-bit target.
+
 @item -G @var{num}
 @opindex G
 @cindex smaller data references (PowerPC)