]> granicus.if.org Git - llvm/commitdiff
[X86] Tag SSE4A instructions as SSE INTALU scheduler classes
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 10 Dec 2017 12:08:04 +0000 (12:08 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 10 Dec 2017 12:08:04 +0000 (12:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320301 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86InstrSSE.td

index 52d2a49d44a5a386a34aae24ace1e67365051e7f..2dbe5e6f397d0b11470f9ed8d424cab8f3497428 100644 (file)
@@ -7448,23 +7448,27 @@ def EXTRQI : Ii8<0x78, MRMXr, (outs VR128:$dst),
                  (ins VR128:$src, u8imm:$len, u8imm:$idx),
                  "extrq\t{$idx, $len, $src|$src, $len, $idx}",
                  [(set VR128:$dst, (X86extrqi VR128:$src, imm:$len,
-                                    imm:$idx))]>, PD;
+                                    imm:$idx))], IIC_SSE_INTALU_P_RR>,
+                 PD, Sched<[WriteVecALU]>;
 def EXTRQ  : I<0x79, MRMSrcReg, (outs VR128:$dst),
               (ins VR128:$src, VR128:$mask),
               "extrq\t{$mask, $src|$src, $mask}",
               [(set VR128:$dst, (int_x86_sse4a_extrq VR128:$src,
-                                 VR128:$mask))]>, PD;
+                                 VR128:$mask))], IIC_SSE_INTALU_P_RR>,
+              PD, Sched<[WriteVecALU]>;
 
 def INSERTQI : Ii8<0x78, MRMSrcReg, (outs VR128:$dst),
                    (ins VR128:$src, VR128:$src2, u8imm:$len, u8imm:$idx),
                    "insertq\t{$idx, $len, $src2, $src|$src, $src2, $len, $idx}",
                    [(set VR128:$dst, (X86insertqi VR128:$src, VR128:$src2,
-                                      imm:$len, imm:$idx))]>, XD;
+                                      imm:$len, imm:$idx))], IIC_SSE_INTALU_P_RR>,
+                   XD, Sched<[WriteVecALU]>;
 def INSERTQ  : I<0x79, MRMSrcReg, (outs VR128:$dst),
                  (ins VR128:$src, VR128:$mask),
                  "insertq\t{$mask, $src|$src, $mask}",
                  [(set VR128:$dst, (int_x86_sse4a_insertq VR128:$src,
-                                    VR128:$mask))]>, XD;
+                                    VR128:$mask))], IIC_SSE_INTALU_P_RR>,
+                 XD, Sched<[WriteVecALU]>;
 }
 } // ExeDomain = SSEPackedInt