Skip to Main Content
IBM Z Software


This portal is to open public enhancement requests against IBM Z Software products. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Not under consideration
Categories C/C++
Created by Guest
Created on May 10, 2016

Raise a severe error if an unknown instruction is generated

If the Compiler/Optimizer generates an invalid unknown instruction (UNKWN), it have to raise a Severe Error.

The assembly list shows unknown ?UNKWN? instructions:

000027 | ALRK r8,r7,r9
000027 | UNKWN r15,r3
000027 | UNKWN r8,r6
000027 | C r0,s.uwsGrundlId(r4,r15,3656)

see also PMR 60902,660,706 (for XL c/c++ Compiler).

Thank you, Patrick

Idea priority Low
  • Guest
    Reply
    |
    Jan 9, 2017

    Hi, the reason why this is a duplicate of RFE 88095 is because both the C/C++ and PL/I compilers share the same backend component that would have needed to be modified.

  • Guest
    Reply
    |
    Jan 5, 2017

    Please explain: Why has this RFE been closed? In my opinion it is _not_ a duplicate. RFE 88095 is for PL/1 Compiler. This one is for C/C++-Compiler!

  • Guest
    Reply
    |
    Jan 3, 2017

    This RFE is a duplicate of RFE 88095.

    As mentioned in RFE 88095, the main issue is the increased compile time that this change would add. The RFE is being marked a dup of RFE 88095 (which has been rejected).

  • Guest
    Reply
    |
    Dec 5, 2016

    First, it will be the best way, to avoid unknown instructions.
    The Compilierlisting scan for UKNWN is to much overhead for us too.

    But, if you detect (in any way) a unknown instruction (for example, at generating the Assembly list) please stop the compile.

    The Assembly list generator (or before) have to signal the compiler to stop if it detects unknown instruction. But i don't know about the internally compiler process so there may be better ways...

  • Guest
    Reply
    |
    Sep 12, 2016

    The suggested capability has a worst case cost and space performance proportional to the number of instructions.
    This cost is paid by the end user regardless if compiler has generated bad code, a.k.a. UNKWN instruction.

    Therefore we believe compiler should only implement such capability under an option.

    We believe it's hard to justify all our clients to use this option and pay the extra MIPS, to stop on some error that may or may not happen.
    We have done the root cause analysis, and we believe the product will be in a better position if we worked on avoiding generation of UKNWN instruction altogether.

    Therefore, we would like to see if you'd be open to adding a check in your build process.

    We suggest the following option:
    -Request a compiler listing and grep for UNKWN
    Time + space cost
    *If you are compiling NOOPT, most of the CPU time used by the compiler will be spent in generating the LIST file. The time/space cost reduces as optimization level increases.

    Please let us know if this is acceptable.

  • Guest
    Reply
    |
    Jul 1, 2016

    Maybe.

    If you are 100% sure it will never again in any possible situation to generate UNKWN instructions, then this is ok for me.

    But if there is a little possibility that in any way it may generate UNKWN instructions, please implement to stop the compiler.

  • Guest
    Reply
    |
    Jun 29, 2016

    We intend to fix the compiler from generating UNKWN altogether (instead of issuing an error message everytime it does). Please let us know if you have any concerns with that?