This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC][ARM][PR67714] signed char is zero-extended instead of sign-extended
- From: Jim Wilson <jim dot wilson at linaro dot org>
- To: Kugan <kugan dot vivekanandarajah at linaro dot org>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Jeff Law <law at redhat dot com>
- Date: Tue, 12 Jan 2016 17:40:10 -0800
- Subject: Re: [RFC][ARM][PR67714] signed char is zero-extended instead of sign-extended
- Authentication-results: sourceware.org; auth=none
- References: <56949BBA dot 60006 at linaro dot org> <CABXYE2Ww6PXrK8pfoUqWNn3-8dNM4qHwxgPaL8eNSStvJp_bNg at mail dot gmail dot com> <5695A414 dot 80401 at linaro dot org>
On Tue, Jan 12, 2016 at 5:10 PM, Kugan
<kugan.vivekanandarajah@linaro.org> wrote:
> Yes, making PROMOTE_MODE to work the same way as in
> promote_function_mode in arm will fix this. Can you please point me to
> the test cases that are regressing so that I can also start looking at them.
The info is in here
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65932
See the comments on gcc.target/arm/wmul-[123].c which no longer
generate smulbb etc instructions, which are 16x16=32 expanding
multiplies which are faster on some older parts that have them. They
are present in armv5e and higher architecture versions.
Kyrylo looked at this in November, but the situation looks even worse
now, as some of the redundant sign extends are gone even before the
first rtl pass. That may make it harder to get the smulbb
instructions back.
Jim