https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113978
Richard Biener changed:
What|Removed |Added
Keywords|ABI |missed-optimization
Target
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113978
--- Comment #8 from Jakub Jelinek ---
(In reply to Jakub Jelinek from comment #7)
> The psABI doesn't cover that. It only talks about __m128, __m256 and __m512
> types, and
> as both compilers use the GNU vector_size attribute extension under t
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113978
Jakub Jelinek changed:
What|Removed |Added
CC||jakub at gcc dot gnu.org
--- Comment #7
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113978
--- Comment #6 from 严 逍宇 ---
(In reply to Andrew Pinski from comment #5)
> As I mentioned, that works on linux just fine:
Thank you for your time. And when can I use this feature on mingw? I think the
behavior of swap two long vectors should b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113978
--- Comment #5 from Andrew Pinski ---
(In reply to 严 逍宇 from comment #4)
> I find an example without abi problem:
As I mentioned, that works on linux just fine:
```
vmovdqa64 (%rdi), %zmm1
vmovdqa64 64(%rdi), %zmm0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113978
--- Comment #4 from 严 逍宇 ---
I find an example without abi problem:
===
Source Code
===
using v [[using gnu: vector_size(128)]] = char;
void f(v *pa, v *pb) noexcept
{
v a{*pa}, b{*pb};
*pa = b;
*pb = a;
}
===
Command
===
g++ test.c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113978
--- Comment #3 from Andrew Pinski ---
>GCC generates extra stack operation
That is basically to realign the stack just in case there was a spill, this
happens more on mingw compiling than linux really.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113978
Andrew Pinski changed:
What|Removed |Added
See Also||https://github.com/llvm/llv
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113978
Andrew Pinski changed:
What|Removed |Added
Keywords||ABI
Component|c++