* [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
@ 2020-04-21 6:43 ` bisqwit at iki dot fi
2020-04-21 7:07 ` rguenth at gcc dot gnu.org
` (17 subsequent siblings)
18 siblings, 0 replies; 19+ messages in thread
From: bisqwit at iki dot fi @ 2020-04-21 6:43 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
--- Comment #11 from Joel Yliluoma <bisqwit at iki dot fi> ---
Looks like this issue has taken a step or two *backwards* in the past years.
Where as the second function used to be vectorized properly, today it seems
neither of them are.
Contrast this with Clang, which compiles *both* functions into a single
instruction:
vaddps xmm0, xmm1, xmm0
or some variant thereof depending on the -m options.
Compiler Explorer link: https://godbolt.org/z/2AKhnt
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
2020-04-21 6:43 ` [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity bisqwit at iki dot fi
@ 2020-04-21 7:07 ` rguenth at gcc dot gnu.org
2020-04-21 7:17 ` bisqwit at iki dot fi
` (16 subsequent siblings)
18 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-04-21 7:07 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks| |53947
CC| |uros at gcc dot gnu.org
--- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Joel Yliluoma from comment #11)
> Looks like this issue has taken a step or two *backwards* in the past years.
>
> Where as the second function used to be vectorized properly, today it seems
> neither of them are.
Which version do you see vectorizing the second (add2) function?
> Contrast this with Clang, which compiles *both* functions into a single
> instruction:
>
> vaddps xmm0, xmm1, xmm0
>
> or some variant thereof depending on the -m options.
>
> Compiler Explorer link: https://godbolt.org/z/2AKhnt
The main issues on the GCC side are
a) ABI details not exposed at the point of vectorization (several PRs about
this exist)
b) "Poor" support for two-element float vectors (an understatement, we have
some support for MMX but that's integer only, but I'm not sure we've
enabled the 3dnow part to be emulated with SSE)
oddly enough even with -mmmx -m3dnow I see add2 lowered by veclower so
the vector type or the vector add must be unsupported(?).
llvm is known to support emulating smaller vectors just fine (and by
design is also aware of ABI details).
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53947
[Bug 53947] [meta-bug] vectorizer missed-optimizations
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
2020-04-21 6:43 ` [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity bisqwit at iki dot fi
2020-04-21 7:07 ` rguenth at gcc dot gnu.org
@ 2020-04-21 7:17 ` bisqwit at iki dot fi
2020-04-21 7:37 ` rguenth at gcc dot gnu.org
` (15 subsequent siblings)
18 siblings, 0 replies; 19+ messages in thread
From: bisqwit at iki dot fi @ 2020-04-21 7:17 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
--- Comment #13 from Joel Yliluoma <bisqwit at iki dot fi> ---
GCC 4.1.2 is indicated in the bug report headers.
Luckily, Compiler Explorer has a copy of that exact version, and it indeed
vectorizes the second function: https://godbolt.org/z/DC_SSb
On my own system, the earliest I have is 4.6. The Compiler Explorer has 4.4,
and it, or anything newer than that, no longer vectorizes either function.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2020-04-21 7:17 ` bisqwit at iki dot fi
@ 2020-04-21 7:37 ` rguenth at gcc dot gnu.org
2020-04-21 8:18 ` bisqwit at iki dot fi
` (14 subsequent siblings)
18 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-04-21 7:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
--- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Joel Yliluoma from comment #13)
> GCC 4.1.2 is indicated in the bug report headers.
> Luckily, Compiler Explorer has a copy of that exact version, and it indeed
> vectorizes the second function: https://godbolt.org/z/DC_SSb
>
> On my own system, the earliest I have is 4.6. The Compiler Explorer has 4.4,
> and it, or anything newer than that, no longer vectorizes either function.
Ah, OK - that's before GCC learned vectorization and is code-generated by
RTL expanding
return {BIT_FIELD_REF <a, 128, 0> + BIT_FIELD_REF <b, 128, 0>};
so the only vector support was GCCs generic vectors (and intrinsics). The
generated code is far from perfect though. I also think llvms code
generation is bogus since it appears the ABI does not guarantee zeroed
upper elements of the xmm0 argument which means they could contain sNaNs:
typedef float ss2 __attribute__((vector_size(8)));
typedef float ss4 __attribute__((vector_size(16)));
ss2 add2(ss2 a, ss2 b);
void bar(ss4 a)
{
volatile ss2 x;
x = add2 ((ss2){a[0], a[1]}, (ss2){a[0], a[1]});
}
produces
bar:
.LFB1:
.cfi_startproc
subq $56, %rsp
.cfi_def_cfa_offset 64
movdqa %xmm0, %xmm1
call add2
movq %xmm0, 24(%rsp)
addq $56, %rsp
which means we pass through 'a' unchanged.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2020-04-21 7:37 ` rguenth at gcc dot gnu.org
@ 2020-04-21 8:18 ` bisqwit at iki dot fi
2020-04-21 8:23 ` jakub at gcc dot gnu.org
` (13 subsequent siblings)
18 siblings, 0 replies; 19+ messages in thread
From: bisqwit at iki dot fi @ 2020-04-21 8:18 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
--- Comment #15 from Joel Yliluoma <bisqwit at iki dot fi> ---
(In reply to Richard Biener from comment #14)
> I also think llvms code generation is bogus since it appears the ABI
> does not guarantee zeroed upper elements of the xmm0 argument
> which means they could contain sNaNs:
Why would it matter that the unused portions of the register contain NaNs?
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2020-04-21 8:18 ` bisqwit at iki dot fi
@ 2020-04-21 8:23 ` jakub at gcc dot gnu.org
2020-04-21 8:29 ` rguenther at suse dot de
` (12 subsequent siblings)
18 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-04-21 8:23 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #16 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Joel Yliluoma from comment #15)
> (In reply to Richard Biener from comment #14)
> > I also think llvms code generation is bogus since it appears the ABI
> > does not guarantee zeroed upper elements of the xmm0 argument
> > which means they could contain sNaNs:
>
> Why would it matter that the unused portions of the register contain NaNs?
Because it could then raise exceptions that shouldn't be raised?
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2020-04-21 8:23 ` jakub at gcc dot gnu.org
@ 2020-04-21 8:29 ` rguenther at suse dot de
2020-04-21 8:32 ` jakub at gcc dot gnu.org
` (11 subsequent siblings)
18 siblings, 0 replies; 19+ messages in thread
From: rguenther at suse dot de @ 2020-04-21 8:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
--- Comment #17 from rguenther at suse dot de <rguenther at suse dot de> ---
On Tue, 21 Apr 2020, jakub at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
>
> Jakub Jelinek <jakub at gcc dot gnu.org> changed:
>
> What |Removed |Added
> ----------------------------------------------------------------------------
> CC| |jakub at gcc dot gnu.org
>
> --- Comment #16 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> (In reply to Joel Yliluoma from comment #15)
> > (In reply to Richard Biener from comment #14)
> > > I also think llvms code generation is bogus since it appears the ABI
> > > does not guarantee zeroed upper elements of the xmm0 argument
> > > which means they could contain sNaNs:
> >
> > Why would it matter that the unused portions of the register contain NaNs?
>
> Because it could then raise exceptions that shouldn't be raised?
Note it might be llvm actually zeros the upper half at the caller
(in disagreement with GCC). Maybe also the psABI specifies that
should happen and GCC is wrong. Just at the moment interoperating
GCC and LLVM is prone to the above mentioned issue.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
` (6 preceding siblings ...)
2020-04-21 8:29 ` rguenther at suse dot de
@ 2020-04-21 8:32 ` jakub at gcc dot gnu.org
2020-04-21 8:33 ` jakub at gcc dot gnu.org
` (10 subsequent siblings)
18 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-04-21 8:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
--- Comment #18 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Note, we could do movq %xmm0, %xmm0; movq %xmm1, %xmm1; addpd %xmm1, %xmm0 for
the #c4 first function.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
` (7 preceding siblings ...)
2020-04-21 8:32 ` jakub at gcc dot gnu.org
@ 2020-04-21 8:33 ` jakub at gcc dot gnu.org
2020-04-21 8:34 ` bisqwit at iki dot fi
` (9 subsequent siblings)
18 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-04-21 8:33 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hjl.tools at gmail dot com,
| |hubicka at gcc dot gnu.org,
| |matz at gcc dot gnu.org
--- Comment #19 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
CCing Micha and Honza on the ABI question.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
` (8 preceding siblings ...)
2020-04-21 8:33 ` jakub at gcc dot gnu.org
@ 2020-04-21 8:34 ` bisqwit at iki dot fi
2020-04-21 8:43 ` jakub at gcc dot gnu.org
` (8 subsequent siblings)
18 siblings, 0 replies; 19+ messages in thread
From: bisqwit at iki dot fi @ 2020-04-21 8:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
--- Comment #20 from Joel Yliluoma <bisqwit at iki dot fi> ---
(In reply to Jakub Jelinek from comment #16)
> (In reply to Joel Yliluoma from comment #15)
> > (In reply to Richard Biener from comment #14)
> > > I also think llvms code generation is bogus since it appears the ABI
> > > does not guarantee zeroed upper elements of the xmm0 argument
> > > which means they could contain sNaNs:
> >
> > Why would it matter that the unused portions of the register contain NaNs?
>
> Because it could then raise exceptions that shouldn't be raised?
Which exceptions would be generated by data in an unused portion of a register?
Does for example “addps” generate an exception if one or two of the operands
contains NaNs? Which instructions would generate exceptions?
I can only think of divps, when dividing by a zero, but it does not seem that
even LLVM compiles the two-element vector division into divps.
If the register is passed as a parameter to a library function, they would not
make judgments based on the values of the unused portions of the registers.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
` (9 preceding siblings ...)
2020-04-21 8:34 ` bisqwit at iki dot fi
@ 2020-04-21 8:43 ` jakub at gcc dot gnu.org
2020-04-21 8:47 ` rguenther at suse dot de
` (7 subsequent siblings)
18 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-04-21 8:43 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
--- Comment #21 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Joel Yliluoma from comment #20)
> Which exceptions would be generated by data in an unused portion of a
> register?
addps adds 4 float elements, there is no "unused" portion.
If some of the elements contain garbage, it can trigger for e.g. the addition
FE_INVALID, FE_OVERFLOW, FE_UNDERFLOW or FE_INEXACT (FE_DIVBYZERO obviously
isn't relevant to addition).
Please read the standard about floating point exceptions, fenv.h etc.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
` (10 preceding siblings ...)
2020-04-21 8:43 ` jakub at gcc dot gnu.org
@ 2020-04-21 8:47 ` rguenther at suse dot de
2020-04-21 8:51 ` bisqwit at iki dot fi
` (6 subsequent siblings)
18 siblings, 0 replies; 19+ messages in thread
From: rguenther at suse dot de @ 2020-04-21 8:47 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
--- Comment #22 from rguenther at suse dot de <rguenther at suse dot de> ---
On Tue, 21 Apr 2020, jakub at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
>
> Jakub Jelinek <jakub at gcc dot gnu.org> changed:
>
> What |Removed |Added
> ----------------------------------------------------------------------------
> CC| |hjl.tools at gmail dot com,
> | |hubicka at gcc dot gnu.org,
> | |matz at gcc dot gnu.org
>
> --- Comment #19 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> CCing Micha and Honza on the ABI question.
The arguments are class SSE (__m64), but I fail to find clarification
as to whether "unused" parts of argument registers (the SSEUP part
of the %xmmN register) is supposed to be zeroed or has unspecified
contents.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
` (11 preceding siblings ...)
2020-04-21 8:47 ` rguenther at suse dot de
@ 2020-04-21 8:51 ` bisqwit at iki dot fi
2020-04-21 8:58 ` jakub at gcc dot gnu.org
` (5 subsequent siblings)
18 siblings, 0 replies; 19+ messages in thread
From: bisqwit at iki dot fi @ 2020-04-21 8:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
--- Comment #23 from Joel Yliluoma <bisqwit at iki dot fi> ---
(In reply to Jakub Jelinek from comment #21)
> (In reply to Joel Yliluoma from comment #20)
> > Which exceptions would be generated by data in an unused portion of a
> > register?
>
> addps adds 4 float elements, there is no "unused" portion.
> If some of the elements contain garbage, it can trigger for e.g. the addition
> FE_INVALID, FE_OVERFLOW, FE_UNDERFLOW or FE_INEXACT (FE_DIVBYZERO obviously
> isn't relevant to addition).
> Please read the standard about floating point exceptions, fenv.h etc.
There is “unused” portion, for the purposes of the data use. Same as with
padding in structs; the memory is unused because no part in program relies on
its contents, even though the CPU may load those portions in registers when
e.g. moving and copying the struct. The CPU won’t know whether it’s used or
not.
You mention FE_INVALID etc., but those are concepts within the C standard
library, not in the hardware. The C standard library will not make judgments on
the upper portions of the register. So if you have two float[2]s, and you add
them together into another float[2], and the compiler uses addps to achieve
this task, what is the mechanism that would supposedly generate an exception,
when no part in the software depends and makes judgments on the irrelevant
parts of the register?
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
` (12 preceding siblings ...)
2020-04-21 8:51 ` bisqwit at iki dot fi
@ 2020-04-21 8:58 ` jakub at gcc dot gnu.org
2020-04-21 9:06 ` bisqwit at iki dot fi
` (4 subsequent siblings)
18 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-04-21 8:58 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
--- Comment #24 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Bugzilla is not the right place to educate users. Of course the C FE_*
exceptions map to real hardware exceptions, on x86 read e.g. about MXCSR
register and in the description of each instruction on which Exceptions it can
raise.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
` (13 preceding siblings ...)
2020-04-21 8:58 ` jakub at gcc dot gnu.org
@ 2020-04-21 9:06 ` bisqwit at iki dot fi
2021-08-16 21:29 ` pinskia at gcc dot gnu.org
` (3 subsequent siblings)
18 siblings, 0 replies; 19+ messages in thread
From: bisqwit at iki dot fi @ 2020-04-21 9:06 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
--- Comment #25 from Joel Yliluoma <bisqwit at iki dot fi> ---
(In reply to Jakub Jelinek from comment #24)
> on x86 read e.g. about MXCSR register and in the description of each
> instruction on which Exceptions it can raise.
So the quick answer to #15 is that addps instruction may raise exceptions. Ok,
thanks for clearing that up. My bad. So it seems that LLVM relies on the
assumption that the upper portions of the register are zeroed, and this is what
you said in the first place.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
` (14 preceding siblings ...)
2020-04-21 9:06 ` bisqwit at iki dot fi
@ 2021-08-16 21:29 ` pinskia at gcc dot gnu.org
2021-08-16 21:29 ` [Bug tree-optimization/31485] " pinskia at gcc dot gnu.org
` (2 subsequent siblings)
18 siblings, 0 replies; 19+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-08-16 21:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
--- Comment #26 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note there might be a dup of this bug somewhere too.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
` (15 preceding siblings ...)
2021-08-16 21:29 ` pinskia at gcc dot gnu.org
@ 2021-08-16 21:29 ` pinskia at gcc dot gnu.org
2022-02-07 8:48 ` rguenth at gcc dot gnu.org
2023-10-01 18:45 ` pinskia at gcc dot gnu.org
18 siblings, 0 replies; 19+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-08-16 21:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|rtl-optimization |tree-optimization
--- Comment #27 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
And there are two issues here, one is related to SLP not happening and the
other deals with the argument and return value passing.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
` (16 preceding siblings ...)
2021-08-16 21:29 ` [Bug tree-optimization/31485] " pinskia at gcc dot gnu.org
@ 2022-02-07 8:48 ` rguenth at gcc dot gnu.org
2023-10-01 18:45 ` pinskia at gcc dot gnu.org
18 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-02-07 8:48 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tnfchris at gcc dot gnu.org
--- Comment #28 from Richard Biener <rguenth at gcc dot gnu.org> ---
*** Bug 104406 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity
[not found] <bug-31485-4@http.gcc.gnu.org/bugzilla/>
` (17 preceding siblings ...)
2022-02-07 8:48 ` rguenth at gcc dot gnu.org
@ 2023-10-01 18:45 ` pinskia at gcc dot gnu.org
18 siblings, 0 replies; 19+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-10-01 18:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
--- Comment #29 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630011.html
^ permalink raw reply [flat|nested] 19+ messages in thread