On 22 Jul 2006 20:58:16 -0700, Ian Lance Taylor <[EMAIL PROTECTED]> wrote:
> OK, patch is approved, with a ChangeLog entry, and assuming it passes
> the testsuite.
Thanks, here is a patch with a ChangeLog entry.
I can cross-build gcc and glibc successfully, but unfortunately I can
not build and run the testsuite natively (in reasonable time) due to
limited CPU/memory resources on my target platform. Is there good way
to run testsuite on cross environment?
2006-07-24 Atsushi Nemoto <[EMAIL PROTECTED]>
partial PR target/28126
* config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no.
Index: gcc/config/mips/mips.md
===================================================================
--- gcc/config/mips/mips.md (revision 115370)
+++ gcc/config/mips/mips.md (working copy)
@@ -5450,6 +5450,9 @@
; MIPS 32r2 specification, but we use it on any architecture because
; we expect it to be emulated. Use .set to force the assembler to
; accept it.
+; Since rdhwr always generate a trap for now, it should not be be put
+; on delay slot. It it was on delay slot, the emulation will be
+; slower.
(define_insn "tls_get_tp_<mode>"
[(set (match_operand:P 0 "register_operand" "=v")
@@ -5458,6 +5461,7 @@
"HAVE_AS_TLS && !TARGET_MIPS16"
".set\tpush\;.set\tmips32r2\t\;rdhwr\t%0,$29\;.set\tpop"
[(set_attr "type" "unknown")
+ (set_attr "can_delay" "no")
(set_attr "mode" "<MODE>")])
; The MIPS Paired-Single Floating Point and MIPS-3D Instructions.