diff options
author | Richard Stallman <rms@gnu.org> | 1992-10-05 06:34:26 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-10-05 06:34:26 +0000 |
commit | 280194b05b109e2a9468e83c18b895093ef87dfb (patch) | |
tree | c7eb28e6d0cc78ef36d73ddd51e2396d76ba3e33 /gcc | |
parent | 2d7050fdca69677d8f6b4de9ff499abfb3b60fa1 (diff) | |
download | gcc-280194b05b109e2a9468e83c18b895093ef87dfb.zip gcc-280194b05b109e2a9468e83c18b895093ef87dfb.tar.gz gcc-280194b05b109e2a9468e83c18b895093ef87dfb.tar.bz2 |
(gen_realpart, gen_imagpart): New functions.
From-SVN: r2323
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/emit-rtl.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 3bd88b6..d301bfc 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -656,6 +656,34 @@ gen_lowpart_common (mode, x) return 0; } +/* Return the real part (which has mode MODE) of a complex value X. + This always comes at the low address in memory. */ + +rtx +gen_realpart (mode, x) + enum machine_mode mode; + register rtx x; +{ + if (WORDS_BIG_ENDIAN) + return gen_highpart (mode, x); + else + return gen_lowpart (mode, x); +} + +/* Return the imaginary part (which has mode MODE) of a complex value X. + This always comes at the high address in memory. */ + +rtx +gen_imagpart (mode, x) + enum machine_mode mode; + register rtx x; +{ + if (WORDS_BIG_ENDIAN) + return gen_lowpart (mode, x); + else + return gen_highpart (mode, x); +} + /* Assuming that X is an rtx (e.g., MEM, REG or SUBREG) for a value, return an rtx (MEM, SUBREG, or CONST_INT) that refers to the least-significant part of X. |