diff options
-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; |