------- Comment #3 from brian dot e dot bliss at intel dot com 2009-08-12 21:29 ------- It doesn't look like the problem is confined to Intel64 code. Here's the IPF assembly for the GOMP_loop_dynamic_start call:
addp4 r15 = r14, r0 adds r14 = -24, r37 mov r39 = r16 ;; mov r40 = r15 addp4 r41 = 4294967294 - 0x100000000, r0 addl r42 = 1, r0 mov r43 = r14 adds r44 = -32, r37 br.call.sptk.many b0 = GOMP_loop_dynamic_start# The "addp" instruction clears bits 32:60 of the result. "adds" (14-byte sign-extended immediate form) should be used. -- brian dot e dot bliss at intel dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Bad Intel64 codegen for |Bad 64-bit codegen for |modified 39495 testcase |modified 39495 testcase http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40967