Port-mips archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

hardware FP on 64bit mips



Hello,

since mips64 now builds with MKSOFTFLOAT=no I've been playing with it
on my O2. Unsurprisingly there are problems. I keep seeing this:

Core was generated by `miniperl'.
Program terminated with signal SIGILL, Illegal instruction.
#0  0x100a19c0 in Perl_get_hash_seed ()
(gdb) disassemble 0x100a19c0
Dump of assembler code for function Perl_get_hash_seed:
...
   0x100a19b0 <+1008>:  jalr    t9
   0x100a19b4 <+1012>:  move    a0,s3
   0x100a19b8 <+1016>:  mul.d   $f0,$f0,$f22
   0x100a19bc <+1020>:  c.le.d  $f20,$f0
=> 0x100a19c0 <+1024>:  bc1fl   0x100a1998 <Perl_get_hash_seed+984>
   0x100a19c4 <+1028>:  trunc.w.d       $f0,$f0
   0x100a19c8 <+1032>:  sub.d   $f0,$f0,$f20
   0x100a19cc <+1036>:  trunc.w.d       $f0,$f0
   0x100a19d0 <+1040>:  mfc1    v0,$f0

STATUS is a400ff33, CAUSE is 80000028
if I read that correctly it says reserved instruction in delay slot, so
what faulted is
trunc.w.d       $f0,$f0

I have no idea why that would fault. if I read STATUS correctly it says
64bit userland access is allowed, we just took a userland exception,

so what am I missing?

have fun
Michael


Home | Main Index | Thread Index | Old Index