diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2019-09-04 20:25:05 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2019-09-04 20:25:05 +0200 |
commit | 0c7800b29bd48cc0f7685f3c0da2db6fd87ef52c (patch) | |
tree | dd361dcbefce273bdf9f0827056f21c678875f2d | |
parent | 68e2c1996ec6bde27363ce0db15233ac8cae1c4d (diff) | |
download | gcc-0c7800b29bd48cc0f7685f3c0da2db6fd87ef52c.zip gcc-0c7800b29bd48cc0f7685f3c0da2db6fd87ef52c.tar.gz gcc-0c7800b29bd48cc0f7685f3c0da2db6fd87ef52c.tar.bz2 |
re PR target/32413 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:396)
PR target/32413
* config/i386/i386.c (inline_secondary_memory_needed): Return true
for QI and HImode moves between SSE and general registers.
From-SVN: r275377
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fc18766..be92d37 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-09-04 Uroš Bizjak <ubizjak@gmail.com> + + PR target/32413 + * config/i386/i386.c (inline_secondary_memory_needed): Return true + for QI and HImode moves between SSE and general registers. + 2019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> PR c/78736 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 1c9c719..50571a0 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -18328,6 +18328,7 @@ inline_secondary_memory_needed (machine_mode mode, reg_class_t class1, /* Between SSE and general, we have moves no larger than word size. */ if (!(INTEGER_CLASS_P (class1) || INTEGER_CLASS_P (class2)) + || GET_MODE_SIZE (mode) < GET_MODE_SIZE (SImode) || GET_MODE_SIZE (mode) > UNITS_PER_WORD) return true; |