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

Kevin W. Rudd kevinr at linux.vnet.ibm.com
Tue Nov 17 15:37:50 UTC 2015


** Package changed: ubuntu => gcc-defaults (Ubuntu)

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

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

Status in gcc-defaults package in Ubuntu:
  New

Bug description:
  ---Problem Description---
  HTM builtins aren't treated as compiler barriers on powerpc
   
  Contact Information = bergner at us.ibm.com 
   
  ---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 at vnet.ibm.com>
                              Torvald Riegel  <triegel at redhat.com>

          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 at vnet.ibm.com>
                              Torvald Riegel  <triegel at redhat.com>

          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 at vnet.ibm.com>
                              Torvald Riegel  <triegel at redhat.com>

          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 at vnet.ibm.com>

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

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



More information about the foundations-bugs mailing list