Commit 8d200fad by Kirill Yukhin Committed by Kirill Yukhin

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
parent 5e8d6dff
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>")])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment