https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118546
Imple Lee changed:
What|Removed |Added
Resolution|--- |INVALID
Status|UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118546
Bug ID: 118546
Summary: std::experimental::simd operator== fails to compile
with clang++ 19.1.0 on x86-64-v4
Product: gcc
Version: 14.2.0
Status: UNCONFIRMED
S
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118416
--- Comment #1 from Imple Lee ---
Possibly related: PR90483 .
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118416
Bug ID: 118416
Summary: std::experimental::simd code detecting all zero is not
optimized to simple ptest on x86-64 avx
Product: gcc
Version: 14.2.1
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115454
Bug ID: 115454
Summary: std::experimental::find_last_set is buggy on x86-64-v4
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Comp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114966
--- Comment #1 from Imple Lee ---
This is probably a regression.
GCC 13.2 can generate optimal code.
See https://godbolt.org/z/4n8ovr7jr .
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114908
--- Comment #8 from Imple Lee ---
I tried another way to permute the register.
Although GCC does generate simd instructions, the generated code is
sub-optimal.
I opened PR114966 for that.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114966
Bug ID: 114966
Summary: fails to optimize avx2 in-register permute written
with std::experimental::simd
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114908
Bug ID: 114908
Summary: fails to optimize avx2 in-register permute written
with std::experimental::simd
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114417
--- Comment #11 from Imple Lee ---
> What you want to use instead is std::experimental::simd_abi::deduce_t.
> That'll give you a not-fixed_size ABI if one exists. And those will likely be
> passed via registers (as long as the psABI allows).
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114417
--- Comment #7 from Imple Lee ---
I tried to dig into the source code and it seems like it was designed to be
"passed via the stack". Not sure whether this was specified by the
specification (did not find relevant requirements, but I am not quit
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114417
--- Comment #3 from Imple Lee ---
Oh, I didn't make it clear. I am describing libstdc++'s std::experimental::simd
class.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114417
--- Comment #2 from Imple Lee ---
(In reply to Andrew Pinski from comment #1)
> I doubt this can change since this is the abi gcc decided on a long time ago.
If we implement the simd class as a wrapper around a vector, the parameter can
still b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114417
Bug ID: 114417
Summary: simd parameters are passed by memory on x64 , not
using the available sse registers
Product: gcc
Version: unknown
Status: UNCONFIRMED
S
14 matches
Mail list logo