https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114976
Bug ID: 114976 Summary: MIPS64: get double high part can use mfhc1 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: syq at gcc dot gnu.org Target Milestone: --- ``` unsigned int __mips_mfhc1 (double x) { unsigned int ret; union { unsigned long long i; double d; } xx; xx.d=x; ret = xx.i>>32; return ret; } ``` For R2+, we can just use `mfhc1`, while currently the output is ``` dmfc1 $2,$f12 jr $31 dsra $2,$2,32 ```