Seongbae Park (박성배, 朴成培) wrote:
> On Thu, Mar 13, 2008 at 11:31 AM, Joel Sherrill
> <[EMAIL PROTECTED]> wrote:
>
>> Hi,
>>
>> Moving on the SPARC, I see a lot of similar
>> unsupported instruction failures. I only
>> see a single sparc feature test. It is for
>> "-multrasparc -mvis" and it is actually
>> passing on the sparc instruction simulator in
>> gdb. It doesn't make me feel good that this
>> part passes since I thought SIS was a vanilla
>> V7 simulator. I think this test isn't tight enough:
>>
>> proc check_effective_target_ultrasparc_hw { } {
>> return [check_runtime ultrasparc_hw {
>> int main() { return 0; }
>> } "-mcpu=ultrasparc"]
>> }
>>
>> For sure though, SIS does NOT support VIS and
>> there is no test for that. This leads to this:
>>
>> Starting program:
>> /home/joel/work-gnat/svn/b-gcc1-sparc/gcc/testsuite/gcc/pr18400.exe
>> Unexpected trap (0x 2) at address 0x02001318
>> illegal instruction
>>
>> Program exited normally.
>> (gdb) disassemble 0x02001318
>> Dump of assembler code for function check_vect:
>> ...
>> 0x02001318 <check_vect+20>: impdep1 62, %g0, %g0, %g0
>> ...
>>
>> Can someone familiar with VIS provide an instruction
>> that is OK to do a run-time test with to check if
>> it is supported?
>>
>
> I don't think there's any user level instruction/register to do that.
> You'll have to catch the illegal instruction trap :(
>
>
I have learned a lot the past few days so let me see if I can explain
what I have learned. :-D
Depending upon the test and target architecture, there are various
mechanisms to prevent the execution of code which is clearly not
supported on a particular target board/cpu (as opposed to the compiler
target).
+ many architectures check that a multilib flag is supported
+ Some do a run-time check. x86 uses cpuid and feature check
to avoid things at run-time
+ Some run a test and let it die on the target board. This is used
by Altivec and ARM Neon.
The last alternative is what will have to be done here. I just
need the single easiest VIS instruction to force the failure.
> Seongbae
>
--
Joel Sherrill, Ph.D. Director of Research & Development
[EMAIL PROTECTED] On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985