diff options
author | Craig Topper <craig.topper@intel.com> | 2017-11-13 08:07:33 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2017-11-13 08:07:33 +0000 |
commit | 75d71540f862cb5ca4a033e7b6f0daa9aa60f132 (patch) | |
tree | 2f05c850e315f602a1b77855185325f0285b3988 /llvm/lib | |
parent | c748455e51e10076c0353a5c8c083733bcba22d8 (diff) | |
download | bcm5719-llvm-75d71540f862cb5ca4a033e7b6f0daa9aa60f132.tar.gz bcm5719-llvm-75d71540f862cb5ca4a033e7b6f0daa9aa60f132.zip |
[X86] Use sse_load_f32/f64 to improve load folding of scalar vfscalefss/sd, vrcp14ss/sd, rsqrt14ss/sd instructions.
llvm-svn: 318022
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/X86/X86InstrAVX512.td | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td index 5a59645946c..0522e4c9404 100644 --- a/llvm/lib/Target/X86/X86InstrAVX512.td +++ b/llvm/lib/Target/X86/X86InstrAVX512.td @@ -4942,10 +4942,9 @@ multiclass avx512_fp_scalef_scalar<bits<8> opc, string OpcodeStr, SDNode OpNode, "$src2, $src1", "$src1, $src2", (_.VT (OpNode _.RC:$src1, _.RC:$src2, (i32 FROUND_CURRENT)))>; defm rm: AVX512_maskable_scalar<opc, MRMSrcMem, _, (outs _.RC:$dst), - (ins _.RC:$src1, _.ScalarMemOp:$src2), OpcodeStr##_.Suffix, + (ins _.RC:$src1, _.IntScalarMemOp:$src2), OpcodeStr##_.Suffix, "$src2, $src1", "$src1, $src2", - (OpNode _.RC:$src1, - (_.VT (scalar_to_vector (_.ScalarLdFrag addr:$src2))), + (OpNode _.RC:$src1, _.ScalarIntMemCPat:$src2, (i32 FROUND_CURRENT))>; } } @@ -7356,10 +7355,10 @@ multiclass avx512_fp14_s<bits<8> opc, string OpcodeStr, SDNode OpNode, "$src2, $src1", "$src1, $src2", (OpNode (_.VT _.RC:$src1), (_.VT _.RC:$src2))>, EVEX_4V; defm rm : AVX512_maskable_scalar<opc, MRMSrcMem, _, (outs _.RC:$dst), - (ins _.RC:$src1, _.ScalarMemOp:$src2), OpcodeStr, + (ins _.RC:$src1, _.IntScalarMemOp:$src2), OpcodeStr, "$src2, $src1", "$src1, $src2", (OpNode (_.VT _.RC:$src1), - (_.VT (scalar_to_vector (_.ScalarLdFrag addr:$src2))))>, EVEX_4V; + _.ScalarIntMemCPat:$src2)>, EVEX_4V; } } |