summaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2009-02-21 09:15:13 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2009-02-21 09:15:13 +0000
commit2ec62529e94905195af24c630872c0f6df062c63 (patch)
tree16be1ac483a5866d5751cfc152a11e3026b59279 /gcc/emit-rtl.c
parent4e0bdc5e2265896a7dcc1630eed536cc47d7771c (diff)
downloadgcc-2ec62529e94905195af24c630872c0f6df062c63.tar.gz
loop-iv.c (truncate_value): New function.
gcc/ * loop-iv.c (truncate_value): New function. (iv_subreg, get_iv_value, iv_number_of_iterations): Use it instead of lowpart_subreg. (lowpart_subreg): Move to... * emit-rtl.c: ...here. From-SVN: r144348
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 679e95ea8a2..2d6851528e7 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -1232,6 +1232,17 @@ gen_lowpart_common (enum machine_mode mode, rtx x)
/* Otherwise, we can't do this. */
return 0;
}
+
+/* Generates a subreg to get the least significant part of EXPR (in mode
+ INNER_MODE) to OUTER_MODE. */
+
+rtx
+lowpart_subreg (enum machine_mode outer_mode, rtx expr,
+ enum machine_mode inner_mode)
+{
+ return simplify_gen_subreg (outer_mode, expr, inner_mode,
+ subreg_lowpart_offset (outer_mode, inner_mode));
+}
rtx
gen_highpart (enum machine_mode mode, rtx x)