1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3 
4 void add128 (long long int *);
5 
6 __inline__ void
shift128Right(int count,long long int * z1Ptr)7 shift128Right (int count, long long int *z1Ptr)
8 {
9   long long int z1;
10   if (count == 0);
11   else if (count < 64);
12   else
13     z1 = (count < 64) ? count : 0;
14   *z1Ptr = z1;
15 }
16 
17 void
float128_rem()18 float128_rem ()
19 {
20   signed int expDiff;
21   long long int aSig1;
22   long long int sigMean1;
23   if (-64 < expDiff)
24     shift128Right (-expDiff, &aSig1);
25   add128 (&sigMean1);
26 }
27