diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e745313..3890fad 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2017-10-08 Jan Hubicka <hubicka@ucw.cz> + * i386.c (ix86_expand_set_or_movmem): Disable 512bit loops for targets + that preffer 128bit. + +2017-10-08 Jan Hubicka <hubicka@ucw.cz> + * i386.c (has_dispatch): Disable for Ryzen. 2017-10-08 Olivier Hainque <hainque@adacore.com> diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 8613aa8..1ee8351 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -28947,6 +28947,9 @@ ix86_expand_set_or_movmem (rtx dst, rtx src, rtx count_exp, rtx val_exp, && optab_handler (mov_optab, wider_mode) != CODE_FOR_nothing) move_mode = wider_mode; + if (TARGET_AVX128_OPTIMAL && GET_MODE_BITSIZE (move_mode) > 128) + move_mode = TImode; + /* Find the corresponding vector mode with the same size as MOVE_MODE. MOVE_MODE is an integer mode at the moment (SI, DI, TI, etc.). */ if (GET_MODE_SIZE (move_mode) > GET_MODE_SIZE (word_mode)) |