This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug testsuite/48727] FAIL: g++.dg/opt/devirt2.C scan-assembler-times xyzzy 2
- From: "ro at CeBiTec dot Uni-Bielefeld.DE" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 7 Jul 2011 13:05:06 +0000
- Subject: [Bug testsuite/48727] FAIL: g++.dg/opt/devirt2.C scan-assembler-times xyzzy 2
- Auto-submitted: auto-generated
- References: <bug-48727-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48727
--- Comment #5 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> 2011-07-07 13:04:18 UTC ---
> --- Comment #4 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-07-06 19:15:49 UTC ---
>> This also fails on 32-bit Solaris/SPARC with Sun as, which has:
>>
>> sethi %hi(_ZN1S5xyzzyEv), %g1
>> jmp %g1 + %lo(_ZN1S5xyzzyEv)
>> sethi %hi(_ZN1S5xyzzyEv), %g1
>> jmp %g1 + %lo(_ZN1S5xyzzyEv)
>>
>> On the other hand, both 64-bit with Sun as and 32-bit with gas have
>>
>> call _ZN1S5xyzzyEv, 0
>> call _ZN1S5xyzzyEv, 0
>
> This is OK, these are the 2 forms of a direct tail call on the SPARC: sethi/jmp
> or call, depending on the capability of the assembler (HAVE_AS_RELAX_OPTION).
Then it's probably best to only look for
(jmp|call)[^\n]*xyzzy
on SPARC, and ignore the sethi, so the count still matches? Or, perhaps safer:
(sethi[^\n]*xyzzy[^\n]*\n)?[^\n]*(jmp|call)[^\n]*xyzzy
Rainer