mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-30 17:55:19 +08:00
lib1func.asm (__divtf3): Rebundle for Itanium.
* config/ia64/lib1func.asm (__divtf3): Rebundle for Itanium. Eliminate final copy from non-trapping case. (__divdf3, __divsf3): Likewise. From-SVN: r36177
This commit is contained in:
parent
354e99ce38
commit
3392dafcfd
@ -1,3 +1,9 @@
|
|||||||
|
2000-09-05 Richard Henderson <rth@cygnus.com>
|
||||||
|
|
||||||
|
* config/ia64/lib1func.asm (__divtf3): Rebundle for Itanium.
|
||||||
|
Eliminate final copy from non-trapping case.
|
||||||
|
(__divdf3, __divsf3): Likewise.
|
||||||
|
|
||||||
2000-09-05 Richard Henderson <rth@cygnus.com>
|
2000-09-05 Richard Henderson <rth@cygnus.com>
|
||||||
|
|
||||||
* config/ia64/ia64.md (mulhi3): Fix typo last change.
|
* config/ia64/ia64.md (mulhi3): Fix typo last change.
|
||||||
|
@ -11,30 +11,31 @@
|
|||||||
.global __divtf3
|
.global __divtf3
|
||||||
.proc __divtf3
|
.proc __divtf3
|
||||||
__divtf3:
|
__divtf3:
|
||||||
frcpa f10, p6 = farg0, farg1
|
cmp.eq p7, p0 = r0, r0
|
||||||
|
frcpa.s0 f10, p6 = farg0, farg1
|
||||||
;;
|
;;
|
||||||
|
(p6) cmp.ne p7, p0 = r0, r0
|
||||||
|
.pred.rel.mutex p6, p7
|
||||||
(p6) fnma.s1 f11 = farg1, f10, f1
|
(p6) fnma.s1 f11 = farg1, f10, f1
|
||||||
|
(p6) fmpy.s1 f12 = farg0, f10
|
||||||
;;
|
;;
|
||||||
(p6) fma.s1 f12 = f11, f10, f10
|
(p6) fmpy.s1 f13 = f11, f11
|
||||||
(p6) fma.s1 f11 = f11, f11, f0
|
(p6) fma.s1 f14 = f11, f11, f11
|
||||||
;;
|
;;
|
||||||
(p6) fma.s1 f11 = f11, f12, f12
|
(p6) fma.s1 f11 = f13, f13, f11
|
||||||
|
(p6) fma.s1 f13 = f14, f10, f10
|
||||||
;;
|
;;
|
||||||
(p6) fnma.s1 f12 = farg1, f11, f1
|
(p6) fma.s1 f10 = f13, f11, f10
|
||||||
(p6) fma.s1 f10 = farg0, f10, f0
|
(p6) fnma.s1 f12 = farg1, f12, farg0
|
||||||
;;
|
;;
|
||||||
(p6) fma.s1 f11 = f12, f11, f11
|
(p6) fma.s1 f11 = f11, f10, f12
|
||||||
(p6) fnma.s1 f12 = farg1, f10, farg0
|
(p6) fnma.s1 f13 = farg1, f10, f1
|
||||||
;;
|
;;
|
||||||
(p6) fma.s1 f10 = f12, f11, f10
|
(p6) fma.s1 f10 = f12, f10, f10
|
||||||
(p6) fnma.s1 f12 = farg1, f11, f1
|
(p6) fnma.s1 f12 = farg1, f11, farg0
|
||||||
;;
|
;;
|
||||||
(p6) fnma.s1 f8 = farg1, f10, farg0
|
(p6) fma fret0 = f12, f10, f11
|
||||||
(p6) fma.s1 f9 = f12, f11, f11
|
(p7) mov fret0 = f10
|
||||||
;;
|
|
||||||
(p6) fma f10 = f8, f9, f10
|
|
||||||
;;
|
|
||||||
mov fret0 = f10
|
|
||||||
br.ret.sptk rp
|
br.ret.sptk rp
|
||||||
;;
|
;;
|
||||||
.endp __divtf3
|
.endp __divtf3
|
||||||
@ -53,17 +54,21 @@ __divtf3:
|
|||||||
.global __divdf3
|
.global __divdf3
|
||||||
.proc __divdf3
|
.proc __divdf3
|
||||||
__divdf3:
|
__divdf3:
|
||||||
frcpa f10, p6 = farg0, farg1
|
cmp.eq p7, p0 = r0, r0
|
||||||
|
frcpa.s0 f10, p6 = farg0, farg1
|
||||||
;;
|
;;
|
||||||
(p6) fma.s1 f11 = farg0, f10, f0
|
(p6) cmp.ne p7, p0 = r0, r0
|
||||||
|
.pred.rel.mutex p6, p7
|
||||||
|
(p6) fmpy.s1 f11 = farg0, f10
|
||||||
(p6) fnma.s1 f12 = farg1, f10, f1
|
(p6) fnma.s1 f12 = farg1, f10, f1
|
||||||
;;
|
;;
|
||||||
(p6) fma.s1 f11 = f12, f11, f11
|
(p6) fma.s1 f11 = f12, f11, f11
|
||||||
(p6) fma.s1 f13 = f12, f12, f0
|
(p6) fmpy.s1 f13 = f12, f12
|
||||||
(p6) fma.s1 f10 = f12, f10, f10
|
|
||||||
;;
|
;;
|
||||||
|
(p6) fma.s1 f10 = f12, f10, f10
|
||||||
(p6) fma.s1 f11 = f13, f11, f11
|
(p6) fma.s1 f11 = f13, f11, f11
|
||||||
(p6) fma.s1 f12 = f13, f13, f0
|
;;
|
||||||
|
(p6) fmpy.s1 f12 = f13, f13
|
||||||
(p6) fma.s1 f10 = f13, f10, f10
|
(p6) fma.s1 f10 = f13, f10, f10
|
||||||
;;
|
;;
|
||||||
(p6) fma.d.s1 f11 = f12, f11, f11
|
(p6) fma.d.s1 f11 = f12, f11, f11
|
||||||
@ -71,9 +76,8 @@ __divdf3:
|
|||||||
;;
|
;;
|
||||||
(p6) fnma.d.s1 f8 = farg1, f11, farg0
|
(p6) fnma.d.s1 f8 = farg1, f11, farg0
|
||||||
;;
|
;;
|
||||||
(p6) fma.d f10 = f8, f10, f11
|
(p6) fma.d fret0 = f8, f10, f11
|
||||||
;;
|
(p7) mov fret0 = f10
|
||||||
mov fret0 = f10
|
|
||||||
br.ret.sptk rp
|
br.ret.sptk rp
|
||||||
;;
|
;;
|
||||||
.endp __divdf3
|
.endp __divdf3
|
||||||
@ -92,22 +96,20 @@ __divdf3:
|
|||||||
.global __divsf3
|
.global __divsf3
|
||||||
.proc __divsf3
|
.proc __divsf3
|
||||||
__divsf3:
|
__divsf3:
|
||||||
frcpa f10, p6 = farg0, farg1
|
frcpa.s0 f10, p6 = farg0, farg1
|
||||||
;;
|
;;
|
||||||
(p6) fma.s1 f8 = farg0, f10, f0
|
(p6) fmpy.s1 f8 = farg0, f10
|
||||||
(p6) fnma.s1 f9 = farg1, f10, f1
|
(p6) fnma.s1 f9 = farg1, f10, f1
|
||||||
;;
|
;;
|
||||||
(p6) fma.s1 f8 = f9, f8, f8
|
(p6) fma.s1 f8 = f9, f8, f8
|
||||||
(p6) fma.s1 f9 = f9, f9, f0
|
(p6) fmpy.s1 f9 = f9, f9
|
||||||
;;
|
;;
|
||||||
(p6) fma.s1 f8 = f9, f8, f8
|
(p6) fma.s1 f8 = f9, f8, f8
|
||||||
(p6) fma.s1 f9 = f9, f9, f0
|
(p6) fmpy.s1 f9 = f9, f9
|
||||||
;;
|
;;
|
||||||
(p6) fma.d.s1 f8 = f9, f8, f8
|
(p6) fma.d.s1 f10 = f9, f8, f8
|
||||||
;;
|
;;
|
||||||
(p6) fma.s f10 = f8, f1, f0
|
fnorm.s.s0 fret0 = f10
|
||||||
;;
|
|
||||||
mov fret0 = f10
|
|
||||||
br.ret.sptk rp
|
br.ret.sptk rp
|
||||||
;;
|
;;
|
||||||
.endp __divsf3
|
.endp __divsf3
|
||||||
|
Loading…
Reference in New Issue
Block a user