Dimitry Andric via llvm-dev
2018-Aug-17 20:27 UTC
[llvm-dev] [Release-testers] [7.0.0 Release] rc1 has been tagged
On 16 Aug 2018, at 00:51, Joerg Sonnenberger via llvm-dev <llvm-dev at lists.llvm.org> wrote:> On Tue, Aug 07, 2018 at 09:49:16PM +0200, Dimitry Andric via llvm-dev wrote: >> This is a regression caused by https://reviews.llvm.org/rL323281: >> >> ------------------------------------------------------------------------ >> r323281 | wmi | 2018-01-23 23:27:57 +0000 (Tue, 23 Jan 2018) | 12 lines >> >> Adjust MaxAtomicInlineWidth for i386/i486 targets. >> >> This is to fix the bug reported in https://bugs.llvm.org/show_bug.cgi?id=34347#c6. >> Currently, all MaxAtomicInlineWidth of x86-32 targets are set to 64. However, >> i386 doesn't support any cmpxchg related instructions. i486 only supports cmpxchg. >> So in this patch MaxAtomicInlineWidth is reset as follows: >> For i386, the MaxAtomicInlineWidth should be 0 because no cmpxchg is supported. >> For i486, the MaxAtomicInlineWidth should be 32 because it supports cmpxchg. >> For others 32 bits x86 cpu, the MaxAtomicInlineWidth should be 64 because of cmpxchg8b. > > This seems to be somewhat undesirable. Does *anyone* care about real > i386 support at this point? NetBSD certainly doesn't and I think we are > already the odd man for a number of cases like this.Yes, and since this causes quite a number of regressions for us, I would really prefer this revision to be reverted, at least in the 7.0.0 branch. I have already reverted it locally in our FreeBSD project branch for importing llvm/clang 7.0.0. Hans, what is your opinion about this? -Dimitry -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 223 bytes Desc: Message signed with OpenPGP URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180817/2f8a2fc7/attachment.sig>
Joerg Sonnenberger via llvm-dev
2018-Aug-17 21:17 UTC
[llvm-dev] [Release-testers] [7.0.0 Release] rc1 has been tagged
On Fri, Aug 17, 2018 at 10:27:36PM +0200, Dimitry Andric wrote:> On 16 Aug 2018, at 00:51, Joerg Sonnenberger via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > On Tue, Aug 07, 2018 at 09:49:16PM +0200, Dimitry Andric via llvm-dev wrote: > >> This is a regression caused by https://reviews.llvm.org/rL323281: > >> > >> ------------------------------------------------------------------------ > >> r323281 | wmi | 2018-01-23 23:27:57 +0000 (Tue, 23 Jan 2018) | 12 lines > >> > >> Adjust MaxAtomicInlineWidth for i386/i486 targets. > >> > >> This is to fix the bug reported in https://bugs.llvm.org/show_bug.cgi?id=34347#c6. > >> Currently, all MaxAtomicInlineWidth of x86-32 targets are set to 64. However, > >> i386 doesn't support any cmpxchg related instructions. i486 only supports cmpxchg. > >> So in this patch MaxAtomicInlineWidth is reset as follows: > >> For i386, the MaxAtomicInlineWidth should be 0 because no cmpxchg is supported. > >> For i486, the MaxAtomicInlineWidth should be 32 because it supports cmpxchg. > >> For others 32 bits x86 cpu, the MaxAtomicInlineWidth should be 64 because of cmpxchg8b. > > > > This seems to be somewhat undesirable. Does *anyone* care about real > > i386 support at this point? NetBSD certainly doesn't and I think we are > > already the odd man for a number of cases like this. > > > Yes, and since this causes quite a number of regressions for us, I would > really prefer this revision to be reverted, at least in the 7.0.0 > branch. I have already reverted it locally in our FreeBSD project > branch for importing llvm/clang 7.0.0. Hans, what is your opinion about > this?Don't get me wrong, I think the original behavior is wrong as well. It seems to me we should unconditionally assume support for cmpxchg, but not of cmpxchg8b. Accordingly, MaxAtomicInlineWidth should be 32 by default, unless Pentium+ is explicitly targetted. Joerg
Hans Wennborg via llvm-dev
2018-Aug-21 22:30 UTC
[llvm-dev] [Release-testers] [7.0.0 Release] rc1 has been tagged
On Fri, Aug 17, 2018 at 1:27 PM, Dimitry Andric <dimitry at andric.com> wrote:> On 16 Aug 2018, at 00:51, Joerg Sonnenberger via llvm-dev <llvm-dev at lists.llvm.org> wrote: >> On Tue, Aug 07, 2018 at 09:49:16PM +0200, Dimitry Andric via llvm-dev wrote: >>> This is a regression caused by https://reviews.llvm.org/rL323281: >>> >>> ------------------------------------------------------------------------ >>> r323281 | wmi | 2018-01-23 23:27:57 +0000 (Tue, 23 Jan 2018) | 12 lines >>> >>> Adjust MaxAtomicInlineWidth for i386/i486 targets. >>> >>> This is to fix the bug reported in https://bugs.llvm.org/show_bug.cgi?id=34347#c6. >>> Currently, all MaxAtomicInlineWidth of x86-32 targets are set to 64. However, >>> i386 doesn't support any cmpxchg related instructions. i486 only supports cmpxchg. >>> So in this patch MaxAtomicInlineWidth is reset as follows: >>> For i386, the MaxAtomicInlineWidth should be 0 because no cmpxchg is supported. >>> For i486, the MaxAtomicInlineWidth should be 32 because it supports cmpxchg. >>> For others 32 bits x86 cpu, the MaxAtomicInlineWidth should be 64 because of cmpxchg8b. >> >> This seems to be somewhat undesirable. Does *anyone* care about real >> i386 support at this point? NetBSD certainly doesn't and I think we are >> already the odd man for a number of cases like this. > > > Yes, and since this causes quite a number of regressions for us, I would > really prefer this revision to be reverted, at least in the 7.0.0 > branch. I have already reverted it locally in our FreeBSD project > branch for importing llvm/clang 7.0.0. Hans, what is your opinion about > this?I'd prefer to see it reverted on trunk, and then merge the revert. Is there a discussion about reverting started somewhere besides this thread? It would be nice if we could get this figured out before RC2 (tomorrow, if the schedule holds..)
Wei Mi via llvm-dev
2018-Aug-22 03:58 UTC
[llvm-dev] [Release-testers] [7.0.0 Release] rc1 has been tagged
On Fri, Aug 17, 2018 at 1:27 PM, Dimitry Andric <dimitry at andric.com> wrote:> On 16 Aug 2018, at 00:51, Joerg Sonnenberger via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > > On Tue, Aug 07, 2018 at 09:49:16PM +0200, Dimitry Andric via llvm-dev > wrote: > >> This is a regression caused by https://reviews.llvm.org/rL323281: > >> > >> ------------------------------------------------------------ > ------------ > >> r323281 | wmi | 2018-01-23 23:27:57 +0000 (Tue, 23 Jan 2018) | 12 lines > >> > >> Adjust MaxAtomicInlineWidth for i386/i486 targets. > >> > >> This is to fix the bug reported in https://bugs.llvm.org/show_ > bug.cgi?id=34347#c6. > >> Currently, all MaxAtomicInlineWidth of x86-32 targets are set to 64. > However, > >> i386 doesn't support any cmpxchg related instructions. i486 only > supports cmpxchg. > >> So in this patch MaxAtomicInlineWidth is reset as follows: > >> For i386, the MaxAtomicInlineWidth should be 0 because no cmpxchg is > supported. > >> For i486, the MaxAtomicInlineWidth should be 32 because it supports > cmpxchg. > >> For others 32 bits x86 cpu, the MaxAtomicInlineWidth should be 64 > because of cmpxchg8b. > > > > This seems to be somewhat undesirable. Does *anyone* care about real > > i386 support at this point? NetBSD certainly doesn't and I think we are > > already the odd man for a number of cases like this. > > > Yes, and since this causes quite a number of regressions for us, I would > really prefer this revision to be reverted, at least in the 7.0.0 > branch. I have already reverted it locally in our FreeBSD project > branch for importing llvm/clang 7.0.0. Hans, what is your opinion about > this? > > -Dimitry > >Sorry I missed the thread for quite a while. Dimitry, I am very confused because you reported the issue in https://bugs.llvm.org/show_bug.cgi?id=34347#c6, so you want r323281 to be reverted and let llvm to generate cmxchg8b instruction for i486? Wei. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180821/a38557b5/attachment.html>
Dimitry Andric via llvm-dev
2018-Aug-22 10:48 UTC
[llvm-dev] [Release-testers] [7.0.0 Release] rc1 has been tagged
On 22 Aug 2018, at 05:58, Wei Mi <wmi at google.com> wrote:> > On Fri, Aug 17, 2018 at 1:27 PM, Dimitry Andric <dimitry at andric.com> wrote: > On 16 Aug 2018, at 00:51, Joerg Sonnenberger via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > On Tue, Aug 07, 2018 at 09:49:16PM +0200, Dimitry Andric via llvm-dev wrote: > >> This is a regression caused by https://reviews.llvm.org/rL323281: > >> > >> ------------------------------------------------------------------------ > >> r323281 | wmi | 2018-01-23 23:27:57 +0000 (Tue, 23 Jan 2018) | 12 lines > >> > >> Adjust MaxAtomicInlineWidth for i386/i486 targets. > >> > >> This is to fix the bug reported in https://bugs.llvm.org/show_bug.cgi?id=34347#c6. > >> Currently, all MaxAtomicInlineWidth of x86-32 targets are set to 64. However, > >> i386 doesn't support any cmpxchg related instructions. i486 only supports cmpxchg. > >> So in this patch MaxAtomicInlineWidth is reset as follows: > >> For i386, the MaxAtomicInlineWidth should be 0 because no cmpxchg is supported. > >> For i486, the MaxAtomicInlineWidth should be 32 because it supports cmpxchg. > >> For others 32 bits x86 cpu, the MaxAtomicInlineWidth should be 64 because of cmpxchg8b. > > > > This seems to be somewhat undesirable. Does *anyone* care about real > > i386 support at this point? NetBSD certainly doesn't and I think we are > > already the odd man for a number of cases like this. > > > Yes, and since this causes quite a number of regressions for us, I would > really prefer this revision to be reverted, at least in the 7.0.0 > branch. I have already reverted it locally in our FreeBSD project > branch for importing llvm/clang 7.0.0. Hans, what is your opinion about > this? > > -Dimitry > > > Sorry I missed the thread for quite a while. Dimitry, I am very confused because you reported the issue in https://bugs.llvm.org/show_bug.cgi?id=34347#c6, so you want r323281 to be reverted and let llvm to generate cmxchg8b instruction for i486?Since it's been doing this for a number of years now, I don't think it would be bad at all, at least not for FreeBSD. At least, a lot more effort is needed to supply properly working atomic libcalls for 64 bit values on i386. (They can't be implemented without at least a bit of kernel assistance.) -Dimitry -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 223 bytes Desc: Message signed with OpenPGP URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180822/0c6737cb/attachment.sig>