[multiple changes]
2005-10-08 Andrew Pinski <pinskia@physics.uc.edu> PR target/24136 * config/rs6000/darwin.md (movdf_low_si): Remove early clobber. Rewrite for no need for the early clobber. 2005-10-07 Andrew Pinski <pinskia@physics.uc.edu> PR target/24136 * gfortran.fortran-torture/compile/pr24136.f: New test. From-SVN: r105123
This commit is contained in:
parent
077fc835e5
commit
c5dce79bc3
@ -1,3 +1,9 @@
|
||||
2005-10-08 Andrew Pinski <pinskia@physics.uc.edu>
|
||||
|
||||
PR target/24136
|
||||
* config/rs6000/darwin.md (movdf_low_si): Remove early clobber.
|
||||
Rewrite for no need for the early clobber.
|
||||
|
||||
2005-10-08 Kazu Hirata <kazu@codesourcery.com>
|
||||
|
||||
Merge from csl-arm-branch:
|
||||
|
@ -28,10 +28,10 @@ Boston, MA 02110-1301, USA. */
|
||||
[(set_attr "length" "4")])
|
||||
|
||||
(define_insn "movdf_low_si"
|
||||
[(set (match_operand:DF 0 "gpc_reg_operand" "=f,!&r")
|
||||
[(set (match_operand:DF 0 "gpc_reg_operand" "=f,!r")
|
||||
(mem:DF (lo_sum:SI (match_operand:SI 1 "gpc_reg_operand" "b,b")
|
||||
(match_operand 2 "" ""))))]
|
||||
"TARGET_MACHO && TARGET_HARD_FLOAT && TARGET_FPRS && ! TARGET_64BIT"
|
||||
"TARGET_MACHO && TARGET_HARD_FLOAT && TARGET_FPRS && !TARGET_64BIT"
|
||||
"*
|
||||
{
|
||||
switch (which_alternative)
|
||||
@ -45,9 +45,9 @@ Boston, MA 02110-1301, USA. */
|
||||
return \"ld %0,lo16(%2)(%1)\";
|
||||
else
|
||||
{
|
||||
output_asm_insn (\"{l|lwz} %0,lo16(%2)(%1)\", operands);
|
||||
output_asm_insn (\"{cal|la} %L0,lo16(%2)(%1)\", operands);
|
||||
return (\"{l|lwz} %L0,4(%L0)\");
|
||||
output_asm_insn (\"{cal|la} %0,lo16(%2)(%1)\", operands);
|
||||
output_asm_insn (\"{l|lwz} %L0,4(%0)\", operands);
|
||||
return (\"{l|lwz} %0,0(%0)\");
|
||||
}
|
||||
}
|
||||
default:
|
||||
|
@ -1,3 +1,8 @@
|
||||
2005-10-07 Andrew Pinski <pinskia@physics.uc.edu>
|
||||
|
||||
PR target/24136
|
||||
* gfortran.fortran-torture/compile/pr24136.f: New test.
|
||||
|
||||
2005-10-08 James A. Morrison <phython@gcc.gnu.org>
|
||||
|
||||
PR c++/22172
|
||||
|
43
gcc/testsuite/gfortran.fortran-torture/compile/pr24136.f
Normal file
43
gcc/testsuite/gfortran.fortran-torture/compile/pr24136.f
Normal file
@ -0,0 +1,43 @@
|
||||
subroutine electra(ro,t,ye,ee,pe,se
|
||||
a ,eer,eet,per,pet,ser,set,keyps)
|
||||
implicit real*8 (a-h,o-z)
|
||||
common /nunu/ nu,dnudr,dnudb,eta,detadnu,nup
|
||||
data facen,facpr,facs,rg /2.037300d+24,1.358200d+24,1.686304d-10
|
||||
1,8.314339d+07/
|
||||
data a1,a2,a3,a4 /2.059815d-03,-7.027778d-03
|
||||
1,4.219747d-02,-1.132427d+00/
|
||||
beta=facs*t
|
||||
b32=b12*beta
|
||||
u=(f62/f52)**2
|
||||
dudnu=2.0d0*u*(df62/f62-df52/f52)
|
||||
x=beta*u
|
||||
f=1.0d0+x*(2.5d0+x*(2.0d0+0.5d0*x))
|
||||
df=2.5d0+x*(4.0d0+1.5d0*x)
|
||||
dfdb=u*df
|
||||
fi32=f32+(f-1.0d0)*f52/u
|
||||
dfidnu=dfidu*dudnu+df32+(f-1.0d0)*df52/u
|
||||
dfidb=dfdb*f52/u
|
||||
dfidbet=dfidb+dfidnu*dnudb
|
||||
gs=sqrt(g)
|
||||
dg=0.75d0*gs
|
||||
dgdb=u*dg
|
||||
dgdu=beta*dg
|
||||
gi32=f32+(g-1.0d0)*f52/u
|
||||
dgidu=(u*dgdu-g+1.0d0)*f52/us
|
||||
dgidnu=dgidu*dudnu+df32+(g-1.0d0)*df52/u
|
||||
dgidb=dgdb*f52/u
|
||||
dgidbet=dgidb+dgidnu*dnudb
|
||||
dgidroe=dgidnu*dnudr
|
||||
em=facen*b52*fi32
|
||||
demdbet=facen*b32*(2.5d0*fi32+beta*dfidbet)
|
||||
dpmdbet=facpr*b32*(2.5d0*gi32+beta*dgidbet)
|
||||
demdroe=facen*b52*dfidroe
|
||||
dpmdroe=facpr*b52*dgidroe
|
||||
call divine(nup,fp12,dfp12,s12)
|
||||
s42=2.0d0
|
||||
call divine(nup,fp42,dfp42,s42)
|
||||
eer=(ye*(demdroe+depdroe)-(em+ep)/ro)/ro
|
||||
eet=facs*(demdbet+depdbet)/ro
|
||||
per=ye*(dpmdroe+dppdroe)
|
||||
pet=facs*(dpmdbet+dppdbet)
|
||||
end
|
Loading…
Reference in New Issue
Block a user