This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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-


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]