diff options
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 11 |
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) |