[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