summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2018-03-23 17:59:22 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2018-03-23 17:59:22 +0000
commit6c63e6c2225cdd6a2ded8440431af6b0c56a4c0b (patch)
treed43dc395d4878f14679503b99be22801539a1d31 /llvm/lib/Target
parent83e78414192f2270473b8d54e737b8b9f2af0477 (diff)
downloadbcm5719-llvm-6c63e6c2225cdd6a2ded8440431af6b0c56a4c0b.tar.gz
bcm5719-llvm-6c63e6c2225cdd6a2ded8440431af6b0c56a4c0b.zip
[X86][Btver2] Cleanup TEST instructions to use JFPA (+JFPX on ymms) function unit
llvm-svn: 328343
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/X86ScheduleBtVer2.td12
1 files changed, 6 insertions, 6 deletions
diff --git a/llvm/lib/Target/X86/X86ScheduleBtVer2.td b/llvm/lib/Target/X86/X86ScheduleBtVer2.td
index f982eafdd6a..4d0cebd5b28 100644
--- a/llvm/lib/Target/X86/X86ScheduleBtVer2.td
+++ b/llvm/lib/Target/X86/X86ScheduleBtVer2.td
@@ -765,26 +765,26 @@ def : InstRW<[JWriteVMOVMSK], (instrs MOVMSKPDrr, VMOVMSKPDrr, VMOVMSKPDYrr,
// operation which moves the floating point result to the integer unit. During this
// additional cycle the floating point unit execution resources are not occupied
// and ALU0 in the integer unit is occupied instead.
-def JWriteVTESTY: SchedWriteRes<[JFPU01, JFPU0]> {
+def JWriteVTESTY: SchedWriteRes<[JFPU01, JFPX, JFPA]> {
let Latency = 4;
- let ResourceCycles = [2, 2];
+ let ResourceCycles = [1, 2, 2];
let NumMicroOps = 3;
}
def : InstRW<[JWriteVTESTY], (instrs VPTESTYrr, VTESTPDYrr, VTESTPSYrr)>;
-def JWriteVTESTYLd: SchedWriteRes<[JLAGU, JFPU01, JFPU0]> {
+def JWriteVTESTYLd: SchedWriteRes<[JLAGU, JFPU01, JFPX, JFPA]> {
let Latency = 9;
- let ResourceCycles = [1, 2, 2];
+ let ResourceCycles = [1, 1, 2, 2];
let NumMicroOps = 3;
}
def : InstRW<[JWriteVTESTYLd], (instrs VPTESTYrm, VTESTPDYrm, VTESTPSYrm)>;
-def JWriteVTEST: SchedWriteRes<[JFPU0]> {
+def JWriteVTEST: SchedWriteRes<[JFPU0, JFPA]> {
let Latency = 3;
}
def : InstRW<[JWriteVTEST], (instrs PTESTrr, VPTESTrr, VTESTPDrr, VTESTPSrr)>;
-def JWriteVTESTLd: SchedWriteRes<[JLAGU, JFPU0]> {
+def JWriteVTESTLd: SchedWriteRes<[JLAGU, JFPU0, JFPA]> {
let Latency = 8;
}
def : InstRW<[JWriteVTESTLd], (instrs PTESTrm, VPTESTrm, VTESTPDrm, VTESTPSrm)>;
OpenPOWER on IntegriCloud