sse.md: Use vpbroadcastq for broadcasting DF values to 128b regs.
gcc/ * config/i386/sse.md: Use vpbroadcastq for broadcasting DF values to 128b regs. From-SVN: r234325
This commit is contained in:
parent
5e8d6dff27
commit
8d200fad9c
|
@ -1,3 +1,8 @@
|
|||
2016-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
|
||||
|
||||
* config/i386/sse.md: Use vpbroadcastq for broadcasting DF
|
||||
values to 128b regs.
|
||||
|
||||
2016-03-18 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||||
|
||||
PR tree-optimization/70252
|
||||
|
|
|
@ -17269,7 +17269,14 @@
|
|||
(match_operand:<ssexmmmode> 1 "nonimmediate_operand" "vm")
|
||||
(parallel [(const_int 0)]))))]
|
||||
"TARGET_AVX512F"
|
||||
"v<sseintprefix>broadcast<bcstscalarsuff>\t{%1, %0<mask_operand2>|%0<mask_operand2>, %1}"
|
||||
{
|
||||
/* There is no DF broadcast (in AVX-512*) to 128b register.
|
||||
Mimic it with integer variant. */
|
||||
if (<MODE>mode == V2DFmode)
|
||||
return "vpbroadcastq\t{%1, %0<mask_operand2>|%0<mask_operand2>, %1}";
|
||||
else
|
||||
return "v<sseintprefix>broadcast<bcstscalarsuff>\t{%1, %0<mask_operand2>|%0<mask_operand2>, %1}";
|
||||
}
|
||||
[(set_attr "type" "ssemov")
|
||||
(set_attr "prefix" "evex")
|
||||
(set_attr "mode" "<sseinsnmode>")])
|
||||
|
|
Loading…
Reference in New Issue