IBM Support

IZ45789: ISSUES WITH 64 BIT ADD OPERATION AT -O2

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The following test case abends at runtime when compiled with the
    following options:
    
    /* compile with xlc -q64 -O */
    
    int index[10];
    int n = 10;
    int forward=0;
    
    main () {
      int i, start, end, step;
      if (forward)
      {
        start=0; end=10; step=1;
      } else {
        start=n-1; end=-1; step=-1;
      }
      for (i=start; i != end; i+=step)
        index[(unsigned int) i] = i;
    }
    

Local fix

  • Using the type 'long' instead of 'int' for the variables in 64
    bit will help work around this issue.
    

Problem summary

  • Users using -q64 and -O2 and higher with
    certain loops with 'int' loop indicies and runtime
    computed bounds (not contants) maybe affected by this issue.
    
    The compiler generates incorrect code that
    will often lead to a SEGV.  The problem is in the
    'Reassociation' optimization when zero extension is being done.
    

Problem conclusion

  • Fixed reassociation to be smarter when
    zero extension is being done.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IZ45789

  • Reported component name

    XLC C++ AIX

  • Reported component ID

    5724S7100

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-03-12

  • Closed date

    2009-06-25

  • Last modified date

    2009-07-21

Fix information

  • Fixed component name

    XL C AIX

  • Fixed component ID

    5724S7000

Applicable component levels

[{"Line of Business":{"code":"LOB08","label":"Cognitive Systems"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSJT9L","label":"XL C\/C++"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0"}]

Document Information

Modified date:
03 October 2021