https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #68 from Eyal ---
Thanks for doing this! Now this one:
https://bugs.kde.org/show_bug.cgi?id=474160 ?
Eyal
On Tue, Sep 19, 2023 at 11:33 AM Paul Floyd
wrote:
> https://bugs.kde.org/show_bug.cgi?id=432801
>
> Paul Floyd changed:
>
>
https://bugs.kde.org/show_bug.cgi?id=432801
Paul Floyd changed:
What|Removed |Added
Resolution|--- |FIXED
Status|REPORTED
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #66 from Paul Floyd ---
I've run the CI tests, all OK. I'll change the commit message to match typical
bugzilla fixes.
Do you want me to keep
Author: eyal0 <109809+ey...@users.noreply.github.com>
?
If you would like to contribute more to
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #65 from Eyal ---
Yeah, I saw that you have been busy with that!
Do you prefer that I go through the process of pushing a branch for CI? I
need to get added with some permissions?
Eyal
On Sun, Sep 10, 2023, 10:02 Paul Floyd wrote:
>
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #64 from Paul Floyd ---
> I think that you could have used 'git apply' also. Anyway, I hope that the
> tests are all passing now and perhaps we can make progress on the patch?
It's next on my list!
Been very busy this weekend updating
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #63 from Eyal ---
I think that you could have used 'git apply' also. Anyway, I hope that the
tests are all passing now and perhaps we can make progress on the patch?
Eyal
On Wed, Sep 6, 2023, 23:39 Paul Floyd wrote:
>
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #62 from Paul Floyd ---
OK didn't know that (or had forgotten). I think I tried git patch which didn't
like the formatted patch and then my usual fallback 'patch -p1 < patchfile'
--
You are receiving this mail because:
You are watching
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #61 from Eyal ---
(In reply to Paul Floyd from comment #59)
> You forgot to update the expecteds (I saw that just the line numbers have
> changed), and I had to convert the text .cpp files into symlinks (does Linux
> / GCC accept a plain
https://bugs.kde.org/show_bug.cgi?id=432801
Eyal changed:
What|Removed |Added
Attachment #136381|0 |1
is obsolete||
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #59 from Paul Floyd ---
You forgot to update the expecteds (I saw that just the line numbers have
changed), and I had to convert the text .cpp files into symlinks (does Linux /
GCC accept a plain text .cpp file that just contains a path?).
https://bugs.kde.org/show_bug.cgi?id=432801
Eyal changed:
What|Removed |Added
Attachment #139036|0 |1
is obsolete||
---
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #57 from Eyal ---
I've identified the problem and I hope to have a solution, soon. It is based
on a similar solution for AMD64. Both platforms to not have an xmm shift with
lane size of 8. I'll update the patch and also add test cases
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #56 from Eyal ---
I was able to get the tests to build and pass on master by running `sudo
apt-get install libc6-dbg:i386` and `sudo apt-get remove libc6-dbg`. I guess
that this is an x86 and not amd64 problem only?
I'm able to
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #55 from Eyal ---
(In reply to Eyal from comment #54)
> (In reply to Mark Wielaard from comment #53)
> > (In reply to Eyal from comment #52)
> > > Y'all need CI, I can't even build the master branch. :-(
> >
> > We do have CI against
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #54 from Eyal ---
(In reply to Mark Wielaard from comment #53)
> (In reply to Eyal from comment #52)
> > Y'all need CI, I can't even build the master branch. :-(
>
> We do have CI against various distros and arches:
>
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #53 from Mark Wielaard ---
(In reply to Eyal from comment #52)
> Y'all need CI, I can't even build the master branch. :-(
We do have CI against various distros and arches:
https://builder.sourceware.org/buildbot/#/builders?tags=valgrind
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #52 from Eyal ---
Y'all need CI, I can't even build the master branch. :-(
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #51 from Eyal ---
I'll take a look.
I gotta say, this patch is super annoying. I've been working on it for 2.5
years now? Instead of github, emails. And no CI. :-( I've resorted to my
own personal branch of valgrind with all my fixes.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #50 from Paul Floyd ---
(In reply to Paul Floyd from comment #49)
> I'll use a try branch for this patch.
I get two failures, both x86 testcases.
== 829 tests, 2 stderr failures, 2 stdout failures, 0 stderrB failures, 0
stdoutB failures,
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #49 from Paul Floyd ---
I'll use a try branch for this patch.
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #48 from Paul Floyd ---
Sorry but people committing aren't necessarily the ones able to review this
patch.
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #47 from Eyal ---
Any progress here? I see the valgrind is getting new commits all the time.
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #46 from Peter Klotz ---
Is there a chance that the available fix for this issue will make it into the
upcoming Valgrind version (3.18 I assume)?
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #45 from Eyal ---
Sure, let me know if I can be of assistance.
This was an actual issue for me with false positives in boost in newer clang.
Boost is quite popular so I imagine that as more people upgrade to newer clang,
maybe more of
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #44 from Julian Seward ---
I meant, unsigned < and <= scalar comparisons on undefined data. Duh.
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #43 from Julian Seward ---
As a general note, I have been investigating unsigned < and <=
comparisons on scalar values for arm64, and expect to continue doing
so as a background task for the next few weeks. So, this is not
forgotten.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #42 from Paul Floyd ---
(In reply to Eyal from comment #41)
> Got it done! Thank you for testing out the code. Try again?
On FreeBSD:
paulf> perl tests/vg_regtest memcheck/tests/amd64/pcmpgt
pcmpgt:
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #41 from Eyal ---
Got it done! Thank you for testing out the code. Try again?
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
Eyal changed:
What|Removed |Added
Attachment #138226|0 |1
is obsolete||
---
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #39 from Paul Floyd ---
The build and the expected now look almost fine on FreeBSD.
Just the one small diff
paulf> diff pcmpgt.stderr.exp pcmpgt.stderr.out
1598c1598
< total heap usage: 1 allocs, 1 frees, 72,704 bytes allocated
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #38 from Paul Floyd ---
I'll restest this weekend and see if I can get Julian Seward's opinion.
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #37 from Eyal ---
Any further comments? This is fixing a real false positive that users of clang
will experience with reasonable optimization levels.
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #36 from Eyal ---
Oh, I see it now. I must have forgotten to recompile. I've sent the new
patch.
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
Eyal changed:
What|Removed |Added
Attachment #137990|0 |1
is obsolete||
---
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #34 from Eyal ---
Huh. I don't have any errors on my computer with it. Can you send an example
error from the test? Maybe the location of the conditional jump depends on the
platform...?
--
You are receiving this mail because:
You are
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #33 from Paul Floyd ---
Compiles cleanly.
The fast fails. The diffs are mainly out-by-one differences in the line
numbers. Finally there's also a difference in the allocation summary/.
--
You are receiving this mail because:
You are
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #32 from Eyal ---
How does the latest code look? Are all the warnings gone now? Passes tests on
FreeBSD?
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
Eyal changed:
What|Removed |Added
Attachment #136599|0 |1
is obsolete||
---
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #30 from Paul Floyd ---
Indeed, I mixed up the C and C++ versions. I just tried the C++ patch on
FreeBSD (not yet officially supported). I haven't yet tried on Linux.
Here are my results:
pcmpgt.cpp:114:18: warning: suggest braces around
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #29 from Eyal ---
Okay. I don't think that I'm using any special features of c nor c++... How
would I know? Is there some test that I can run?
I didn't find any errors when I compiled with -Wall -Werror so I didn't see
that string being
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #28 from Paul Floyd ---
C++ is fine. If you are using any features that old compilers might not support
then you will need a feture test in configure.ac (this is also true for C
functions and assembler).
--
You are receiving this mail
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #27 from Eyal ---
Maybe that's with the c code. I wrote a version in c++ which is uses templates
to make the test code much shorter.
Let's focus on just one of them so that I don't have to duplicate too much
work. Do we want c++ for the
https://bugs.kde.org/show_bug.cgi?id=432801
Paul Floyd changed:
What|Removed |Added
CC||pjfl...@wanadoo.fr
--- Comment #26 from Paul
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #25 from Eyal ---
Created attachment 136599
--> https://bugs.kde.org/attachment.cgi?id=136599=edit
patch that supports pcmpgtX for 64/32/16/8 bit testing all lanes and using
templates
This one uses c++ in the test only. It is a much
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #24 from Eyal ---
Created attachment 136575
--> https://bugs.kde.org/attachment.cgi?id=136575=edit
patch that supports pcmpgtX for 64/32/16/8 bit
This one is more complex but it supports all the different pcmpgt* instructions
in x86.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #23 from Eyal ---
Generalizing the patch to handle different bit widths would be easy. In fact,
that's why I wrote it using a switch statement with just one case. To
generalize it you just need to add cases into the switch statement. Pretty
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #22 from Julian Seward ---
(In reply to Eyal from comment #21)
> Will anyone consider the patch?
This (problem) is definitely something I want to deal with, and your
patch seems like a good starting place. However, 3.17 is imminent and
I
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #21 from Eyal ---
Will anyone consider the patch? There might be a lot of false positives out
there now that clang is doing this optimization and it would be nice to catch
them before many users waste a lot of time on this.
--
You are
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #20 from Eyal ---
Created attachment 136381
--> https://bugs.kde.org/attachment.cgi?id=136381=edit
patch with tests
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #19 from Eyal ---
Comment on attachment 136346
--> https://bugs.kde.org/attachment.cgi?id=136346
patch for expensive greater than comparisons
Obsolete now.
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
Eyal changed:
What|Removed |Added
Attachment #136346|0 |1
is obsolete||
--
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #18 from Eyal ---
>Interesting analysis, and a plausible patch; thank you for that. This seems
>like a new trick from LLVM.
Thanks. Yes
>* where's the addition instruction that merges the lanes together? I don't
> see that.
It's just
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #17 from Julian Seward ---
Interesting analysis, and a plausible patch; thank you for that. This seems
like a new trick from LLVM.
I'm still struggling to understand what's going on, though. I can see that
for (size_t i = 0; i < plen;
https://bugs.kde.org/show_bug.cgi?id=432801
Eyal changed:
What|Removed |Added
Attachment #136346|path for expensive greater |patch for expensive greater
description|than
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #16 from Eyal ---
Created attachment 136346
--> https://bugs.kde.org/attachment.cgi?id=136346=edit
path for expensive greater than comparisons
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #15 from Peter Klotz ---
Hi Eyal
Your patch indeed solves the Valgrind error that occurred in the original
program.
Really great work, thanks a lot!
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #14 from Eyal ---
A possible solution in Valgrind:
https://github.com/eyal0/valgrind/commit/899ea491e358013579f87e443beff0a30c69e348
This improves Valgrind's check for definedness when doing 32x4 SIMD signed
greater than. It solves the
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #13 from Eyal ---
https://bugs.llvm.org/show_bug.cgi?id=49372
I hope that LLVM can help us out here! I think that it would be nice.
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #12 from Eyal ---
Okay, now I'm back to thinking that it's a valgrind issue. But it's nothing
that valgrind can fix. Here's the problematic asm code:
movd %edx,%xmm2 (1)
punpcklbw %xmm2,%xmm2 (2)
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #11 from Eyal ---
I'm back to not being sure if this is an llvm issue.
There are a few things at play here. One is sigaction(), which can foul up the
the contents of xmm registers, especially xmm3, which is the only register that
isn't
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #10 from Peter Klotz ---
Hi Eyal
Thank you very much for the analysis of the problem!
Will you open an LLVM issue?
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #9 from Eyal ---
Oops, I spoke to soon. It's a bug in clang. Here's code that you can try:
#include
#include
#include
#include
void foo() {
// Put the garbage number 123 into eax.
// It's caller-saved so no problem.
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #8 from Eyal ---
Even vgdb isn't helping me. Here's the code that I'm using:
#include
#include
#include
#include
int main()
{
struct sigaction act;
if (sigaction(SIGTERM, 0, ) == 1) {
return 12;
}
if (sigaction(SIGTERM,
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #7 from Eyal ---
It seems that the issue is the loop. When the length of pattern is more than
8, the code runs a routine that is able to sum 8 chars at a time. It uses xmm
for this. It only enters that code if the number of bytes to sum
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #6 from Eyal ---
Here's one that also fails but with a different error:
==12859== Syscall param exit_group(status) contains uninitialised byte(s)
==12859==at 0x492F9D6: _Exit (_exit.c:31)
==12859==by 0x48A2E89: __run_exit_handlers
https://bugs.kde.org/show_bug.cgi?id=432801
Eyal changed:
What|Removed |Added
CC||eyals...@gmail.com
--- Comment #5 from Eyal ---
I have
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #4 from Peter Klotz ---
Created attachment 135597
--> https://bugs.kde.org/attachment.cgi?id=135597=edit
Disassembly of main() when Valgrind shows no warning
The second sigaction() call was removed. In this case the assembly code of
https://bugs.kde.org/show_bug.cgi?id=432801
--- Comment #3 from Peter Klotz ---
Created attachment 135596
--> https://bugs.kde.org/attachment.cgi?id=135596=edit
Disassembly of main() when Valgrind shows the warning
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=432801
Tom Hughes changed:
What|Removed |Added
CC||t...@compton.nu
--- Comment #2 from Tom Hughes
https://bugs.kde.org/show_bug.cgi?id=432801
Mark Wielaard changed:
What|Removed |Added
CC||m...@klomp.org
--- Comment #1 from Mark
https://bugs.kde.org/show_bug.cgi?id=432801
Christian Maurer changed:
What|Removed |Added
CC||c.mau...@gmx.at
--
You are receiving this
71 matches
Mail list logo