public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/103973] New: x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal
@ 2022-01-11 3:54 nekotekina at gmail dot com
2022-01-11 4:47 ` [Bug target/103973] " crazylht at gmail dot com
` (10 more replies)
0 siblings, 11 replies; 12+ messages in thread
From: nekotekina at gmail dot com @ 2022-01-11 3:54 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103973
Bug ID: 103973
Summary: x86: 4-way comparison of floats/doubles with spaceship
operator possibly suboptimal
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: nekotekina at gmail dot com
Target Milestone: ---
Hello, I may be missing something here but the generated code seems strange and
suboptimal. It looks like all 4 possible paths can use flags from a single
UCOMISD instruction, not calling it 3 times in worst case.
cmp4way(double, double):
ucomisd xmm0, xmm1
jp .L8
mov eax, 0
jne .L8
.L2:
ret
.L8:
comisd xmm1, xmm0
mov eax, -1
ja .L2
ucomisd xmm0, xmm1
setbe al
add eax, 1
ret
https://godbolt.org/z/j1j7G1MYP
#include <compare>
auto cmp4way(double a, double b)
{
return a <=> b;
}
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/103973] x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal
2022-01-11 3:54 [Bug target/103973] New: x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal nekotekina at gmail dot com
@ 2022-01-11 4:47 ` crazylht at gmail dot com
2022-01-11 4:49 ` crazylht at gmail dot com
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: crazylht at gmail dot com @ 2022-01-11 4:47 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103973
Hongtao.liu <crazylht at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |crazylht at gmail dot com
--- Comment #1 from Hongtao.liu <crazylht at gmail dot com> ---
(In reply to Ivan from comment #0)
> Hello, I may be missing something here but the generated code seems strange
> and suboptimal. It looks like all 4 possible paths can use flags from a
> single UCOMISD instruction, not calling it 3 times in worst case.
There're also COMISD which is defferent from UCOMISD as
---cut from intel sdm---------
The UCOMISD instruction differs from the COMISD instruction in that it signals
a SIMD floating-point invalid oper-
ation exception (#I) only when a source operand is an SNaN. The COMISD
instruction signals an invalid operation
exception only if a source operand is either an SNaN or a QNaN.
----cut end---------------------
And they're different in GCC rtl representation, that's why CSE doesn't helps
here.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/103973] x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal
2022-01-11 3:54 [Bug target/103973] New: x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal nekotekina at gmail dot com
2022-01-11 4:47 ` [Bug target/103973] " crazylht at gmail dot com
@ 2022-01-11 4:49 ` crazylht at gmail dot com
2022-01-11 4:55 ` pinskia at gcc dot gnu.org
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: crazylht at gmail dot com @ 2022-01-11 4:49 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103973
--- Comment #2 from Hongtao.liu <crazylht at gmail dot com> ---
W/ -ffast-math only one COMISD is used.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/103973] x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal
2022-01-11 3:54 [Bug target/103973] New: x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal nekotekina at gmail dot com
2022-01-11 4:47 ` [Bug target/103973] " crazylht at gmail dot com
2022-01-11 4:49 ` crazylht at gmail dot com
@ 2022-01-11 4:55 ` pinskia at gcc dot gnu.org
2022-01-11 5:09 ` nekotekina at gmail dot com
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-01-11 4:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103973
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
With -O2 -fno-trapping-math, we get:
ucomisd %xmm1, %xmm0
jp .L9
movl $0, %eax
jne .L9
ret
.p2align 4,,10
.p2align 3
.L9:
ucomisd %xmm0, %xmm1
ja .L12
ucomisd %xmm1, %xmm0
setbe %al
addl $1, %eax
ret
.p2align 4,,10
.p2align 3
.L12:
movl $-1, %eax
ret
With -O2 -fno-trapping-math -ffinite-math-only we get:
comisd %xmm1, %xmm0
je .L12
jb .L13
movl $1, %edx
movl $2, %eax
cmova %edx, %eax
ret
.p2align 4,,10
.p2align 3
.L12:
xorl %eax, %eax
ret
.p2align 4,,10
.p2align 3
.L13:
movl $-1, %eax
ret
The main reason is NaNs are interesting and trapping comparisons are also
interesting. Note LLVM does not implement trapping math at all which is why
their code gen is different too.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/103973] x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal
2022-01-11 3:54 [Bug target/103973] New: x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal nekotekina at gmail dot com
` (2 preceding siblings ...)
2022-01-11 4:55 ` pinskia at gcc dot gnu.org
@ 2022-01-11 5:09 ` nekotekina at gmail dot com
2022-01-11 8:52 ` rguenth at gcc dot gnu.org
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: nekotekina at gmail dot com @ 2022-01-11 5:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103973
--- Comment #4 from Ivan <nekotekina at gmail dot com> ---
So there is nothing to improve here? That's good to know, I suppose it can be
closed then.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/103973] x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal
2022-01-11 3:54 [Bug target/103973] New: x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal nekotekina at gmail dot com
` (3 preceding siblings ...)
2022-01-11 5:09 ` nekotekina at gmail dot com
@ 2022-01-11 8:52 ` rguenth at gcc dot gnu.org
2022-01-11 19:34 ` jakub at gcc dot gnu.org
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-01-11 8:52 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103973
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |missed-optimization
Last reconfirmed| |2022-01-11
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
Target| |x86_64-*-* i?86-*-*
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
We are lowering this to
return <retval> = TARGET_EXPR <D.8264, SAVE_EXPR <a> != SAVE_EXPR <b> ?
SAVE_EXPR <a> < SAVE_EXPR <b> ? less : SAVE_EXPR <b> < SAVE_EXPR <a> ? greater
: unordered : equivalent>>>;
I don't think we can elide the first ucomisd, but we should be able to CSE the
last (from the original quoted assembler), not sure if it ultimatively results
in better code though.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/103973] x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal
2022-01-11 3:54 [Bug target/103973] New: x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal nekotekina at gmail dot com
` (4 preceding siblings ...)
2022-01-11 8:52 ` rguenth at gcc dot gnu.org
@ 2022-01-11 19:34 ` jakub at gcc dot gnu.org
2022-01-11 19:46 ` jakub at gcc dot gnu.org
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-01-11 19:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103973
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #5)
> We are lowering this to
>
> return <retval> = TARGET_EXPR <D.8264, SAVE_EXPR <a> != SAVE_EXPR <b> ?
> SAVE_EXPR <a> < SAVE_EXPR <b> ? less : SAVE_EXPR <b> < SAVE_EXPR <a> ?
> greater : unordered : equivalent>>>;
>
> I don't think we can elide the first ucomisd, but we should be able to CSE
> the last (from the original quoted assembler), not sure if it ultimatively
> results in better code though.
Why we couldn't do that? It is true that GIMPLE starts with != comparison that
shouldn't raise exceptions if a or b is qNaN, but if one or both of the
operands is qNaN, then they will compare unequal and < comparison that should
raise exceptions if a or b is qNaN is done.
So, it would be nice if we could at gimple_isel or expansion or later pattern
recognize this and emit optimal code for it.
C testcase:
int
foo (double a, double b)
{
if (a == b)
return 0;
if (a < b)
return -1;
if (a > b)
return 1;
return 2;
}
We should have something like:
comisd %xmm0, %xmm1
jp 1f
movl $0, %eax
jne 2f
3:
ret
2:
sbbl %eax, %eax
andl $2, %eax
subl $1, %eax
ret
1:
movl $2, %eax
ret
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/103973] x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal
2022-01-11 3:54 [Bug target/103973] New: x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal nekotekina at gmail dot com
` (5 preceding siblings ...)
2022-01-11 19:34 ` jakub at gcc dot gnu.org
@ 2022-01-11 19:46 ` jakub at gcc dot gnu.org
2022-01-14 20:13 ` jakub at gcc dot gnu.org
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-01-11 19:46 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103973
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Perhaps add a new starship<mode>3 optab for it and pattern recognize it in
gimple_isel? Though that would most likely handle just the 0, -1, 1, 2 case
that <=> emits and not say other constants that one could get e.g. with the
(much less likely):
#include <compare>
int cmp4way(double a, double b)
{
auto c = a <=> b;
if (c == std::partial_ordering::equivalent) return 42;
if (c == std::partial_ordering::less) return 137;
if (c == std::partial_ordering::unordered) return -35;
return 139;
}
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/103973] x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal
2022-01-11 3:54 [Bug target/103973] New: x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal nekotekina at gmail dot com
` (6 preceding siblings ...)
2022-01-11 19:46 ` jakub at gcc dot gnu.org
@ 2022-01-14 20:13 ` jakub at gcc dot gnu.org
2022-01-17 12:41 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-01-14 20:13 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103973
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 52195
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52195&action=edit
gcc12-pr103973.patch
Untested fix.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/103973] x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal
2022-01-11 3:54 [Bug target/103973] New: x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal nekotekina at gmail dot com
` (7 preceding siblings ...)
2022-01-14 20:13 ` jakub at gcc dot gnu.org
@ 2022-01-17 12:41 ` cvs-commit at gcc dot gnu.org
2022-01-17 16:41 ` jakub at gcc dot gnu.org
2022-01-18 3:17 ` cvs-commit at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-01-17 12:41 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103973
--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:463d9108766dcbb6a1051985e6c840a46897fe10
commit r12-6637-g463d9108766dcbb6a1051985e6c840a46897fe10
Author: Jakub Jelinek <jakub@redhat.com>
Date: Mon Jan 17 13:39:05 2022 +0100
widening_mul, i386: Improve spaceship expansion on x86 [PR103973]
C++20:
#include <compare>
auto cmp4way(double a, double b)
{
return a <=> b;
}
expands to:
ucomisd %xmm1, %xmm0
jp .L8
movl $0, %eax
jne .L8
.L2:
ret
.p2align 4,,10
.p2align 3
.L8:
comisd %xmm0, %xmm1
movl $-1, %eax
ja .L2
ucomisd %xmm1, %xmm0
setbe %al
addl $1, %eax
ret
That is 3 comparisons of the same operands.
The following patch improves it to just one comparison:
comisd %xmm1, %xmm0
jp .L4
seta %al
movl $0, %edx
leal -1(%rax,%rax), %eax
cmove %edx, %eax
ret
.L4:
movl $2, %eax
ret
While a <=> b expands to a == b ? 0 : a < b ? -1 : a > b ? 1 : 2
where the first comparison is equality and this shouldn't raise
exceptions on qNaN operands, if the operands aren't equal (which
includes unordered cases), then it immediately performs < or >
comparison and that raises exceptions even on qNaNs, so we can just
perform a single comparison that raises exceptions on qNaN.
As the 4 different cases are encoded as
ZF CF PF
1 1 1 a unordered b
0 0 0 a > b
0 1 0 a < b
1 0 0 a == b
we can emit optimal sequence of comparions, first jp
for the unordered case, then je for the == case and finally jb
for the < case.
The patch pattern recognizes spaceship-like comparisons during
widening_mul if the spaceship optab is implemented, and replaces
those comparisons with comparisons of .SPACESHIP ifn which returns
-1/0/1/2 based on the comparison. This seems to work well both for the
case of just returning the -1/0/1/2 (when we have just a common
successor with a PHI) or when the different cases are handled with
various other basic blocks. The testcases cover both of those cases,
the latter with different function calls in those.
2022-01-17 Jakub Jelinek <jakub@redhat.com>
PR target/103973
* tree-cfg.h (cond_only_block_p): Declare.
* tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
* tree-cfg.c (cond_only_block_p): ... here. No longer static.
* optabs.def (spaceship_optab): New optab.
* internal-fn.def (SPACESHIP): New internal function.
* internal-fn.h (expand_SPACESHIP): Declare.
* internal-fn.c (expand_PHI): Formatting fix.
(expand_SPACESHIP): New function.
* tree-ssa-math-opts.c (optimize_spaceship): New function.
(math_opts_dom_walker::after_dom_children): Use it.
* config/i386/i386.md (spaceship<mode>3): New define_expand.
* config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
* config/i386/i386-expand.c (ix86_expand_fp_spaceship): New
function.
* doc/md.texi (spaceship@var{m}3): Document.
* gcc.target/i386/pr103973-1.c: New test.
* gcc.target/i386/pr103973-2.c: New test.
* gcc.target/i386/pr103973-3.c: New test.
* gcc.target/i386/pr103973-4.c: New test.
* gcc.target/i386/pr103973-5.c: New test.
* gcc.target/i386/pr103973-6.c: New test.
* gcc.target/i386/pr103973-7.c: New test.
* gcc.target/i386/pr103973-8.c: New test.
* gcc.target/i386/pr103973-9.c: New test.
* gcc.target/i386/pr103973-10.c: New test.
* gcc.target/i386/pr103973-11.c: New test.
* gcc.target/i386/pr103973-12.c: New test.
* gcc.target/i386/pr103973-13.c: New test.
* gcc.target/i386/pr103973-14.c: New test.
* gcc.target/i386/pr103973-15.c: New test.
* gcc.target/i386/pr103973-16.c: New test.
* gcc.target/i386/pr103973-17.c: New test.
* gcc.target/i386/pr103973-18.c: New test.
* gcc.target/i386/pr103973-19.c: New test.
* gcc.target/i386/pr103973-20.c: New test.
* g++.target/i386/pr103973-1.C: New test.
* g++.target/i386/pr103973-2.C: New test.
* g++.target/i386/pr103973-3.C: New test.
* g++.target/i386/pr103973-4.C: New test.
* g++.target/i386/pr103973-5.C: New test.
* g++.target/i386/pr103973-6.C: New test.
* g++.target/i386/pr103973-7.C: New test.
* g++.target/i386/pr103973-8.C: New test.
* g++.target/i386/pr103973-9.C: New test.
* g++.target/i386/pr103973-10.C: New test.
* g++.target/i386/pr103973-11.C: New test.
* g++.target/i386/pr103973-12.C: New test.
* g++.target/i386/pr103973-13.C: New test.
* g++.target/i386/pr103973-14.C: New test.
* g++.target/i386/pr103973-15.C: New test.
* g++.target/i386/pr103973-16.C: New test.
* g++.target/i386/pr103973-17.C: New test.
* g++.target/i386/pr103973-18.C: New test.
* g++.target/i386/pr103973-19.C: New test.
* g++.target/i386/pr103973-20.C: New test.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/103973] x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal
2022-01-11 3:54 [Bug target/103973] New: x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal nekotekina at gmail dot com
` (8 preceding siblings ...)
2022-01-17 12:41 ` cvs-commit at gcc dot gnu.org
@ 2022-01-17 16:41 ` jakub at gcc dot gnu.org
2022-01-18 3:17 ` cvs-commit at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-01-17 16:41 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103973
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/103973] x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal
2022-01-11 3:54 [Bug target/103973] New: x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal nekotekina at gmail dot com
` (9 preceding siblings ...)
2022-01-17 16:41 ` jakub at gcc dot gnu.org
@ 2022-01-18 3:17 ` cvs-commit at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-01-18 3:17 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103973
--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by hongtao Liu <liuhongt@gcc.gnu.org>:
https://gcc.gnu.org/g:5e26bf17220926d308d0e3bb82bae6e592d2e485
commit r12-6655-g5e26bf17220926d308d0e3bb82bae6e592d2e485
Author: liuhongt <hongtao.liu@intel.com>
Date: Tue Jan 18 10:45:10 2022 +0800
Adjust testcase for --target_board='unix{-m64\ -march=cascadelake}'
Change scan-assembler from "\tucomisd" to "\t\[v\]?ucomisd".
gcc/testsuite/ChangeLog:
PR target/103973
* g++.target/i386/pr103973-1.C: Change scan-assembler from
"\tucomisd" to "\t\[v\]?ucomisd".
* g++.target/i386/pr103973-11.C: Ditto.
* g++.target/i386/pr103973-13.C: Ditto.
* g++.target/i386/pr103973-15.C: Ditto.
* g++.target/i386/pr103973-3.C: Ditto.
* g++.target/i386/pr103973-5.C: Ditto.
* g++.target/i386/pr103973-7.C: Ditto.
* g++.target/i386/pr103973-9.C: Ditto.
* gcc.target/i386/pr103973-1.c: Ditto.
* gcc.target/i386/pr103973-11.c: Ditto.
* gcc.target/i386/pr103973-13.c: Ditto.
* gcc.target/i386/pr103973-15.c: Ditto.
* gcc.target/i386/pr103973-3.c: Ditto.
* gcc.target/i386/pr103973-5.c: Ditto.
* gcc.target/i386/pr103973-7.c: Ditto.
* gcc.target/i386/pr103973-9.c: Ditto.
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2022-01-18 3:17 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-11 3:54 [Bug target/103973] New: x86: 4-way comparison of floats/doubles with spaceship operator possibly suboptimal nekotekina at gmail dot com
2022-01-11 4:47 ` [Bug target/103973] " crazylht at gmail dot com
2022-01-11 4:49 ` crazylht at gmail dot com
2022-01-11 4:55 ` pinskia at gcc dot gnu.org
2022-01-11 5:09 ` nekotekina at gmail dot com
2022-01-11 8:52 ` rguenth at gcc dot gnu.org
2022-01-11 19:34 ` jakub at gcc dot gnu.org
2022-01-11 19:46 ` jakub at gcc dot gnu.org
2022-01-14 20:13 ` jakub at gcc dot gnu.org
2022-01-17 12:41 ` cvs-commit at gcc dot gnu.org
2022-01-17 16:41 ` jakub at gcc dot gnu.org
2022-01-18 3:17 ` cvs-commit at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).