× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Well I can't find any documentation on the Power 7 instruction set - but there is documentation on the older Power 2 and 4 hardware which (as I suggested earlier) appear to have + and <> branch options.

Not that it matters but RPGIII generates pretty much the same instructions for both scenario. We can't look at RPG IV - just a hardware dump of the instruction stream which I could not interpret and have no desire to learn to do so since I could do little with that knowledge.

Here's what is generated for the RPG code shown:

CMPBLA(B) *IN01,C'1' /NEQ(.ELF0001) <=== *IN01 IFEQ *ON

CMPBLA(B) *IN01,C'1' /EQ( .ELF0002) <=== *IN01 IFNE *ON

CMPBLA(B) *IN01,C'0' /NEQ(.ELF0003) <=== *IN01 IFEQ *OFF

Note that even though we can see the MI we can't see the machine instructions (although here are people on this list who could) But this is what was generated for the S/38, and the AS/400 and the i5, and ... all the way up to today's Power 7 - which is what I used. Yet each of those had different hardware so the instruction set (as a minimum between CICS and RISC and Power) was different.

At the end of the day optimizing at this level is futile because one tiny little hardware or microcode change and all bets are off.



On 2013-10-04, at 6:58 PM, Glenn Gundermann <ggundermann@xxxxxx> wrote:

Hi Alan,

I appreciate "I think" but I was looking for more of a definitive answer.

Perhaps the "if not" is just a different instruction as "if" by itself.

Is this similar to asking: does "if a = b" take the same number of instructions as "if a <> b"?

Just wondering.

Thanks,

Glenn

-----Original Message-----
From: Alan Campin <alan0307d@xxxxxxxxx>
Sender: rpg400-l-bounces@xxxxxxxxxxxx
Date: Fri, 4 Oct 2013 16:38:02
To: RPG programming on the IBM i (AS/400 and iSeries)<rpg400-l@xxxxxxxxxxxx>
Reply-To: "RPG programming on the IBM i \(AS/400 and iSeries\)" <rpg400-l@xxxxxxxxxxxx>
Subject: Re: If boolean vs. If not boolean

If you mean machine instructions, the second would generate more to reverse
the value of logical true or false I would think.

Why would it matter? A couple of nanoseconds.




On Fri, Oct 4, 2013 at 3:25 PM, Glenn Gundermann <ggundermann@xxxxxx> wrote:

Hi gurus,

Forgive the trivialness of this question but I am wondering if you smart
folks can answer this.

Compare these two statements:

If booleanVar;
If not booleanVar;

Do both of these take the exact same number of internal instructions for
the test or does the second statement take an extra step?

Thanks.

Glenn Gundermann


--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.


Jon Paris

www.partner400.com
www.SystemiDeveloper.com





As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.