i386.c (ix86_expand_set_or_movmem): Disable 512bit loops for targets that preffer 128bit.

* i386.c (ix86_expand_set_or_movmem): Disable 512bit loops for targets
	that preffer 128bit.

From-SVN: r253524
This commit is contained in:
Jan Hubicka 2017-10-08 12:42:54 +02:00 committed by Jan Hubicka
parent eb79a6b1cb
commit 08a9e4e734
2 changed files with 8 additions and 0 deletions

View File

@ -1,3 +1,8 @@
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.

View File

@ -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))