← Back to team overview

touch-packages team mailing list archive

[Bug 1517093] Re: HTM builtins aren't treated as compiler barriers on powerpc

 

** Also affects: gcc-4.8 (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** Also affects: gcc-5 (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** No longer affects: gcc-5 (Ubuntu Trusty)

** Description changed:

  ---Problem Description---
  HTM builtins aren't treated as compiler barriers on powerpc
-  
- Contact Information = bergner@xxxxxxxxxx 
-  
+ 
+ Contact Information = bergner@xxxxxxxxxx
+ 
  ---Steps to Reproduce---
  
-  This bug is a mirror of the (fixed) upstream FSF bugzilla https://gcc.gnu.org/PR67281
+  This bug is a mirror of the (fixed) upstream FSF bugzilla https://gcc.gnu.org/PR67281
  All relevant information regarding the bug and the fix can be found there.  This bugzilla is to track backporting of the fix to the GCC 4.8, 4.9 and 5 based compilers.
-  
- Userspace tool common name: GCC 
+ 
+ Userspace tool common name: GCC
  Userspace rpm: gcc-4.8, gcc-4.9 and gcc-5
  
  == Comment: #1
  The fix for the FSF GCC 5 branch was committed with:
  
  r228846 | bergner | 2015-10-15 11:38:47 -0500 (Thu, 15 Oct 2015) | 16
  lines
  
-         Backport from mainline
-         2015-10-14  Peter Bergner  <bergner@xxxxxxxxxxxx>
-                             Torvald Riegel  <triegel@xxxxxxxxxx>
+         Backport from mainline
+         2015-10-14  Peter Bergner  <bergner@xxxxxxxxxxxx>
+                             Torvald Riegel  <triegel@xxxxxxxxxx>
  
-         PR target/67281
-         * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New.
-         (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
-         trechkpt, treclaim, tsr, ttest): Rename define_insns from this...
-         (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend,
-         *trechkpt, *treclaim, *tsr, *ttest): ...to this.  Add memory barrier.
-         (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
-         trechkpt, treclaim, tsr, ttest): New define_expands.
-         * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
-         __TM_FENCE__ for htm.
-         * doc/extend.texi: Update documentation for htm builtins.
+         PR target/67281
+         * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New.
+         (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
+         trechkpt, treclaim, tsr, ttest): Rename define_insns from this...
+         (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend,
+         *trechkpt, *treclaim, *tsr, *ttest): ...to this.  Add memory barrier.
+         (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
+         trechkpt, treclaim, tsr, ttest): New define_expands.
+         * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
+         __TM_FENCE__ for htm.
+         * doc/extend.texi: Update documentation for htm builtins.
  
- == Comment: #2 
+ == Comment: #2
  The fix for the FSF GCC 4.9 branch was committed with:
  
  r228847 | bergner | 2015-10-15 11:40:14 -0500 (Thu, 15 Oct 2015) | 16
  lines
  
-         Backport from mainline
-         2015-10-14  Peter Bergner  <bergner@xxxxxxxxxxxx>
-                             Torvald Riegel  <triegel@xxxxxxxxxx>
+         Backport from mainline
+         2015-10-14  Peter Bergner  <bergner@xxxxxxxxxxxx>
+                             Torvald Riegel  <triegel@xxxxxxxxxx>
  
-         PR target/67281
-         * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New.
-         (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
-         trechkpt, treclaim, tsr, ttest): Rename define_insns from this...
-         (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend,
-         *trechkpt, *treclaim, *tsr, *ttest): ...to this.  Add memory barrier.
-         (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
-         trechkpt, treclaim, tsr, ttest): New define_expands.
-         * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
-         __TM_FENCE__ for htm.
-         * doc/extend.texi: Update documentation for htm builtins.
+         PR target/67281
+         * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New.
+         (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
+         trechkpt, treclaim, tsr, ttest): Rename define_insns from this...
+         (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend,
+         *trechkpt, *treclaim, *tsr, *ttest): ...to this.  Add memory barrier.
+         (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
+         trechkpt, treclaim, tsr, ttest): New define_expands.
+         * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
+         __TM_FENCE__ for htm.
+         * doc/extend.texi: Update documentation for htm builtins.
  
  == Comment: #3
  Since the FSF 4.8 branch is closed, here is a backport of the fix along with another
  simple HTM wrong code bug to GCC 4.8.
  
-         Backport from mainline
-         2015-10-14  Peter Bergner  <bergner@xxxxxxxxxxxx>
-                             Torvald Riegel  <triegel@xxxxxxxxxx>
+         Backport from mainline
+         2015-10-14  Peter Bergner  <bergner@xxxxxxxxxxxx>
+                             Torvald Riegel  <triegel@xxxxxxxxxx>
  
-         PR target/67281
-         * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New.
-         (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
-         trechkpt, treclaim, tsr, ttest): Rename define_insns from this...
-         (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend,
-         *trechkpt, *treclaim, *tsr, *ttest): ...to this.  Add memory barrier.
-         (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
-         trechkpt, treclaim, tsr, ttest): New define_expands.
-         * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
-         __TM_FENCE__ for htm.
-         * doc/extend.texi: Update documentation for htm builtins.
+         PR target/67281
+         * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New.
+         (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
+         trechkpt, treclaim, tsr, ttest): Rename define_insns from this...
+         (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend,
+         *trechkpt, *treclaim, *tsr, *ttest): ...to this.  Add memory barrier.
+         (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
+         trechkpt, treclaim, tsr, ttest): New define_expands.
+         * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
+         __TM_FENCE__ for htm.
+         * doc/extend.texi: Update documentation for htm builtins.
  
-         Backport from mainline:
-         2015-08-03  Peter Bergner  <bergner@xxxxxxxxxxxx>
+         Backport from mainline:
+         2015-08-03  Peter Bergner  <bergner@xxxxxxxxxxxx>
  
-         * config/rs6000/htm.md (tabort.): Restrict the source operand to
-         using a base register.
+         * config/rs6000/htm.md (tabort.): Restrict the source operand to
+         using a base register.
+ 
+ Acceptance creterium: No regressions in the testsuite, and the new test
+ passes.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to gcc-4.8 in Ubuntu.
https://bugs.launchpad.net/bugs/1517093

Title:
  HTM builtins aren't treated as compiler barriers on powerpc

Status in gcc-4.8 package in Ubuntu:
  New
Status in gcc-5 package in Ubuntu:
  Fix Released
Status in gcc-4.8 source package in Trusty:
  New

Bug description:
  ---Problem Description---
  HTM builtins aren't treated as compiler barriers on powerpc

  Contact Information = bergner@xxxxxxxxxx

  ---Steps to Reproduce---

   This bug is a mirror of the (fixed) upstream FSF bugzilla https://gcc.gnu.org/PR67281
  All relevant information regarding the bug and the fix can be found there.  This bugzilla is to track backporting of the fix to the GCC 4.8, 4.9 and 5 based compilers.

  Userspace tool common name: GCC
  Userspace rpm: gcc-4.8, gcc-4.9 and gcc-5

  == Comment: #1
  The fix for the FSF GCC 5 branch was committed with:

  r228846 | bergner | 2015-10-15 11:38:47 -0500 (Thu, 15 Oct 2015) | 16
  lines

          Backport from mainline
          2015-10-14  Peter Bergner  <bergner@xxxxxxxxxxxx>
                              Torvald Riegel  <triegel@xxxxxxxxxx>

          PR target/67281
          * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New.
          (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
          trechkpt, treclaim, tsr, ttest): Rename define_insns from this...
          (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend,
          *trechkpt, *treclaim, *tsr, *ttest): ...to this.  Add memory barrier.
          (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
          trechkpt, treclaim, tsr, ttest): New define_expands.
          * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
          __TM_FENCE__ for htm.
          * doc/extend.texi: Update documentation for htm builtins.

  == Comment: #2
  The fix for the FSF GCC 4.9 branch was committed with:

  r228847 | bergner | 2015-10-15 11:40:14 -0500 (Thu, 15 Oct 2015) | 16
  lines

          Backport from mainline
          2015-10-14  Peter Bergner  <bergner@xxxxxxxxxxxx>
                              Torvald Riegel  <triegel@xxxxxxxxxx>

          PR target/67281
          * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New.
          (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
          trechkpt, treclaim, tsr, ttest): Rename define_insns from this...
          (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend,
          *trechkpt, *treclaim, *tsr, *ttest): ...to this.  Add memory barrier.
          (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
          trechkpt, treclaim, tsr, ttest): New define_expands.
          * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
          __TM_FENCE__ for htm.
          * doc/extend.texi: Update documentation for htm builtins.

  == Comment: #3
  Since the FSF 4.8 branch is closed, here is a backport of the fix along with another
  simple HTM wrong code bug to GCC 4.8.

          Backport from mainline
          2015-10-14  Peter Bergner  <bergner@xxxxxxxxxxxx>
                              Torvald Riegel  <triegel@xxxxxxxxxx>

          PR target/67281
          * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New.
          (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
          trechkpt, treclaim, tsr, ttest): Rename define_insns from this...
          (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend,
          *trechkpt, *treclaim, *tsr, *ttest): ...to this.  Add memory barrier.
          (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
          trechkpt, treclaim, tsr, ttest): New define_expands.
          * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
          __TM_FENCE__ for htm.
          * doc/extend.texi: Update documentation for htm builtins.

          Backport from mainline:
          2015-08-03  Peter Bergner  <bergner@xxxxxxxxxxxx>

          * config/rs6000/htm.md (tabort.): Restrict the source operand to
          using a base register.

  Acceptance creterium: No regressions in the testsuite, and the new
  test passes.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.8/+bug/1517093/+subscriptions