diff options
| author | Craig Topper <craig.topper@intel.com> | 2017-11-02 23:23:37 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2017-11-02 23:23:37 +0000 |
| commit | 086c04c8a795778f60a243f080e18bca3a4de144 (patch) | |
| tree | e2f2e2dccea36efab55b5eeceb6d6cbe66c85532 /llvm/lib | |
| parent | fbb6fbf709fbf22bd516c99ef17810c579014d11 (diff) | |
| download | bcm5719-llvm-086c04c8a795778f60a243f080e18bca3a4de144.tar.gz bcm5719-llvm-086c04c8a795778f60a243f080e18bca3a4de144.zip | |
[X86] Give AVX512VL instructions priority over their AVX equivalents.
I thought we had gotten all these priority bugs worked out, but I guess not.
llvm-svn: 317283
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrSSE.td | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86InstrSSE.td b/llvm/lib/Target/X86/X86InstrSSE.td index 451303054f5..d4676b57455 100644 --- a/llvm/lib/Target/X86/X86InstrSSE.td +++ b/llvm/lib/Target/X86/X86InstrSSE.td @@ -3186,7 +3186,7 @@ let Predicates = prds in { /// sse2_fp_unop_p - SSE2 unops in vector forms. multiclass sse2_fp_unop_p<bits<8> opc, string OpcodeStr, SDNode OpNode, OpndItins itins> { -let Predicates = [HasAVX] in { +let Predicates = [HasAVX, NoVLX] in { def V#NAME#PDr : PDI<opc, MRMSrcReg, (outs VR128:$dst), (ins VR128:$src), !strconcat("v", OpcodeStr, "pd\t{$src, $dst|$dst, $src}"), @@ -3245,7 +3245,7 @@ multiclass sse2_fp_unop_s<bits<8> opc, string OpcodeStr, SDNode OpNode, // Square root. defm SQRT : sse1_fp_unop_s<0x51, "sqrt", fsqrt, SSE_SQRTSS>, - sse1_fp_unop_p<0x51, "sqrt", fsqrt, SSE_SQRTPS, [HasAVX]>, + sse1_fp_unop_p<0x51, "sqrt", fsqrt, SSE_SQRTPS, [HasAVX, NoVLX]>, sse2_fp_unop_s<0x51, "sqrt", fsqrt, SSE_SQRTSD>, sse2_fp_unop_p<0x51, "sqrt", fsqrt, SSE_SQRTPD>; |

