]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
invoke.texi: Document -minmax for 68HC12.
authorStephane Carrez <stcarrez@nerim.fr>
Wed, 14 Aug 2002 07:53:55 +0000 (09:53 +0200)
committerStephane Carrez <ciceron@gcc.gnu.org>
Wed, 14 Aug 2002 07:53:55 +0000 (09:53 +0200)
* doc/invoke.texi: Document -minmax for 68HC12.

* config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
("uminqi3"): Likewise.
("uminhi3", "umaxhi3"): Likewise.

* config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
(TARGET_MIN_MAX): Define.
(TARGET_SWITCHES): New option -minmax/-mnominmax.

From-SVN: r56284

gcc/ChangeLog
gcc/config/m68hc11/m68hc11.c
gcc/config/m68hc11/m68hc11.h
gcc/config/m68hc11/m68hc11.md
gcc/doc/invoke.texi

index 15d43d4ddf62569fc2ab2d6a44143017b27437df..3e3824ccf1344bd6e5e4d70747f82597c505c644 100644 (file)
@@ -1,3 +1,15 @@
+2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * doc/invoke.texi: Document -minmax for 68HC12.
+
+       * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
+       ("uminqi3"): Likewise.
+       ("uminhi3", "umaxhi3"): Likewise.
+
+       * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
+       (TARGET_MIN_MAX): Define.
+       (TARGET_SWITCHES): New option -minmax/-mnominmax.
+
 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
 
        * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
index d52289fc3147b59dd04e10ae3cb268a72d23267f..2d97787ec9c3731ea2a1dd3c866bd9423f65af95 100644 (file)
@@ -253,7 +253,7 @@ m68hc11_override_options ()
         target_flags &= ~TARGET_DEFAULT;
 
       if (!TARGET_M6812)
-        target_flags &= ~TARGET_AUTO_INC_DEC;
+        target_flags &= ~(TARGET_AUTO_INC_DEC | TARGET_MIN_MAX);
       m68hc11_cost = &m6811_cost;
       m68hc11_min_offset = 0;
       m68hc11_max_offset = 256;
@@ -284,7 +284,7 @@ m68hc11_override_options ()
       m68hc11_sp_correction = 0;
       m68hc11_tmp_regs_class = TMP_REGS;
       target_flags &= ~MASK_M6811;
-      target_flags |= MASK_NO_DIRECT_MODE;
+      target_flags |= MASK_NO_DIRECT_MODE | MASK_MIN_MAX;
       if (m68hc11_soft_reg_count == 0)
        m68hc11_soft_reg_count = "0";
 
index 32a9b6351ef28342f1919a33afb5daf1bdc0efb3..751e18f2a2d331815b0abf6f6dee42b73b081b7e 100644 (file)
@@ -120,6 +120,7 @@ extern short *reg_renumber; /* def in local_alloc.c */
 #define MASK_M6811              0010
 #define MASK_M6812              0020
 #define MASK_NO_DIRECT_MODE     0040
+#define MASK_MIN_MAX            0100
 #define MASK_LONG_CALLS         0200
 
 #define TARGET_OP_TIME         (optimize && optimize_size == 0)
@@ -127,6 +128,7 @@ extern short *reg_renumber; /* def in local_alloc.c */
 #define TARGET_M6811            (target_flags & MASK_M6811)
 #define TARGET_M6812            (target_flags & MASK_M6812)
 #define TARGET_AUTO_INC_DEC     (target_flags & MASK_AUTO_INC_DEC)
+#define TARGET_MIN_MAX          (target_flags & MASK_MIN_MAX)
 #define TARGET_NO_DIRECT_MODE   (target_flags & MASK_NO_DIRECT_MODE)
 #define TARGET_RELAX            (TARGET_NO_DIRECT_MODE)
 #define TARGET_LONG_CALLS       (target_flags & MASK_LONG_CALLS)
@@ -162,6 +164,10 @@ extern short *reg_renumber;        /* def in local_alloc.c */
     N_("Auto pre/post decrement increment allowed")},          \
   { "noauto-incdec", - MASK_AUTO_INC_DEC,                      \
     N_("Auto pre/post decrement increment not allowed")},      \
+  { "inmax", MASK_MIN_MAX,                                     \
+    N_("Min/max instructions allowed")},                        \
+  { "nominmax", MASK_MIN_MAX,                                   \
+    N_("Min/max instructions not allowed")},                    \
   { "long-calls", MASK_LONG_CALLS,                             \
     N_("Use call and rtc for function calls and returns")},    \
   { "nolong-calls", - MASK_LONG_CALLS,                         \
index 3c0f197e967e1b77510acec8f04f615ab524c72e..5b7e0887de4043b057517ec0c249843a0730a017 100644 (file)
   [(set (match_operand:QI 0 "nonimmediate_operand" "=d,m")
        (umin:QI (match_operand:QI 1 "nonimmediate_operand" "%0,0")
                 (match_operand:QI 2 "general_operand" "m,d")))]
-  "TARGET_M6812"
+  "TARGET_M6812 && TARGET_MIN_MAX"
   "*
 {
   /* Flags are set according to (sub:QI (operand 1) (operand2)).
   [(set (match_operand:QI 0 "nonimmediate_operand" "=d,m")
        (umax:QI (match_operand:QI 1 "nonimmediate_operand" "%0,0")
                 (match_operand:QI 2 "general_operand" "m,d")))]
-  "TARGET_M6812"
+  "TARGET_M6812 && TARGET_MIN_MAX"
   "*
 {
   /* Flags are set according to (sub:QI (operand 1) (operand2)).
   [(set (match_operand:HI 0 "nonimmediate_operand" "=d,m")
        (umin:HI (match_operand:HI 1 "nonimmediate_operand" "%0,0")
                 (match_operand:HI 2 "general_operand" "m,d")))]
-  "TARGET_M6812"
+  "TARGET_M6812 && TARGET_MIN_MAX"
   "*
 {
   /* Flags are set according to (sub:HI (operand 1) (operand2)).  */
   [(set (match_operand:HI 0 "nonimmediate_operand" "=d,m")
        (umax:HI (match_operand:HI 1 "nonimmediate_operand" "%0,0")
                 (match_operand:HI 2 "general_operand" "m,d")))]
-  "TARGET_M6812"
+  "TARGET_M6812 && TARGET_MIN_MAX"
   "*
 {
   /* Flags are set according to (sub:HI (operand 1) (operand2)).  */
index 1aa156fdd8679755f7eeb10e0643f618bdb65421..79a2149ffb9e594dd9b3963269dcd31c7ffeac93 100644 (file)
@@ -338,7 +338,7 @@ in the following sections.
 @emph{M68hc1x Options}
 @gccoptlist{
 -m6811  -m6812  -m68hc11  -m68hc12 @gol
--mauto-incdec  -mlong-calls  -mshort  -msoft-reg-count=@var{count}}
+-mauto-incdec  -minmax  -mlong-calls  -mshort  -msoft-reg-count=@var{count}}
 
 @emph{VAX Options}
 @gccoptlist{
@@ -5171,6 +5171,12 @@ when the compiler is configured for 68HC12-based systems.
 Enable the use of 68HC12 pre and post auto-increment and auto-decrement
 addressing modes.
 
+@item -minmax
+@itemx -nominmax
+@opindex minmax
+@opindex mnominmax
+Enable the use of 68HC12 min and max instructions.
+
 @item -mlong-calls
 @itemx -mno-long-calls
 @opindex mlong-calls