diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2018-02-01 17:04:18 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2018-02-01 17:04:18 +0100 |
commit | ff814010dd090ceb7dded8eae598f0532e59513b (patch) | |
tree | 3f347d51dba9f488d550eb9c7ab63e3e7e450f37 | |
parent | 19416210b37db0584cd0b3f3b3961324b8973d25 (diff) | |
download | gcc-ff814010dd090ceb7dded8eae598f0532e59513b.zip gcc-ff814010dd090ceb7dded8eae598f0532e59513b.tar.gz gcc-ff814010dd090ceb7dded8eae598f0532e59513b.tar.bz2 |
re PR rtl-optimization/84157 ([nvptx] ICE: RTL check: expected code 'reg', have 'lshiftrt')
PR rtl-optimization/84157
* combine.c (change_zero_ext): Use REG_P predicate in
front of HARD_REGISTER_P predicate.
From-SVN: r257302
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/combine.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4dcc364..2f44038 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2018-02-01 Uros Bizjak <ubizjak@gmail.com> + + PR rtl-optimization/84157 + * combine.c (change_zero_ext): Use REG_P predicate in + front of HARD_REGISTER_P predicate. + 2018-02-01 Georg-Johann Lay <avr@gjlay.de> * config/avr/avr.c (avr_option_override): Move disabling of diff --git a/gcc/combine.c b/gcc/combine.c index 970dd26..a9929f2 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -11483,7 +11483,7 @@ change_zero_ext (rtx pat) if (mode != inner_mode) { - if (HARD_REGISTER_P (x) + if (REG_P (x) && HARD_REGISTER_P (x) && !can_change_dest_mode (x, 0, mode)) continue; @@ -11501,7 +11501,7 @@ change_zero_ext (rtx pat) x = SUBREG_REG (XEXP (x, 0)); if (GET_MODE (x) != mode) { - if (HARD_REGISTER_P (x) + if (REG_P (x) && HARD_REGISTER_P (x) && !can_change_dest_mode (x, 0, mode)) continue; |