This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] lower-subreg: Decompose multiword shifts
Hello,
> For starters, some targets have 16 bits wide int so your testcase will
> fail there with excess errors. Since your shift counts and constants in the
> testcase assume 32 bits for u32 and 64 bits for u64, you should use the
> stdint.h types because they work on all targets.
But I don't want to test 32 shifts on *all* targets. I just wanted it
on targets where a register is 32 bits wide. And yes I completely
forgot to limit the testcase to those. I'll restrict the testcase to
ilp32 targets. Although this doesn't mean that a register is always 32
bit it at least disables the testcase for targets where it would fail.
> > considering that I need something as wide as register and something else with twice the size.
>
> Somewhat surpricingly, a fairly common 64-bit target such as x86_64 has a
> long long with a width of only 64 bits rather than the expected 128 bits. If
> you scanned the RTL dumps to check that the decomposition happened, x86_64
> would fail the testcase.
Yes I know and since it isn't easy to express a 128 bit integer data
type the testcase should be disabled for 64bit targets as well.
Bye,
-Andreas-