This saves a few cycles by using Ureal_Half instead of Ureal_1.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* eval_fat.adb (Succ): Use Ureal_Half in a couple of places.
diff --git a/gcc/ada/eval_fat.adb b/gcc/ada/eval_fat.adb
--- a/gcc/ada/eval_fat.adb
+++ b/gcc/ada/eval_fat.adb
@@ -736,7 +736,7 @@ package body Eval_Fat is
if Has_Denormals (RT) then
Exp := Emin;
else
- return Scaling (RT, Ureal_1, Emin - 1);
+ return Scaling (RT, Ureal_Half, Emin);
end if;
end if;
@@ -755,7 +755,7 @@ package body Eval_Fat is
if New_Frac = Frac then
if New_Frac = Scaling (RT, -Ureal_1, Mantissa - 1) then
- New_Frac := New_Frac + Scaling (RT, Ureal_1, Uint_Minus_1);
+ New_Frac := New_Frac + Ureal_Half;
else
New_Frac := New_Frac + Ureal_1;
end if;