Tue Oct 10 23:08:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
[glibc.git] / sysdeps / alpha / macros.m4
blobf8c1fe9662f331709338354c2bab304c01f1dbb5
1 dnl NOTE: The $1 below is the argument to EXTEND, not register $1.
2 define(EXTEND,
3 `ifelse(SIZE, `l',
4 `ifelse(SIGNED, `true',
5 `       sextl $1, $1
6 ',dnl
7 `       zapnot $1, 0xf, $1
8 ')')')dnl
10 dnl FULLEXTEND -- extend the register named in the first argument
11 define(FULLEXTEND,
12 `ifelse(SIZE, `l',
13 `       sextl $1, $1
14 ')')dnl
16 dnl This is used by divqu.
17 define(ADJQU,
18 `ifelse(MODE, `qu',
19 `       ldit    $f26, 18446744073709551616.0
20         addt    $f26, $1, $f26
21         fcmovlt $1, $f26, $1
22 ')')dnl
24 define(DOREM,
25 `ifelse(BASEOP, `rem',
26 `       /* Compute the remainder.  */
27 ifelse(SIZE, `l',
28 `       mull t11, t12, t11
29         subl t10, t11, t12
30 ',dnl Note mulq/subq were only really used in remq, but we will find out
31 dnl   if assuming they apply to remqu as well is wrong or not.
32 `       mulq t11, t12, t11
33         subq t10, t11, t12
34 ')')')dnl