aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/f95-lang.c
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2016-11-23 15:33:13 +0100
committerSegher Boessenkool <segher@gcc.gnu.org>2016-11-23 15:33:13 +0100
commit712871dde1fb2d29b4f742fababb645cd3b1dbbe (patch)
tree35a38cefb14ddb97781f6cba2e1483e9cc17ac3c /gcc/fortran/f95-lang.c
parent33951763a85087927068d553be6709cd03953a09 (diff)
downloadgcc-712871dde1fb2d29b4f742fababb645cd3b1dbbe.zip
gcc-712871dde1fb2d29b4f742fababb645cd3b1dbbe.tar.gz
gcc-712871dde1fb2d29b4f742fababb645cd3b1dbbe.tar.bz2
combine: Convert subreg-of-lshiftrt to zero_extract properly (PR78390)
r242414, for PR77881, introduces some bugs (PR78390, PR78438, PR78477). It all has the same root cause: that patch makes combine convert every lowpart subreg of a logical shift right to a zero_extract. This cannot work at all if it is not a constant shift, and it has to be a bit more careful exactly which bits it extracts. PR target/77881 PR bootstrap/78390 PR target/78438 PR bootstrap/78477 * combine.c (make_compound_operation_int): Do not convert a subreg of a non-constant logical shift right to a zero_extract. Handle the case where some zero bits have been shifted into the range covered by that subreg. From-SVN: r242757
Diffstat (limited to 'gcc/fortran/f95-lang.c')
0 files changed, 0 insertions, 0 deletions