public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/meissner/heads/work062)] Revert patches.
@ 2021-08-02  1:26 Michael Meissner
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Meissner @ 2021-08-02  1:26 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:e0282d1af20af409ed79b2fbaf81092bf393904e

commit e0282d1af20af409ed79b2fbaf81092bf393904e
Author: Michael Meissner <meissner@linux.ibm.com>
Date:   Sun Aug 1 21:24:14 2021 -0400

    Revert patches.
    
    2021-07-31  Michael Meissner  <meissner@linux.ibm.com>
    gcc/
    
            Revert patch.
            * config/rs6000/rs6000.c (rs6000_asm_operand_p): New function.
            (TARGET_MD_ASM_OPERAND_P): Override md_asm_operand_p hook.
            * ChangeLog.meissner: Update.
    
    gcc/testsuite/
    
            Revert patch.
            * gcc.target/powerpc/pr98519.c: New test.
            * ChangeLog.meissner: Update.
    
    gcc/
    
            Rever patch.
            * doc/tm.texi (TARGET_MD_ASM_OPERAND_P): Document.
            * doc/tm.texi.in (TARGET_MD_ASM_OPERAND_P): Document.
            * target.def (md_asm_operand_p): New target hook.
            * targhooks.c (default_md_asm_operand_p): New default target
            hook.
            * targhooks.h (default_md_asm_operand_p): New declaration.
            * ChangeLog.meissner: Update.

Diff:
---
 gcc/ChangeLog.meissner                     | 18 ------------------
 gcc/config/rs6000/rs6000.c                 | 28 ----------------------------
 gcc/doc/tm.texi                            | 11 -----------
 gcc/doc/tm.texi.in                         |  2 --
 gcc/recog.c                                |  4 ----
 gcc/target.def                             | 15 ---------------
 gcc/targhooks.c                            |  7 -------
 gcc/targhooks.h                            |  1 -
 gcc/testsuite/ChangeLog.meissner           |  6 ------
 gcc/testsuite/gcc.target/powerpc/pr98519.c | 20 --------------------
 10 files changed, 112 deletions(-)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index 2b59818d1e2..7aa07f294c9 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,21 +1,3 @@
-work062-patch002:
-2021-07-31  Michael Meissner  <meissner@linux.ibm.com>
-
-	PR target/98519
-	* config/rs6000/rs6000.c (rs6000_asm_operand_p): New function.
-	(TARGET_MD_ASM_OPERAND_P): Override md_asm_operand_p hook.
-
-work062-patch001:
-2021-07-31  Michael Meissner  <meissner@linux.ibm.com>
-
-	PR target/98519
-	* doc/tm.texi (TARGET_MD_ASM_OPERAND_P): Document.
-	* doc/tm.texi.in (TARGET_MD_ASM_OPERAND_P): Document.
-	* target.def (md_asm_operand_p): New target hook.
-	* targhooks.c (default_md_asm_operand_p): New default target
-	hook.
-	* targhooks.h (default_md_asm_operand_p): New declaration.
-
 2021-07-30   Michael Meissner  <meissner@linux.ibm.com>
 
 	Clone branch
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 73e87c3cbc6..2de5a96e1b6 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -1196,8 +1196,6 @@ static bool rs6000_secondary_reload_move (enum rs6000_reg_type,
 					  bool);
 rtl_opt_pass *make_pass_analyze_swaps (gcc::context*);
 
-static bool rs6000_asm_operand_p (rtx, const char *, const char **);
-
 /* Hash table stuff for keeping track of TOC entries.  */
 
 struct GTY((for_user)) toc_hash_struct
@@ -1641,9 +1639,6 @@ static const struct attribute_spec rs6000_attribute_table[] =
 #undef TARGET_LEGITIMATE_ADDRESS_P
 #define TARGET_LEGITIMATE_ADDRESS_P rs6000_legitimate_address_p
 
-#undef TARGET_MD_ASM_OPERAND_P
-#define TARGET_MD_ASM_OPERAND_P rs6000_asm_operand_p
-
 #undef TARGET_MODE_DEPENDENT_ADDRESS_P
 #define TARGET_MODE_DEPENDENT_ADDRESS_P rs6000_mode_dependent_address_p
 
@@ -9926,29 +9921,6 @@ rs6000_offsettable_memref_p (rtx op, machine_mode reg_mode, bool strict)
 					     strict, worst_case);
 }
 
-/* Add additional constraints for asm operands.  We use it to prevent
-   prefixed loads/stores from appearing in normal asm statements.
-
-   At the moment, we just ban all prefixed loads/stores.  If we add a
-   constraint specifically for prefixed loads/stores, we might need to scan the
-   constraint string for that constraint.  */
-
-static bool
-rs6000_asm_operand_p (rtx op,
-		      const char *constraint ATTRIBUTE_UNUSED,
-		      const char **constraints ATTRIBUTE_UNUSED)
-{
-  if (TARGET_PREFIXED && MEM_P (op))
-    {
-      rtx addr = XEXP (op, 0);
-      machine_mode mode = GET_MODE (op);
-      if (address_is_prefixed (addr, mode, NON_PREFIXED_DEFAULT))
-	return false;
-    }
-
-  return true;
-}
-
 /* Determine the reassociation width to be used in reassociate_bb.
    This takes into account how many parallel operations we
    can actually do of a given type, and also the latency.
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index e95869152aa..cb015283237 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -5886,17 +5886,6 @@ Using the hook is usually simpler because it limits the number of
 files that are recompiled when changes are made.
 @end deftypefn
 
-@deftypefn {Target Hook} bool TARGET_MD_ASM_OPERAND_P (rtx @var{op}, const char *@var{constraint}, const char **@var{constraints})
-This hook should return true if the operand is valid for being used in
-an asm statement.  The back end may impose additionsl constraints on
-what operands are valid for an asm statement.  The default behavior is
-to return true always.
-
-For example, the PowerPC has normal memory instructions and prefixed
-memory instructions.  Prefixed memory instructions are not valid for
-the normal @samp{%m} constraint.
-@end deftypefn
-
 @defmac TARGET_MEM_CONSTRAINT
 A single character to be used instead of the default @code{'m'}
 character for general memory addresses.  This defines the constraint
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
index 21e013fa274..4a522ae7e2e 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -4066,8 +4066,6 @@ accept.
 
 @hook TARGET_LEGITIMATE_ADDRESS_P
 
-@hook TARGET_MD_ASM_OPERAND_P
-
 @defmac TARGET_MEM_CONSTRAINT
 A single character to be used instead of the default @code{'m'}
 character for general memory addresses.  This defines the constraint
diff --git a/gcc/recog.c b/gcc/recog.c
index 04e52a71d3f..5a42c45361d 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -2174,10 +2174,6 @@ asm_operand_ok (rtx op, const char *constraint, const char **constraints)
   /* Use constrain_operands after reload.  */
   gcc_assert (!reload_completed);
 
-  /* Allow the backend to impose additional constraints.  */
-  if (!targetm.md_asm_operand_p (op, constraint, constraints))
-    return 0;
-
   /* Empty constraint string is the same as "X,...,X", i.e. X for as
      many alternatives as required to match the other operands.  */
   if (*constraint == '\0')
diff --git a/gcc/target.def b/gcc/target.def
index 0cd4c786aa2..68a46aaa832 100644
--- a/gcc/target.def
+++ b/gcc/target.def
@@ -2940,21 +2940,6 @@ files that are recompiled when changes are made.",
  bool, (machine_mode mode, rtx x, bool strict),
  default_legitimate_address_p)
 
-/* True if the given operand is a valid machine dependent assembler
-   operand.  */
-DEFHOOK
-(md_asm_operand_p,
- "This hook should return true if the operand is valid for being used in\n\
-an asm statement.  The back end may impose additionsl constraints on\n\
-what operands are valid for an asm statement.  The default behavior is\n\
-to return true always.\n\
-\n\
-For example, the PowerPC has normal memory instructions and prefixed\n\
-memory instructions.  Prefixed memory instructions are not valid for\n\
-the normal @samp{%m} constraint.",
- bool, (rtx op, const char *constraint, const char **constraints),
- default_md_asm_operand_p)
-
 /* True if the given constant can be put into an object_block.  */
 DEFHOOK
 (use_blocks_for_constant_p,
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index 7af4ef8660f..eb5190910dc 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -110,13 +110,6 @@ default_legitimate_address_p (machine_mode mode ATTRIBUTE_UNUSED,
 #endif
 }
 
-bool default_md_asm_operand_p (rtx op ATTRIBUTE_UNUSED,
-			       const char *constraint ATTRIBUTE_UNUSED,
-			       const char **constraints ATTRIBUTE_UNUSED)
-{
-  return true;
-}
-
 void
 default_external_libcall (rtx fun ATTRIBUTE_UNUSED)
 {
diff --git a/gcc/targhooks.h b/gcc/targhooks.h
index 19f54d97df3..f92e102c450 100644
--- a/gcc/targhooks.h
+++ b/gcc/targhooks.h
@@ -21,7 +21,6 @@ along with GCC; see the file COPYING3.  If not see
 #define GCC_TARGHOOKS_H
 
 extern bool default_legitimate_address_p (machine_mode, rtx, bool);
-extern bool default_md_asm_operand_p (rtx, const char *, const char **);
 
 extern void default_external_libcall (rtx);
 extern rtx default_legitimize_address (rtx, rtx, machine_mode);
diff --git a/gcc/testsuite/ChangeLog.meissner b/gcc/testsuite/ChangeLog.meissner
index 9a16a87c508..d5351fa6088 100644
--- a/gcc/testsuite/ChangeLog.meissner
+++ b/gcc/testsuite/ChangeLog.meissner
@@ -1,9 +1,3 @@
-work062-patch002:
-2021-07-31  Michael Meissner  <meissner@linux.ibm.com>
-
-	PR target/98519
-	* gcc.target/powerpc/pr98519.c: New test.
-
 2021-07-30   Michael Meissner  <meissner@linux.ibm.com>
 
 	Clone branch
diff --git a/gcc/testsuite/gcc.target/powerpc/pr98519.c b/gcc/testsuite/gcc.target/powerpc/pr98519.c
deleted file mode 100644
index 25918bac3ed..00000000000
--- a/gcc/testsuite/gcc.target/powerpc/pr98519.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* { dg-do compile } */
-/* { dg-require-effective-target powerpc_prefixed_addr } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
-
-/* Compile with -mcpu=power10.  The lxsd instruction should not be replaced
-   with a plxsd.  */
-typedef vector double vf64_t;
-
-static double test_f64[16];
-
-vf64_t
-bug (void)
-{
-  vf64_t j0;
-  __asm__("lxsd%X1 %0,%1;" : "=v" (j0) : "m" (test_f64));
-  return j0;
-}
-
-/* { dg-final { scan-assembler     {\mlxsd\M}  } } */
-/* { dg-final { scan-assembler-not {\mplxsd\M} } } */


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [gcc(refs/users/meissner/heads/work062)] Revert patches.
@ 2021-07-31  3:58 Michael Meissner
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Meissner @ 2021-07-31  3:58 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:ea49c2b488aa704d0d46176a94d0dbbb77dc93a6

commit ea49c2b488aa704d0d46176a94d0dbbb77dc93a6
Author: Michael Meissner <meissner@linux.ibm.com>
Date:   Fri Jul 30 23:57:35 2021 -0400

    Revert patches.
    
    2021-07-31  Michael Meissner  <meissner@linux.ibm.com>
    gcc/
            Revert patch.
            PR target/98519
            * config/rs6000/rs6000.c (rs6000_asm_operand_p): New function.
            (TARGET_MD_ASM_OPERAND_P): Override md_asm_operand_p hook.
    
    gcc/testsuite/
            Revert patch.
            PR target/98519
            * gcc.target/powerpc/pr98519.c: New test.
    
    2021-07-31  Michael Meissner  <meissner@linux.ibm.com>
    gcc/
            Revert patch.
            PR target/98519
            * doc/tm.texi (TARGET_MD_ASM_OPERAND_P): Document.
            * doc/tm.texi.in (TARGET_MD_ASM_OPERAND_P): Document.
            * target.def (md_asm_operand_p): New target hook.
            * targhooks.c (default_md_asm_operand_p): New default target
            hook.
            * targhooks.h (default_md_asm_operand_p): New declaration.

Diff:
---
 gcc/config/rs6000/rs6000.c                 | 28 ----------------------------
 gcc/doc/tm.texi                            | 11 -----------
 gcc/doc/tm.texi.in                         |  2 --
 gcc/recog.c                                |  4 ----
 gcc/target.def                             | 15 ---------------
 gcc/targhooks.c                            |  7 -------
 gcc/targhooks.h                            |  1 -
 gcc/testsuite/gcc.target/powerpc/pr98519.c | 20 --------------------
 8 files changed, 88 deletions(-)

diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 73e87c3cbc6..2de5a96e1b6 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -1196,8 +1196,6 @@ static bool rs6000_secondary_reload_move (enum rs6000_reg_type,
 					  bool);
 rtl_opt_pass *make_pass_analyze_swaps (gcc::context*);
 
-static bool rs6000_asm_operand_p (rtx, const char *, const char **);
-
 /* Hash table stuff for keeping track of TOC entries.  */
 
 struct GTY((for_user)) toc_hash_struct
@@ -1641,9 +1639,6 @@ static const struct attribute_spec rs6000_attribute_table[] =
 #undef TARGET_LEGITIMATE_ADDRESS_P
 #define TARGET_LEGITIMATE_ADDRESS_P rs6000_legitimate_address_p
 
-#undef TARGET_MD_ASM_OPERAND_P
-#define TARGET_MD_ASM_OPERAND_P rs6000_asm_operand_p
-
 #undef TARGET_MODE_DEPENDENT_ADDRESS_P
 #define TARGET_MODE_DEPENDENT_ADDRESS_P rs6000_mode_dependent_address_p
 
@@ -9926,29 +9921,6 @@ rs6000_offsettable_memref_p (rtx op, machine_mode reg_mode, bool strict)
 					     strict, worst_case);
 }
 
-/* Add additional constraints for asm operands.  We use it to prevent
-   prefixed loads/stores from appearing in normal asm statements.
-
-   At the moment, we just ban all prefixed loads/stores.  If we add a
-   constraint specifically for prefixed loads/stores, we might need to scan the
-   constraint string for that constraint.  */
-
-static bool
-rs6000_asm_operand_p (rtx op,
-		      const char *constraint ATTRIBUTE_UNUSED,
-		      const char **constraints ATTRIBUTE_UNUSED)
-{
-  if (TARGET_PREFIXED && MEM_P (op))
-    {
-      rtx addr = XEXP (op, 0);
-      machine_mode mode = GET_MODE (op);
-      if (address_is_prefixed (addr, mode, NON_PREFIXED_DEFAULT))
-	return false;
-    }
-
-  return true;
-}
-
 /* Determine the reassociation width to be used in reassociate_bb.
    This takes into account how many parallel operations we
    can actually do of a given type, and also the latency.
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index e95869152aa..cb015283237 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -5886,17 +5886,6 @@ Using the hook is usually simpler because it limits the number of
 files that are recompiled when changes are made.
 @end deftypefn
 
-@deftypefn {Target Hook} bool TARGET_MD_ASM_OPERAND_P (rtx @var{op}, const char *@var{constraint}, const char **@var{constraints})
-This hook should return true if the operand is valid for being used in
-an asm statement.  The back end may impose additionsl constraints on
-what operands are valid for an asm statement.  The default behavior is
-to return true always.
-
-For example, the PowerPC has normal memory instructions and prefixed
-memory instructions.  Prefixed memory instructions are not valid for
-the normal @samp{%m} constraint.
-@end deftypefn
-
 @defmac TARGET_MEM_CONSTRAINT
 A single character to be used instead of the default @code{'m'}
 character for general memory addresses.  This defines the constraint
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
index 21e013fa274..4a522ae7e2e 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -4066,8 +4066,6 @@ accept.
 
 @hook TARGET_LEGITIMATE_ADDRESS_P
 
-@hook TARGET_MD_ASM_OPERAND_P
-
 @defmac TARGET_MEM_CONSTRAINT
 A single character to be used instead of the default @code{'m'}
 character for general memory addresses.  This defines the constraint
diff --git a/gcc/recog.c b/gcc/recog.c
index 04e52a71d3f..5a42c45361d 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -2174,10 +2174,6 @@ asm_operand_ok (rtx op, const char *constraint, const char **constraints)
   /* Use constrain_operands after reload.  */
   gcc_assert (!reload_completed);
 
-  /* Allow the backend to impose additional constraints.  */
-  if (!targetm.md_asm_operand_p (op, constraint, constraints))
-    return 0;
-
   /* Empty constraint string is the same as "X,...,X", i.e. X for as
      many alternatives as required to match the other operands.  */
   if (*constraint == '\0')
diff --git a/gcc/target.def b/gcc/target.def
index 0cd4c786aa2..68a46aaa832 100644
--- a/gcc/target.def
+++ b/gcc/target.def
@@ -2940,21 +2940,6 @@ files that are recompiled when changes are made.",
  bool, (machine_mode mode, rtx x, bool strict),
  default_legitimate_address_p)
 
-/* True if the given operand is a valid machine dependent assembler
-   operand.  */
-DEFHOOK
-(md_asm_operand_p,
- "This hook should return true if the operand is valid for being used in\n\
-an asm statement.  The back end may impose additionsl constraints on\n\
-what operands are valid for an asm statement.  The default behavior is\n\
-to return true always.\n\
-\n\
-For example, the PowerPC has normal memory instructions and prefixed\n\
-memory instructions.  Prefixed memory instructions are not valid for\n\
-the normal @samp{%m} constraint.",
- bool, (rtx op, const char *constraint, const char **constraints),
- default_md_asm_operand_p)
-
 /* True if the given constant can be put into an object_block.  */
 DEFHOOK
 (use_blocks_for_constant_p,
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index 7af4ef8660f..eb5190910dc 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -110,13 +110,6 @@ default_legitimate_address_p (machine_mode mode ATTRIBUTE_UNUSED,
 #endif
 }
 
-bool default_md_asm_operand_p (rtx op ATTRIBUTE_UNUSED,
-			       const char *constraint ATTRIBUTE_UNUSED,
-			       const char **constraints ATTRIBUTE_UNUSED)
-{
-  return true;
-}
-
 void
 default_external_libcall (rtx fun ATTRIBUTE_UNUSED)
 {
diff --git a/gcc/targhooks.h b/gcc/targhooks.h
index 19f54d97df3..f92e102c450 100644
--- a/gcc/targhooks.h
+++ b/gcc/targhooks.h
@@ -21,7 +21,6 @@ along with GCC; see the file COPYING3.  If not see
 #define GCC_TARGHOOKS_H
 
 extern bool default_legitimate_address_p (machine_mode, rtx, bool);
-extern bool default_md_asm_operand_p (rtx, const char *, const char **);
 
 extern void default_external_libcall (rtx);
 extern rtx default_legitimize_address (rtx, rtx, machine_mode);
diff --git a/gcc/testsuite/gcc.target/powerpc/pr98519.c b/gcc/testsuite/gcc.target/powerpc/pr98519.c
deleted file mode 100644
index 25918bac3ed..00000000000
--- a/gcc/testsuite/gcc.target/powerpc/pr98519.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* { dg-do compile } */
-/* { dg-require-effective-target powerpc_prefixed_addr } */
-/* { dg-options "-O2 -mdejagnu-cpu=power10" } */
-
-/* Compile with -mcpu=power10.  The lxsd instruction should not be replaced
-   with a plxsd.  */
-typedef vector double vf64_t;
-
-static double test_f64[16];
-
-vf64_t
-bug (void)
-{
-  vf64_t j0;
-  __asm__("lxsd%X1 %0,%1;" : "=v" (j0) : "m" (test_f64));
-  return j0;
-}
-
-/* { dg-final { scan-assembler     {\mlxsd\M}  } } */
-/* { dg-final { scan-assembler-not {\mplxsd\M} } } */


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-08-02  1:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-02  1:26 [gcc(refs/users/meissner/heads/work062)] Revert patches Michael Meissner
  -- strict thread matches above, loose matches on Subject: below --
2021-07-31  3:58 Michael Meissner

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).