The patch updates sched numbers for YMM AVX instrs such as VMOVx, VORx, VXOR, VPERMILx, VBROADCASTx, etc.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/X86/X86ScheduleBtVer2.td | ||
---|---|---|
456 ↗ | (On Diff #120037) | Don't include commented out code |
lib/Target/X86/X86ScheduleBtVer2.td | ||
---|---|---|
550 ↗ | (On Diff #120211) | Default latency = 1 - so remove and just leave ResourceCycles? |
589 ↗ | (On Diff #120211) | This is masked load, and we need 128 bit versions: def WriteVMaskMovLd: SchedWriteRes<[JLAGU,JFPU01]> { let Latency = 6; } def : InstRW<[WriteVMaskMovLd], (instregex "VMASKMOVP(D|S)rm")>; def WriteVMaskMovYLd: SchedWriteRes<[JLAGU,JFPU01]> { let Latency = 6; let ResourceCycles = [1,2]; } def : InstRW<[WriteVMaskMovYLd], (instregex "VMASKMOVP(D|S)Yrm")>; |
595 ↗ | (On Diff #120211) | This is masked store, and we need 128 bit versions: def WriteVMaskMovSt: SchedWriteRes<[JFPU01,JSAGU]> { let Latency = 6; } def : InstRW<[WriteVMaskMovSt], (instregex "VMASKMOVP(D|S)mr")>; def WriteVMaskMovYSt: SchedWriteRes<[JFPU01,JSAGU]> { let Latency = 6; let ResourceCycles = [2,1]; } def : InstRW<[WriteVMaskMovYSt], (instregex "VMASKMOVP(D|S)Ymr")>; |
604 ↗ | (On Diff #120211) | 128-bit versions need fixing as well - they are Latency=3 too |
612 ↗ | (On Diff #120211) | Shouldn't this be [1,1]? (i.e. default - so remove?) |
614 ↗ | (On Diff #120211) | Add VPTESTYrr as well |
618 ↗ | (On Diff #120211) | Where did you get [1, 4, 2] from ? Shouldn't this be [1,2,2]? |
620 ↗ | (On Diff #120211) | VPTESTYrm as well |
Comment Actions
Some numbers were changed, some new instructions were added, some model changes were done accordingly to Simon requirements.
lib/Target/X86/X86ScheduleBtVer2.td | ||
---|---|---|
552 ↗ | (On Diff #120821) | Drop this - AVX1 doesn't have rr broadcast instructions (just rm instructions) |
lib/Target/X86/X86ScheduleBtVer2.td | ||
---|---|---|
552 ↗ | (On Diff #120821) | But X86 Instr Info has such commands: it means we should open the corresponding bug, rught? |