← Back to team overview

touch-packages team mailing list archive

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

 

** Changed in: gcc-4.8 (Ubuntu)
   Importance: Undecided => Medium

** Changed in: gcc-4.8 (Ubuntu Trusty)
   Importance: Undecided => Medium

-- 
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:
  Fix Released
Status in gcc-5 package in Ubuntu:
  Fix Released
Status in gcc-4.8 source package in Trusty:
  Fix Committed

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