llvm.org GIT mirror llvm / 7be19ca
[X86] Fix the SchedRW for XOP vpcom register form instructions to not be marked as loads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328071 91177308-0d34-0410-b5e6-96231b3b80d8 Craig Topper 2 years ago
2 changed file(s) with 10 addition(s) and 10 deletion(s). Raw diff Collapse all Expand all
229229 [(set VR128:$dst,
230230 (vt128 (OpNode (vt128 VR128:$src1), (vt128 VR128:$src2),
231231 imm:$cc)))]>,
232 XOP_4V, Sched<[WriteVecALULd, ReadAfterLd]>;
232 XOP_4V, Sched<[WriteVecALU]>;
233233 def mi : IXOPi8
234234 (ins VR128:$src1, i128mem:$src2, XOPCC:$cc),
235235 !strconcat("vpcom${cc}", Suffix,
244244 (ins VR128:$src1, VR128:$src2, u8imm:$src3),
245245 !strconcat("vpcom", Suffix,
246246 "\t{$src3, $src2, $src1, $dst|$dst, $src1, $src2, $src3}"),
247 []>, XOP_4V, Sched<[WriteVecALULd, ReadAfterLd]>;
247 []>, XOP_4V, Sched<[WriteVecALU]>;
248248 let mayLoad = 1 in
249249 def mi_alt : IXOPi8
250250 (ins VR128:$src1, i128mem:$src2, u8imm:$src3),
146146 ; GENERIC-LABEL: test_vpcom:
147147 ; GENERIC: # %bb.0:
148148 ; GENERIC-NEXT: #APP
149 ; GENERIC-NEXT: vpcomb $3, %xmm1, %xmm0, %xmm0 # sched: [7:1.00]
150 ; GENERIC-NEXT: vpcomd $3, %xmm1, %xmm0, %xmm0 # sched: [7:1.00]
151 ; GENERIC-NEXT: vpcomq $3, %xmm1, %xmm0, %xmm0 # sched: [7:1.00]
152 ; GENERIC-NEXT: vpcomw $3, %xmm1, %xmm0, %xmm0 # sched: [7:1.00]
149 ; GENERIC-NEXT: vpcomb $3, %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
150 ; GENERIC-NEXT: vpcomd $3, %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
151 ; GENERIC-NEXT: vpcomq $3, %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
152 ; GENERIC-NEXT: vpcomw $3, %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
153153 ; GENERIC-NEXT: vpcomb $3, (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
154154 ; GENERIC-NEXT: vpcomd $3, (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
155155 ; GENERIC-NEXT: vpcomq $3, (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
178178 ; GENERIC-LABEL: test_vpcomu:
179179 ; GENERIC: # %bb.0:
180180 ; GENERIC-NEXT: #APP
181 ; GENERIC-NEXT: vpcomub $3, %xmm1, %xmm0, %xmm0 # sched: [7:1.00]
182 ; GENERIC-NEXT: vpcomud $3, %xmm1, %xmm0, %xmm0 # sched: [7:1.00]
183 ; GENERIC-NEXT: vpcomuq $3, %xmm1, %xmm0, %xmm0 # sched: [7:1.00]
184 ; GENERIC-NEXT: vpcomuw $3, %xmm1, %xmm0, %xmm0 # sched: [7:1.00]
181 ; GENERIC-NEXT: vpcomub $3, %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
182 ; GENERIC-NEXT: vpcomud $3, %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
183 ; GENERIC-NEXT: vpcomuq $3, %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
184 ; GENERIC-NEXT: vpcomuw $3, %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
185185 ; GENERIC-NEXT: vpcomub $3, (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
186186 ; GENERIC-NEXT: vpcomud $3, (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
187187 ; GENERIC-NEXT: vpcomuq $3, (%rdi), %xmm0, %xmm0 # sched: [7:1.00]