On 24/07/2013 8:19 AM, Charles Mills wrote:
_asm and or one of those pseudo-assembler/library routines like __tr() for
more machine instructions.

There's is no built-in for RLL. I've got a requirement with IBM for __asm() support. I'm hoping it's going to make it in z/OS 2.1.

Yes, overhead is definitely a negative for calls, especially if (like some
of us) you have not exactly gotten around to embracing XPLINK.

Even XPLINK is significantly slower than inline. While it saves time by not moving as much data when saving registers branching to the function usually results in a cache miss. It comes down to trade-offs and if you are micro optimizing code linkage overhead is significant.

Charles

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On
Behalf Of David Crayford
Sent: Tuesday, July 23, 2013 7:59 PM
To: [email protected]
Subject: Re: Is there a "reverse bits" hardware instruction?

There's a RLLG instruction to rotate the bits in a 64-bit integer. I know
that you want to call such a routine from C/C++. If you need to write
ffs64() in assembler you may find the linkage overhead of calling the
routine is far greater than a slower implementation that has been inlined.
It's about time IBM enhanced C/C++ to support __asm for non-Metal/C
compiles.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to