This is the mail archive of the gcc-help@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: how to make a long long


Sebastian Huber <sebastian-huber at web dot de> writes:

> On Saturday 22 February 2003 22:34, you wrote:
> > Sebastian Huber <sebastian-huber at web dot de> writes:
> > > Adrian Sandor <aditsu at yahoo dot com> schrieb am 22.02.03 16:44:50:
> > > > > what is wrong with
> > > > >
> > > > > unsigned long long i = ((0x0ULL | uint32high) << 32)
> > > > >
> > > > > | uint32low;
> > > > >
> > > > > ?
> > > >
> > > > this approach uses an OR between an unsigned long long
> >
> > OR often has the lowest latency and highest paralellism a cpu can
> >     offer. It is much simpler than, for example, add or increment.
> >
> > > > and an unsigned int, a SHIFT-LEFT on an unsigned long
> > > > long and another OR between 2 an unsigned long long
> > > > and an unsigned int;
> > > > I think these are too heavy calculations just for
> > > > putting 2 unsigned ints next to each other
> >
> > I doubt it. There have been a few microcontrollers for whom SHIFT-LEFT
> >     was/is expensive, but they are a minority.
> >
> > > C is not an assembly language. It's up to the compiler to generate
> > > optimized code.
> >
> > If you actually need optimized code, the programmer has to write it,
> >     regardless of the language. The compiler merely allows one to
> >     concentrate on the code that needs optimization most.
> 
> You should interpret my statement in view of this special problem.

I'm sorry, I've no idea what you mean by that. Which statement? What
    special problem?

> If you want 
> to play with bits in plain C your tools are limited.

This is true, but they are often adequate. (and frankly better than
    most non-assembler languages.) If you need assembler, use it, but
    know how to seperate such platform specific code from non-platform
    specific code.


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