<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">Patch-ID# 120759-08

NOTE:
***********************************************************************
READ THE TERMS OF THE AGREEMENT ("AGREEMENT") IN THE LEGAL_LICENSE.TXT
FILE CAREFULLY BEFORE USING THIS SOFTWARE. BY USING THE SOFTWARE, YOU
AGREE TO THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE
TERMS, PROMPTLY DESTROY THE UNUSED SOFTWARE.
***********************************************************************

Keywords: studio 11 x86 x64 backend yabe ube iropt ipo ir2hf fbe proflib
Synopsis: Sun Studio 11_x86: Sun Compiler Common patch for x86 backend
Date: Aug/21/2006


Install Requirements: NA                      
                      
Solaris Release: 8_x86 9_x86 10_x86

SunOS Release: 5.8_x86 5.9_x86 5.10_x86

Unbundled Product: Sun Studio 11 C, C++ and F90 compilers

Unbundled Release: 5.8

Xref: 

Topic: 

Relevant Architectures: i386

BugId's fixed with this patch: 5096093 5097244 6176492 6187220 6191560 6206415 6208139 6217220 6224054 6226789 6230629 6231316 6233852 6234451 6244624 6244923 6265644 6273539 6275471 6285859 6289012 6296362 6297880 6301304 6302163 6302340 6303687 6303849 6304052 6305134 6305457 6305511 6305594 6305663 6306747 6309081 6309147 6309337 6309890 6310719 6311748 6312188 6312222 6312237 6312346 6312647 6312694 6312939 6313008 6313238 6313534 6313833 6314129 6315756 6316913 6317097 6319380 6319734 6319750 6320205 6321200 6321989 6322243 6323483 6324196 6324519 6326299 6326345 6326947 6327939 6328323 6328734 6329892 6330065 6331308 6331886 6331917 6332109 6332110 6332112 6332196 6333204 6333960 6334811 6334955 6335666 6336173 6336188 6336244 6336647 6337304 6337842 6337853 6337863 6337891 6339559 6339794 6340061 6341270 6341790 6342810 6343029 6343061 6343208 6343678 6344110 6344567 6345274 6347002 6347478 6348126 6348722 6349163 6350032 6351952 6352177 6353151 6353355 6354978 6355207 6355601 6357634 6357662 6358012 6359579 6359586 6360722 6360887 6361331 6361488 6362500 6362599 6363765 6364393 6365029 6365085 6366850 6366932 6367745 6367784 6368762 6369932 6369950 6369962 6370250 6370370 6371381 6372230 6372803 6373132 6373172 6373710 6373769 6374211 6374613 6375200 6376039 6376232 6376319 6376818 6377978 6378327 6380194 6380340 6380845 6381204 6382078 6382111 6382125 6382133 6382579 6382654 6384450 6385088 6385587 6385812 6385977 6386084 6389596 6392089 6392095 6392474 6392549 6393330 6393589 6394055 6394094 6395037 6395951 6399235 6399240 6400423 6400969 6401212 6401750 6403138 6403230 6404968 6405126 6406327 6407361 6410211 6414853 6416524 6419203 6422698 6423491 6424362 6426719 6429342 6429999 6433780 6436895 6441957 6445301 6448049 6449111 6453103 6455238

Changes incorporated in this version: 6445301 6449111 6448049 6455238 6453103

Patches accumulated and obsoleted by this patch: 

Patches which conflict with this patch: 

Patches required with this patch: 

Obsoleted by: 

Files included with this patch: 

&lt;install_dir&gt;/SUNWspro/prod/bin/fbe
&lt;install_dir&gt;/SUNWspro/prod/bin/ipo
&lt;install_dir&gt;/SUNWspro/prod/bin/ir2hf
&lt;install_dir&gt;/SUNWspro/prod/bin/iropt
&lt;install_dir&gt;/SUNWspro/prod/bin/ube
&lt;install_dir&gt;/SUNWspro/prod/bin/ube_ipa 
&lt;install_dir&gt;/SUNWspro/prod/lib/amd64/libm.il
&lt;install_dir&gt;/SUNWspro/prod/lib/amd64/prof_lib.map
&lt;install_dir&gt;/SUNWspro/prod/lib/amd64/prof_lib.o
&lt;install_dir&gt;/SUNWspro/prod/lib/amd64/prof_tsd.map
&lt;install_dir&gt;/SUNWspro/prod/lib/amd64/prof_tsd.o
&lt;install_dir&gt;/SUNWspro/prod/lib/ipo/amd64/ipo_ld_support.so
&lt;install_dir&gt;/SUNWspro/prod/lib/ipo/ipo_ld_support.so
&lt;install_dir&gt;/SUNWspro/prod/lib/prof_lib.map
&lt;install_dir&gt;/SUNWspro/prod/lib/prof_lib.o
&lt;install_dir&gt;/SUNWspro/prod/lib/prof_tsd.map
&lt;install_dir&gt;/SUNWspro/prod/lib/prof_tsd.o
&lt;install_dir&gt;/SUNWspro/prod/lib/sys/libyabe.so

Problem Description:

6445301 bad code @ &gt;= -O1
6449111 Assert violation(at ube/cf/src/tv.c 503) in arithmetic constant folding package
6448049  Address error in struct when thread local storage is used on x86
6455238 Assembler syntax error near leaq instruction - "leaq 3(%r8,2),%rsi"
6453103 ube: error: Assert has been violated at '.../lang/ube/opt/src/cfg.c 10114'
 
(fr 120759-07)
 
6394055 compiler load the variable before taking the lock
6441957 &gt;=O2 not sign extending a signed short causing application SEGV
6426719 Oracle 10gR2 source file with default optimization gives an error in iropt (Studio 11,V40z,x64)
6334811 turn on the mem_merge optimization
6345274 ATG client failure due to bad immediate dominator info
6403230 -O1 failed to compile  "while ((handy -= len) &lt; 0) { ... }"
6429342 AMD64: Studio 11 iropt segv
6436895 undefined symbol with -xO4 -xbuiltin=%all -xipo=2; 1stF:20060524_mars_x86
 
(fr 120759-06)
 
6403138 ube: error: Bad template number found in tmpl_emit
6422698 FPE exception at all levels of optimization
6410211 assertion in ube/cf/src/simp.c 5512
6337853 ivp table overflows in large files
6414853 x64|x86: solaris|linux venus|mars-20.0 wrfv2.1.2 open source got assert failure in cse.c 1203
6393589 mars &amp; venus ube ran out of memory for a simple program
6406327 Intel: Significant increasing of file size limit needed for optimization
6419203 fp exception at -O2 and higher - studio11/opteron
6423491 AMD64: ube shifts arguments in parameter list in C++ code
6424362 FPE at &gt;-O1
6429999 The optimizer messes up structure parameter passing.
6433780 SunStudio 11 patch 120759-05 reintroduces the use of memcpy (removes fix for 6377978)
6404968 Assertion failed: file ../src/var_df.c, line 2699
6416524 compiler will optimize out loops
6407361 programs compiled with -xprofile=collect use too much memory during feedback generation
 
(fr 120759-05)
 
6362599 x64: fast implementation of sign fortran intrinsic
6399235 ube takes a SEGV
6399240 bad cse with VA_ARGS().
6401750 ube testsuite set.c failure
6386084 x86: 'Assert violation at ube/opt/src/cfg.c 4289' while compiling stylesheets app
6349163 new target arithmetic package
6244624 structure bitfields alignment is not used
6176492 Inlined templates need to be optimized under -xarch=amd64
6357662 Assertion at tv.c:464 while building ISV app mico
6359579 fortan test UNI_SYNTAX/701t35ae fail with assertion in simp.c
6355601 x64: venus-patch | mars-10.0: ISV_APPS pari-2.7.1 miscompared in run-time under -fast
6357634 Can skip saving/restoring of unused registers for try/catch block
6296362 crossfile does not work with iropt-prof
6217220 the existing lf_peep code (part 2)
6361331 Compiler failed to obey the restriction of -xarch=sse
6362500 mars compiler failed to generate binary code
6244923 IROPT doesn't add prefetch markings when doing microvectorization under -xvector=simd
6312237 Micro Vectorization: -xvector=simd doesn't microvectorize the simpliest testcase
6341790 ss11 ube fails at compilation with -xvector=simd option
6233852 reduce the lint time, properly lint ir2hf, sparc and linux builds.
6326345 turn on lint in intel-Linux makefiles after the fix for 6323281
6330065 consider and with immediate as a narrowing operator for conversion removal
6369950 x64: x86: mars-13.0 benchmark 564 got ube assertion failure under -fast -xipo=2
6370370 REG:tcom_026.c failed in mars b13 due to ube error "Unexpected expression encountered" in -fast
6371381 XOR operator unimplemented for -xvector=simd
6367784 ube segfault
6373710 x64: error in virtualization of physical register while expanding inline template
6373132 x64: do not combine 2 shifts into and if mask is 64 bit non-sign-extended
6374211 the latest mars compiles _mm_or_si128 into PXOR
6372803 Load data should use MOVDQU instead of MOVDQA &amp; CC should add _MM_SHUFFLE(fp3,fp2,fp1,fp0) to *.h
6375200 Use varargs correctly in template processing, tmpl.c
6367745 x64: stylesheets processor fails to build
6360722 x64: application fails to build with -fast -xipo=2 -g -xarch=amd64a
6370250 modena testcase core dumped during execution when compile with -xO3 and higher
6359586 Fortran test UNI_95/SYNTAX/909t918_1 fails
6369932 x64: x86: mars-13.0 benchmark 744 got ube assertion failure under -fast -xipo=2
6376232 X86: problem ARITHMETIC AND LOGICAL IFs for -f77 and -O2
6376818 AMD64: ube error  /cf/src/simp.c 8403
6355207 Micro Vectorization: not performed
6382579 ir2hf abort
6381204 Nullstone: Testing result of comparison
6231316 Sun C compiler doesn't replace call to jmp
6378327 assert in fall_thru.c on C++ source
6385977 x86: 'Fatal error in ube' while compiling bubalcc app
6369962 x86: mars-13.0 app got Arithmetic exception
6374613 x86: mars-14.0 benchmark 176.gcc got ube_ipa assertion failure ga_cp.c 1355
6336244 Nullstone: the loop is not unrolled
6342810 Not enough unrolling (regression vs Vulcan)
6389596 ube generates invalid assembly code
6392089 ube violated an assert when compiling t_ImageFilteredSubsample.c(sse2)
6382111 assert violates at ube/utils/src/feedback_read.c 1263 if -xprofile flag is used
6380845 ube is spinning in ul_unroll_loops() when using -xunroll=4
6392549 x86: mars-17.0 benchmark 744 got ube assert failure at simp.c 8403
6400969 assert in post_gen.c 706 while compiling spec
6382125 x86: replace 1/sqrt(x) with rsrtss(x)
6405126 assertion at tv.c:420
6380194 Wrong answer with -xO3 -xarch=amd64
6400423 optimizer has troubles w/ recursive routine
6392095 an important benchmark failed with gcc2ir on clpt1
6401212 benchmark slows down 28% with venus patch
6384450 gcc: incorout -xautopar -O3;
6385088 F90:-O4|5 gave incorrect output with 20060212_mars.1stF:20060130+sp_mars
6382654 gcc: iropt segfault -xipo=2 -O3; 1stF:20051220_gcc2ir
6393330 dealII produces incorrect result with -xipo=2 using sgcc
6392474 CC produces wrong result when -xO2 is used.
6395037 f90 8.2: iropt dependency check is broken.
 
 
(fr 120759-04)
 
6366932 mlib_ImageAdd_U8(amd64,sse2) core dumps with venus patch 01
6305663 x64: build with profile feedback fails with assertion in ube/inl/src/inl_inlineall.c 3229
6382133 assert violated at ube/inl/src/inl_inlineall.c 3230 compiling w/-xprofile=use
6395951 AMD64: Infinite loop in YABE's register allocator
6394094 Newly reinvoked aggr_replace() breaks mmx intrinsics
6382078 compiler uses too much virtual memory when building pygtk with -xO4
6343029 x64: float_test/dp5_4dim Assert violated at cgutils.c 2987
 
(fr 120759-03)
 
6380340 AMD64: compiler misses function exit with -xO3 code
6364393 OpenMP: -xarch=sse or -xarch=sse2 (-xtarget=opteron) leads to wrong application behaviour
6373769 x64: intesively used variables stored and loaded from memory inside the loop
6377978 SunStudio 11 on x86 machines may generate code with memcpy when optimizing array initialisations
6376039 Implement 64-bit integer intrinsics in yabe
6376319 Incorrect use of "orl" opcode, causing kernel panic
6305511 hashtable-based bit vector is too slow to iterate over (part 3)
6368762 ube_ipa: error: Not enough profile data
6385587 varargs: sign extend 32bit -&gt; 64bit to stack
6385812 AMD64: varargs: sign extend 32bit -&gt; 64bit to stack
6354978 sparc|x86|x64 venus-patch: benhchmark 614 failed in iropt
6373172 f90 7.1, 8.0, 8.1, 8.2: Incorrect CODEGEN IR TREE SYNTAX ERROR
6365085 UBE fails to compile ISV application with -xO2 only
6366932 mlib_ImageAdd_U8(amd64,sse2) core dumps with venus patch 01
6305663 x64: build with profile feedback fails with assertion in ube/inl/src/inl_inlineall.c 3229
6382133 assert violated at ube/inl/src/inl_inlineall.c 3230 compiling w/-xprofile=use
6395951 AMD64: Infinite loop in YABE's register allocator
6394094 Newly reinvoked aggr_replace() breaks mmx intrinsics
6382078 compiler uses too much virtual memory when building pygtk with -xO4
6343029 x64: float_test/dp5_4dim Assert violated at cgutils.c 2987
 
 
(fr 120759-02)
 
6312188  x86: application segfaults at runtime with -xO3 -Wd,-iropt-prof -xvector=simd -xprofile
6305134  compilation fails with -fast -iropt-prof on use
6343208  assert in lang/ube/opt/src/cfg.c:11189 at -xO2 if -iropt-prof is used
6206415  turn the quickfix for pbranch in fall_thru into a goodfix
6319750  x86: venus b17.0 icu-2.8 miscompared under -O 
6344110  optimizing huge inline functions on x86 does not scale 
6350032  bad object file pathname embedded in object file with -xprofile=collect on x86
6343061  Compiler generates incorrect code when compiled with optimization flags
6340061  ube_ipa: assert when accessing non-allocated node
6317097 ube asserts in dbg_gen when given nonstandard order of entry points
6326299 AMD64: incorrect constant folding/propagation
6348722 x64: mars-9.0 tcl-8.4.1 Seg faulted in execution time
6363765 ir2hf puts too much pressure on space manager
6361488 *x86* atanh(x) becomes asinh(x) with -xbuiltin=%all -O
6230629 x64: vulcan+patch 0215: benchmark 432 failed in run-time
6365029 Can skip saving/restoring of unused registers for try/catch block
6351952 Studio 11 incorrect argument passing in unoptimized code
6353355 implement tolower/toupper intrinsics
6372230 x86, ube, Assert has been violated at '.../ube/graphs/src/scregion.c 305' with using -xO* option
6358012 mlib_ImageDataTypeConvert (i386, sse2) test failure with venus patch 01
6366850 x86 compiler asserts when compiling MD5 code with -xO5
6360887 Compiler fails to compile src/bundled/app/inst/liveupgrade/liblu/lu_mem.c on x86
 
(fr 120759-01)
 
6309890 stlport test case fail during execution when compile with -O4 and -O5
6336188 C++ code looping in destructor of deque with -xO4 and above
6303849 Need new commentary messages for M-functions
6309337 incorout -xipo=2 -xO4 -xprofile=use; 1stF:20050524_venus
6311748 Studio 10 Update 1 beta C compiler bug with -O
6312694 3 parallel testcases produced duplicate inlined messages in venus but not in mars on x86
6316913 mlib_ImageColorHSL2RGB() (v9a) performance degraded under venus_patch.
6319734 incorrect constant propagation across omp parallel region
6324196 Code fails at runtime when compiled for 64-bit
6328734 cc 5.5, 5.6, 5.7: iropt hangs if a constant is set to a large value.
6333204 F90:-xparallel caused test to fail at runtime with 20051004_mars. 1stF:20050920_mars
6337304 sgcc: -O3 -xautopar gives incorrect output
6312647 missing load object records in asynchronous profile collection
6313534 error when profiling shared objects compiled using previous release of compiler
6347478 Optimizer SEGVs with -g and nested OpenMP parallel regions
6352177 Fatal error in iropt - core dump compiling test omp_chr_ac_union
 
5096093 Bad tripcount calculations with unsigned long long
5097244 x86 assembler gives poor error msg
6187220 vulcan ube internal error while compiling jp2k_jpc_encsigpass.c
6191560 mlib_MatrixAddS_S8_Mod (amd64) test failure under vulcan
6208139 Internal error in a2lf with missing .end inline template
6224054 AMD64: ube: ir2hf takes too long and too much memory to compile 76500 lines of code
6226789 AMD: Incorrect output -xO0 complex type argument
6234451 AMD64: ube internal error in "integ" test case
6265644 App compile-time performance regression ~300% starting with 050205 build
6273539 Unnecessary movswl instruction
6275471 UBE segfaults while compiling a file
6285859 X86 &amp; AMD64: Incorrect value REAL(COMPLEX z) for -O3 and higher
6289012 YABE: Truncated array index
6297880 Apps fail during runtime with -fast -xprofile=collect/use -xvector=simd
6301304 AMD64: -xprofile:collect/-xO0 results in generation of incorrect code
6302163 x86 as incorrectly flags reads of more than 16 bits from segment registers as illegal
6302340 x64: x86: venus-build15.0: benchmark 614 aborted in execution time
6303687 AMD64: Internal error. -O3 and higher using POINTER
6304052 Inline templates does not recognize sse3 instructions
6305457 assert at ube/translator/src/post_gen.c 2450 with -xlibmil and optimization lower that -xO3
6305594 x64: build with profile feedback fails with assertion at ube/opt/src/cfg.c 1991
6306747 REG: ube_ipa: error: SIGNAL: Segmentation Fault,ube_ipa failed for subs_07.c when -xO5 was used
6309081 tailcall used for non-tailcall function
6309147 venus build 16.1 produces incorrect REAL values when -xvector=simd and -KPIC options for x86 64
6310719 marked hidden globalized symbols for cross module inlining were dropped by ube
6312222 syntax error in asm file, using -Wu,-tc
6312346 Assert failure with -xvector=simd at iropt_microvec.c:656
6312939 x86: loop is not vectorized with -xvector=simd, stores of long words can be vectorized
6313008 C++ build -xarch=amd64 SEGVs in FBE
6313238 App fails (miscompares) with venus compiler on -xO1
6313833 ube's feedback access library routine __bpf_objfile_match() should allow inexact  pathnames
6314129 AMD64: Assert violated at'/set/venus/builds.intel-S2/nightly.Tue/intel-S2/lang/ube/opt/src/cfg.c 203
6315756 wrong comparison while using xO5
6319380 Assert @ ube/hf/src/sym.c 600
6320205 incorrect code generated for long long under -xO3 -xarch=amd64 -xvector=simd
6321200 Apps trigger ube assert ".../ssa.c 813" when compiled -xO2 -xprofile -xarch=amd64
6321989 bitfield optimization fails for -01 to -04
6322243 ube asserts when Apps are compiled "-xO4 -xprofile=use"
6323483 Misc clean up of template processing and hf_show
6324519 Abnormal stack resource consumption in Venus 18 Fortran code with -xarch=sse2 using yabe
6326947 Studio 10 X86 optimization internal error
6327939 optimizing huge inline functions on x86 does not scale
6328323 Memory leaks in UBE compiler
6329892 Studio 10 &amp; 11 (build 19) produces incorrect results with -xbuiltin=%all
6331308 using -Wu,-O~ to switching options off causes performance degradation
6331886 Fix FUNC_ACCESS feature and bugs found, make FUNC_ACCESS default for debug builds
6331917 ir2hf segfaults on linux for customers testcase
6332109 Yabe should free vla_table only once
6332110 Have YABE dump dbg_gen info as well when it is requested to dump SunIR
6332112 Only save and restore callee-saves registers if they are used in the routine being entered
6332196 AMD64: message  Wrong IR type: 44 arises while using max() on intervals
6333960 ube_ipa: fix bugs found by FUNC_ACCESS feature
6334955 lsqrt produces incorrect result when compiled with -xO1 under venus
6335666 remove SHF_LINK_ORDER bit from eh_frame section header in linux
6336173 section labels come out wrong for medium model
6336647 unnecessary use of idivl
6337842 fix er_checkpoint problems and coverage -Qoption ube -wt
6337863 compile speed is too slow
6337891 Adjustable dynamic lf nodes are killing the heap manager during lf_peep()
6339559 assert at 'lang/ube/a2lf/src/lft.c 556' compiling source with mmx templates
6339794 Over optimization of LONG_MIN
6341270 UBE: A2LF redundant MMX instruction generated
6343678 ube assert violation cfg.c 4133 when compiling without -g
6344567 Incorrect expansion of rolw to roll in a2lf
6347002 Provide SSE/SSE2/MMX integer vector intrinsic functions on x86/x64 C/C++ compile
rs
6348126 Incorrect attributes for STD_IX and STD_LX in machine_intel.tab
6353151 AMD64: Floating point stores cause bad assembly in medium model.

Patch Installation Instructions:
--------------------------------
For Solaris 8-9 releases, refer to the man pages for instructions on
using 'patchadd' and 'patchrm' scripts provided with Solaris.
Any other special or non-generic installation instructions should be
described below as special instructions.  The following example
installs a patch to a standalone machine:
 
     example# patchadd /var/spool/patch/106326-01
 
The following example removes a patch from a standalone system:
 
     example# patchrm 104945-02
 
For additional examples please see the appropriate man pages.
 
For Solaris 10 releases, Sun Studio 11 installer explicitly does a -G install,  therefore the
patches must be installed or removed with -G, also.
 
     example# patchadd -G /var/spool/patch/106326-01
     example# patchrm -G 104945-02

Special Install Instructions:
-----------------------------
 
======================================================================
 
CR 6364393 need a C++ frontend patch to pass -mt to backend, and 6377439 has been filed for this purpose. Before that bug was fixed by a C++ frontend patch, one can use the following option to pass the option manually to ube, when using the backend patch 120759 starting from version 120759-03 for correcting the problem stated in 6364393:
 
For C++/Fortran, add
-Qoption ube -mt  
 
For C, add
-Wu,-mt
to the compilation line.
 
========================================================================
To run cpu2006 test, we recommand to use the following frontend
patches together:
 
C compiler: 121016-02
C++ compiler: 121018-02
f90 compiler: 121020-02
========================================================================
Bug 6403138 fix needs also x86 C venus patch 121016-03 to go with the x86 backend patch 120759-06 or later patch versions.
========================================================================

README -- Last modified date:  Monday, August 21, 2006

</pre></body></html>