在 2023/12/22 下午3:09, Xi Ruoyao 写道:
On Fri, 2023-12-22 at 11:44 +0800, chenglulu wrote:
在 2023/12/21 下午8:00, chenglulu 写道:
Sorry, I've been busy with something else these two days. I don't
think there's anything wrong with the code,
but I need to test the spec.:-)
Hi, Ruoyao:
After applying
On Fri, 2023-12-22 at 11:44 +0800, chenglulu wrote:
>
> 在 2023/12/21 下午8:00, chenglulu 写道:
> > Sorry, I've been busy with something else these two days. I don't
> > think there's anything wrong with the code,
> >
> > but I need to test the spec.:-)
>
> Hi, Ruoyao:
>
> After applying this patch
Hi Thomas,
On 2023/12/21 19:42, Thomas Schwinge wrote:
Hi!
On 2023-12-13T21:52:29+0100, I wrote:
On 2023-12-12T02:05:26+, "Zhu, Lipeng" wrote:
On 2023/12/12 1:45, H.J. Lu wrote:
On Sat, Dec 9, 2023 at 7:25 PM Zhu, Lipeng wrote:
On 2023/12/9 23:23, Jakub Jelinek wrote:
On Sat, Dec 09,
SPECCPU 2017 and SPECCPU 2006 successfully built and tested, and this
patch gives a 1.3% improvement in SPECCPU 2017 fprate on 3A6000, no
performance regression was found. This is an effective optimization and
looks good.
在 2023/12/15 下午4:57, Xi Ruoyao 写道:
We used a branch to load floating-po
> >
> >> (insn 20 19 23 2 (set (reg/v:DI 200 [ val+-4 ])
> >> (sign_extend:DI (subreg:SI (reg/v:DI 200 [ val+-4 ]) 4)))
> >> "/app/example.cpp":7:29 -1
> >> (nil))
>
> Haven't had chance to compile and look at it properly, but this subreg
> seems suspicious for MIPS, given the definit
>
> Note I think Andrews comment#7 in the PR is spot-on then, the issue
> isn't the bitfield inserts but the compare where combine elides
> the sign_extend in favor of a subreg. That's likely some wrongdoing
> in simplify-rtx in the context of WORD_REGISTER_OPERATIONS.
>
Yes. There are 2 problems
在 2023/12/21 下午8:00, chenglulu 写道:
Sorry, I've been busy with something else these two days. I don't
think there's anything wrong with the code,
but I need to test the spec.:-)
Hi, Ruoyao:
After applying this patch, spec2006 464.h264 ref will have a 6.4%
performance drop. So I'm going to
Hi Juzhe,
Thank you for your comprehensive comments.
Classifying theadvector intrinsics into 3 kinds is really important to make our
patchset more organized.
For 1) and 3), I will split out the patches soon and hope they will be merged
quickly.
For 2), according to the differences between vector
Tested x86_64-pc-linux-gnu, applying to trunk.
-- 8< --
As with 37722, we don't clean up the exception object if a computed goto
leaves a catch block, but we can warn about that.
PR c++/81438
gcc/cp/ChangeLog:
* decl.cc (poplevel_named_label_1): Handle leaving catch.
(c
This testcase was failing on uses of int8_t, int64_t, etc without
including .
gcc/testsuite/ChangeLog
* g++.dg/analyzer/placement-new-size.C: Include . Also
add missing newline to end of file.
---
gcc/testsuite/g++.dg/analyzer/placement-new-size.C | 3 ++-
1 file changed, 2 inser
> From: Jiufu Guo
> Date: Wed, 6 Dec 2023 17:27:58 +0800
> Hi,
>
> The issue mentioned in PR112525 would be able to be handled by
>
> updating dse.cc to treat arg_pointer_rtx similarly with frame_pointer_rtx.
>
> https://gcc.gnu.org/bu
This patch try to fix the bug when HAVE_ATOMIC_FETCH_ADD is
not defined in dec_waiting_unlocked function.
libgfortran/ChangeLog:
* io/io.h (dec_waiting_unlocked): Use
__gthread_rwlock_wrlock/__gthread_rwlock_unlock or
__gthread_mutex_lock/__gthread_mutex_unlock functions
2023-12-22 09:59 Feng Wang wrote:
Sorry for forgetting to add the patch version number. It should be [PATCH v8
2/3]
>Patch v8: Remove unused iterator and add newline at the end.
>Patch v7: Remove mode of const_int_operand and typo. Add
> newline at the end and comment at the begi
Machine description part is ok from my side.
But I don't know the plan of vector crypto.
I'd like to wait kito or Jeff to make sure we allow vector-crypto intrinsics as
part of GCC-14 release.
Thanks.
juzhe.zh...@rivai.ai
From: Feng Wang
Date: 2023-12-22 09:59
To: gcc-patches
CC: kito.cheng
Patch v8: Remove unused iterator and add newline at the end.
Patch v7: Remove mode of const_int_operand and typo. Add
newline at the end and comment at the beginning.
Patch v6: Swap the operator order of vandn.vv
Patch v5: Add vec_duplicate operator.
Patch v4: Add process of SEW=64 in RV3
Also the copy right is incorrect:
+;; Copyright (C) 2022-23 Free Software Foundation, Inc.
It should be:
Copyright (C) 2023 Free Software Foundation, Inc.
juzhe.zh...@rivai.ai
From: Feng Wang
Date: 2023-12-22 09:38
To: gcc-patches
CC: kito.cheng; jeffreyalaw; juzhe.zhong; Feng Wang
Subject: [
\ No newline at end of file
Still no new line in vector-iterator.md
juzhe.zh...@rivai.ai
From: Feng Wang
Date: 2023-12-22 09:38
To: gcc-patches
CC: kito.cheng; jeffreyalaw; juzhe.zhong; Feng Wang
Subject: [PATCH v7 2/3] RISC-V: Add crypto machine descriptions
Patch v7: Remove mode of const_int
Patch v7: Remove mode of const_int_operand and typo. Add
newline at the end and comment at the beginning.
Patch v6: Swap the operator order of vandn.vv
Patch v5: Add vec_duplicate operator.
Patch v4: Add process of SEW=64 in RV32 system.
Patch v3: Moidfy constrains for crypto vector.
Patc
+ (match_operand: 3 "const_int_operand"" i, i")]
UNSPEC_CRYPTO_VI)
+ (match_operand: 3 "const_int_operand" " i")] UNSPEC_CRYPTO_VI1)
I think we don't need to specify the mode for const_int_operand like we have
done for other RVV intrinsics s
+ (match_operand 5 "
Patch v6: Swap the operator order of vandn.vv.Make report riscv.exp with
"riscv-sim/-march=rv64gc/-mabi=lp64d/-mcmodel=medlow" is passed.
Patch v5: Add vec_duplicate operator.
Patch v4: Add process of SEW=64 in RV32 system.
Patch v3: Moidfy constrains for crypto vector.
Patch v2: Add crypto vecto
Tested x86_64-pc-linux-gnu, applying to trunk.
-- 8< --
We were getting sizeof... mangling wrong when the argument after
substitution was a pack expansion that is not a simple T..., such as
list... in variadic-mangle4.C or (A+1)... in variadic-mangle5.C. In the
former case we ICEd; in the latter
Tested x86_64-pc-linux-gnu, applying to trunk.
-- 8< --
Recently a mangling test failed on a target with no mangling alias support
because I hadn't updated the expected mangling, but it was still passing on
x86_64-pc-linux-gnu because of the alias for the old mangling. So let's
avoid these alias
Maybe use riscv_v ?
juzhe.zh...@rivai.ai
From: Jeff Law
Date: 2023-12-22 03:16
To: pan2.li; gcc-patches
CC: juzhe.zhong; yanzhang.wang; kito.cheng; richard.guenther; tamar.christina
Subject: Re: [PATCH v1] RISC-V: XFail the signbit-5 run test for RVV
On 12/20/23 19:25, pan2...@intel.com wr
On Thu, 23 Nov 2023 at 22:00, François Dumont wrote:
>
> libstdc++: [_Hashtable] Extend the small size optimization
>
> A number of methods were still not using the small size
> optimization which
> is to prefer an O(N) research to a hash computation as long as N is
> small.
>
>
On Thu, 23 Nov 2023 at 21:59, François Dumont wrote:
>
> libstdc++: [_Hashtable] Avoid redundant usage of rehash policy
>
> Bypass call to __detail::__distance_fwd and the check if rehash is
> needed when
> assigning an initializer_list to an unordered_multimap or
> unordered_multis
On Thu, 23 Nov 2023 at 21:59, François Dumont wrote:
>
> libstdc++: [_Hashtable] Fix some implementation inconsistencies
>
> Get rid of the different usages of the mutable keyword. For
> _Prime_rehash_policy methods are exported from the library, we need to
> keep their const q
On Thu, 23 Nov 2023 at 21:58, François Dumont wrote:
>
> libstdc++: [_Hashtable] Enhance/Add performance benches
This one is OK for trunk now, thanks.
I think this should wait for the next stage 1. It's a big patch
affecting the default -std mode (not just experimental C++20/23/26
material), and was first posted after the end of stage 1.
Do we really need the changes for versioned namespace? How much
difference does that extra member make to per
On Thu, 21 Dec 2023 at 21:26, Arsen Arsenović wrote:
>
> libstdc++-v3/ChangeLog:
>
> * include/Makefile.am: Install std/generator, bits/elements_of.h
> as freestanding.
> * include/Makefile.in: Regenerate.
> * include/bits/version.def: Add __cpp_lib_generator.
>
This version now sets DECL_NONADDRESSABLE_P, DECL_PADDING_P
and C_DECL_VARIABLE_SIZE and adds three new tests:
c23-tag-alias-7.c, c23-tag-composite-10.c, and
gnu23-tag-composite-5.c.
Martin
Support for constructing composite types for structs and unions
in C23.
gcc/c:
* c-typeck.c
On Thu, 21 Dec 2023 at 21:26, Arsen Arsenović wrote:
>
> libstdc++-v3/ChangeLog:
>
> * include/bits/ranges_util.h: Add missing
> include.
OK
> ---
> libstdc++-v3/include/bits/ranges_util.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/libstdc++-v3/include/bits/ranges
libstdc++-v3/ChangeLog:
* include/Makefile.am: Install std/generator, bits/elements_of.h
as freestanding.
* include/Makefile.in: Regenerate.
* include/bits/version.def: Add __cpp_lib_generator.
* include/bits/version.h: Regenerate.
* include/precompi
Hi,
This is v2 of my generators patch. It addresses Jonathans review
comments, but does not add more tests yet :-/
Original series:
https://inbox.sourceware.org/20231118195008.579211-1-ar...@aarsen.me/
Changes since v1:
- Uglify some symbols
- Convert _Is_generator concept to __is_generator CE
libstdc++-v3/ChangeLog:
* include/bits/ranges_util.h: Add missing
include.
---
libstdc++-v3/include/bits/ranges_util.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/libstdc++-v3/include/bits/ranges_util.h
b/libstdc++-v3/include/bits/ranges_util.h
index 185e46ec7a94..ad61a1
On Linux/x86_64,
23fee88f84873b0b8b41c8e5a9b229d533fb4022 is the first bad commit
commit 23fee88f84873b0b8b41c8e5a9b229d533fb4022
Author: Martin Uecker
Date: Tue Aug 15 14:58:32 2023 +0200
c23: tag compatibility rules for struct and unions
caused
FAIL: gcc.dg/gnu23-tag-4.c (test for exce
Hi.
This patch adds the support for the convert vector internal function.
I'll need to double-check that making the decl a register is necessary.
Thanks for the review.
From ca4b3606c853b3425cf4ef9e88fbd5939f0e8f7c Mon Sep 17 00:00:00 2001
From: Antoni Boucher
Date: Sat, 14 May 2022 17:24:29 -0400
On 12/21/23 14:12, Patrick Palka wrote:
On Sat, 16 Sep 2023, Jason Merrill wrote:
On 9/15/23 12:03, Patrick Palka wrote:
Bootstrapped and regtested on x86_64-pc-linux-gnu, does this look OK for
trunk?
OK.
Thanks a lot. Testing on cmcstl2 revealed that we don't maintain
visibility flags on
Hello Tulio Magno Quites Machado Filho via Gcc-patches,
Hope this email find you well. I come across your email in GCC community.
This is Michael Zhao and I am responsible for recruiting top-tier tech talent
for an internationally renowned tech giant.
Presently, we're seeking a Chief Compiler
> Am 21.12.2023 um 21:11 schrieb Andrew Pinski :
>
> This adds the documentation for cond_copysign and cond_len_copysign optabs.
> Also reorders the optabs.def to be in the similar order as how the internal
> function was done.
Ok
> gcc/ChangeLog:
>
>PR middle-end/112951
>* doc/md.t
This adds the documentation for cond_copysign and cond_len_copysign optabs.
Also reorders the optabs.def to be in the similar order as how the internal
function was done.
gcc/ChangeLog:
PR middle-end/112951
* doc/md.texi (cond_copysign): Document.
(cond_len_copysign): Like
On 12/21/23 12:35, Palmer Dabbelt wrote:
On Thu, 21 Dec 2023 11:18:22 PST (-0800), jeffreya...@gmail.com wrote:
On 12/20/23 11:41, Palmer Dabbelt wrote:
I couldn't find another way to set the default code model.
gcc/ChangeLog:
* config.gcc (RISC-V): Add --with-cmodel
* config/ris
On Dec 21, 2023, at 8:49 AM, Christophe Lyon wrote:
>
> While investigating possible race conditions in the GCC testsuites
> caused by bufferization issues, I wanted to investigate workarounds
> similar to GDB's READ1 [1], and I noticed it was not always possible
> to override EXPECT when running
On 12/21/23 10:52, Patrick Palka wrote:
On Thu, Dec 21, 2023 at 8:29 AM Patrick Palka wrote:
On Wed, 20 Dec 2023, Ken Matsui wrote:
This patch removes the testsuite_tr1.h dependency from g++.dg/ext/is_*.C
tests since the header is supposed to be used only by libstdc++, not
front-end. This a
On 12/20/23 20:01, Patrick Palka wrote:
On Wed, 20 Dec 2023, Jason Merrill wrote:
On 12/20/23 17:54, Patrick Palka wrote:
On Wed, 20 Dec 2023, Jason Merrill wrote:
On 12/20/23 17:07, Patrick Palka wrote:
Bootstrap and regtesting in progress on x86_64-pc-linux-gnu, does this
look OK for trun
ChangeLog:
PR bootstrap/112534
* Makefile.def (host-gettext): Set all_args_override="".
* Makefile.in: Regenerate.
* Makefile.tpl (all--args): Define as a helper macro for
computing extra arguments to make.
(all): Use all--args over args.
---
Hi,
Thi
On Thu, 21 Dec 2023 11:18:22 PST (-0800), jeffreya...@gmail.com wrote:
On 12/20/23 11:41, Palmer Dabbelt wrote:
I couldn't find another way to set the default code model.
gcc/ChangeLog:
* config.gcc (RISC-V): Add --with-cmodel
* config/riscv/riscv.h (TARGET_DEFAULT_CMODEL): U
On 12/20/23 11:41, Palmer Dabbelt wrote:
I couldn't find another way to set the default code model.
gcc/ChangeLog:
* config.gcc (RISC-V): Add --with-cmodel
* config/riscv/riscv.h (TARGET_DEFAULT_CMODEL): Use
TARGET_RISCV_DEFAULT_CMODEL
OK once its sniff tested.
jeff
On 12/20/23 19:25, pan2...@intel.com wrote:
From: Pan Li
This patch would like to XFail the signbit-5 run test case for
the RVV. Given the case has one limitation like "This test does not
work when the truth type does not match vector type." in the beginning
of the test file. Aka, the RVV
On Sat, 16 Sep 2023, Jason Merrill wrote:
> On 9/15/23 12:03, Patrick Palka wrote:
> > Bootstrapped and regtested on x86_64-pc-linux-gnu, does this look OK for
> > trunk?
>
> OK.
Thanks a lot. Testing on cmcstl2 revealed that we don't maintain
visibility flags on alias templates properly, and s
On 12/20/23 20:50, juzhe.zh...@rivai.ai wrote:
+ (and:VI
+ (match_operand:VI 3 "register_operand" "vr, vr, vr, vr")
+ (not:VI (match_operand:VI 4 "register_operand" "vr, vr, vr, vr")))
This order should be swapped like ARM SVE:
(define_expand "@cond_bic"
[(se
Hi.
This patch adds the ability to send const pointer as argument to a
function.
Thanks for the review.
From f53c4600d8103a5612e7de6cb8205cad37421074 Mon Sep 17 00:00:00 2001
From: Antoni Boucher
Date: Tue, 24 May 2022 17:44:53 -0400
Subject: [PATCH] libgccjit: Allow sending a const pointer as arg
While investigating possible race conditions in the GCC testsuites
caused by bufferization issues, I wanted to investigate workarounds
similar to GDB's READ1 [1], and I noticed it was not always possible
to override EXPECT when running 'make check'.
This patch adds the missing support in various M
Hi Julian,
On 20.09.23 13:44, Julian Brown wrote:
This patch adds support for 2D/3D memory copies for omp_target_memcpy_rect
and "target update", using AMD extensions to the HSA API. I've just
committed a version of this patch to the og13 branch, but this is the
mainline version.
Support is a
On Thu, Dec 21, 2023 at 8:29 AM Patrick Palka wrote:
>
> On Wed, 20 Dec 2023, Ken Matsui wrote:
>
> > This patch removes the testsuite_tr1.h dependency from g++.dg/ext/is_*.C
> > tests since the header is supposed to be used only by libstdc++, not
> > front-end. This also includes test code consi
The move to the output operand should use high register input operand.
PR target/113044
gcc/ChangeLog:
* config/i386/i386.md (*ashlqi_ext_1): Move from the
high register of the input operand.
(*qi_ext_1): Ditto.
gcc/testsuite/ChangeLog:
Hi.
This patch adds support for the -fsigned-char flag.
I'm not sure how to test it since I stumbled upon this bug when I found
this other bug (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107863)
which is now fixed.
Any idea how I could test this patch?
Thanks for the review.
From 45719be81ab71983
Hi.
Here's the updated patch.
Thanks.
On Thu, 2023-12-07 at 20:15 -0500, David Malcolm wrote:
> On Thu, 2023-12-07 at 17:34 -0500, Antoni Boucher wrote:
> > Hi.
> > This patch adds checks gcc_jit_block_add_assignment_op to make sure
> > it
> > is only ever called on numeric types.
> >
> > With th
Hi.
This patch allows comparing aligned integer types as equal.
There's a TODO in the code about whether we should check that the
alignment is equal.
What are your thoughts on this?
Thanks for the review.
From b1db2e31729876d313061a94c13b155bcd552c02 Mon Sep 17 00:00:00 2001
From: Antoni Boucher
On Wed, 20 Dec 2023, Ken Matsui wrote:
> This patch removes the testsuite_tr1.h dependency from g++.dg/ext/is_*.C
> tests since the header is supposed to be used only by libstdc++, not
> front-end. This also includes test code consistency fixes.
LGTM
>
> gcc/testsuite/ChangeLog:
>
> * g
On Thu, Dec 21, 2023 at 01:31:19PM +0100, Thomas Schwinge wrote:
> These three: implicitly, or explicit '#pragma omp declare target' etc.,
> or inside '#pragma omp begin declare target' region are the only OpenMP
> facilities to get things 'omp declare target'ed, right?
I think so.
> That doesn't
Hello-
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80755
Here is a short fix for the ICE in libcpp noted in the PR. Bootstrap +
regtest all languages on x86-64 Linux. Is it OK please? Thanks!
-Lewis
-- >8 --
In libcpp/files.cc, the function _cpp_has_header(), which implements
__has_include an
Hi Jakub!
On 2023-12-07T16:33:08+0100, Jakub Jelinek wrote:
> On Thu, Dec 07, 2023 at 04:09:04PM +0100, Thomas Schwinge wrote:
>> > Yeah, I believe we should in the omp_discover_* sub-pass handle with
>> > a help of a langhook automatically mark the guard variables (possibly
>> > iff the guarded
Sorry, I've been busy with something else these two days. I don't think
there's anything wrong with the code,
but I need to test the spec.:-)
在 2023/12/21 下午7:56, Xi Ruoyao 写道:
Ping :).
On Tue, 2023-12-12 at 14:47 +0800, Xi Ruoyao wrote:
The problem with peephole2 is it uses a naive sliding-
Ping :).
On Tue, 2023-12-12 at 14:47 +0800, Xi Ruoyao wrote:
> The problem with peephole2 is it uses a naive sliding-window algorithm
> and misses many cases. For example:
>
> float a[1];
> float t() { return a[0] + a[8000]; }
>
> is compiled to:
>
> la.local $r13,a
> la
Hi!
On 2023-12-13T21:52:29+0100, I wrote:
> On 2023-12-12T02:05:26+, "Zhu, Lipeng" wrote:
>> On 2023/12/12 1:45, H.J. Lu wrote:
>>> On Sat, Dec 9, 2023 at 7:25 PM Zhu, Lipeng wrote:
>>> > On 2023/12/9 23:23, Jakub Jelinek wrote:
>>> > > On Sat, Dec 09, 2023 at 10:39:45AM -0500, Lipeng Zhu wr
The testcase constructs a sequence of insns that are fully dead
and yet (due to forced options) are not removed as such. This
triggered a case where we would emit a meaningless reload for a
to-be-deleted insn.
We can't delete the insns first because that might disrupt the
iteration ranges. So th
As the PR notes, there was a cut-&-pasto in find_strided_accesses.
I've not been able to find a testcase that shows the problem.
Tested on aarch64-linux-gnu & pushed.
Richard
gcc/
PR target/112948
* config/aarch64/aarch64-early-ra.cc (find_strided_accesses): Fix
cut-&-pa
Alex Coplan writes:
> As the PR shows, there was nothing to prevent the ldp/stp pass from
> trying to move throwing insns, which lead to an RTL verification
> failure.
>
> This patch fixes that.
>
> Bootstrapped/regtested on aarch64-linux-gnu, OK for trunk?
>
> Thanks,
> Alex
>
> gcc/ChangeLog:
>
Pushed to r14-6776.
在 2023/12/19 下午4:43, chenxiaolong 写道:
gcc/ChangeLog:
* doc/extend.texi:According to the documents submitted earlier,
Two problems with function return types and using the actual types
of parameters instead of variable names were found and fixed.
---
Pushed to r14-6775.
Thank you so much!
在 2023/12/13 下午11:26, Jiajie Chen 写道:
Several typos have been found and fixed: missing semicolons, using
variable name instead of type, duplicate functions and wrong types.
gcc/ChangeLog:
* doc/extend.texi(__lsx_vabsd_di): remove extra `i' in nam
Why not just check the prefix is 'v'? I don't think xtheadvector able
to work with other vector stuffs like vector crypto or any other new
vector stuffs, then we don't need extra attribute.
On Thu, Dec 21, 2023 at 12:42 PM Jeff Law wrote:
>
>
>
> On 12/20/23 15:48, 钟居哲 wrote:
> > >> So rather th
Pushed to r14-6773.
在 2023/12/14 下午8:49, Jiahao Xu 写道:
When I attempt to enable vect_usad_char effective target for LoongArch,
slp-reduc-sad.c
and vect-reduc-sad*.c tests fail. These tests fail because the sad pattern
generates bad
code. This patch to fixed them, for sad patterns, use zero exp
Pushed to r14-6774.
在 2023/12/13 上午9:31, chenxiaolong 写道:
On LoongArch architecture, using the latest gcc14 in regression test,
it is found that the vector test cases in vector directory appear FAIL
entries with unmatched pointer types. In order to solve this kind of
problem, the type of the var
When working on evaluating x264 performance, I notice the best LMUL for such
case with -march=rv64gcv is LMUL = 2
LMUL = 1:
x264_pixel_8x8:
add a4,a1,a2
addia6,a0,16
vsetivlizero,4,e8,mf4,ta,ma
add a5,a4,a2
vle8.v v12,0(a6)
vle
Hi Julian,
On 20.12.23 22:29, Julian Brown wrote:
Thanks for review! Here's a new version of the patch which hopefully
addresses this round of comments.
Thanks for the patch. LGTM now.
Tobias
On Tue, 19 Dec 2023 16:41:54 +0100
Tobias Burnus wrote:
On 16.12.23 14:25, Julian Brown wrote:
Hi all,
This is the v2 patch for the wwwdocs change regarding to review.
If there is no objection, I will push this change next Tuesday.
Changes is v2:
- Remove RAO-INT from Grand Ridge
- Remove the mask register restriction for -mno-evex512
- Arrange the options alphabetically
- Other
76 matches
Mail list logo