mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-18 18:42:46 +02:00
[X86] Add description of FXAM instruction
Previously this instruction could be used only in assembler. This change makes it available for compiler also. Scheduling information was copied from FTST instruction, hopefully this can be a satisfactory approximation. Differential Revision: https://reviews.llvm.org/D104853
This commit is contained in:
parent
ba4b6a66c6
commit
1badfbbb03
@ -785,6 +785,9 @@ static const TableEntry OpcodeTable[] = {
|
||||
{ X86::UCOM_Fpr32 , X86::UCOM_Fr },
|
||||
{ X86::UCOM_Fpr64 , X86::UCOM_Fr },
|
||||
{ X86::UCOM_Fpr80 , X86::UCOM_Fr },
|
||||
{ X86::XAM_Fp32 , X86::XAM_F },
|
||||
{ X86::XAM_Fp64 , X86::XAM_F },
|
||||
{ X86::XAM_Fp80 , X86::XAM_F },
|
||||
};
|
||||
|
||||
static unsigned getConcreteOpcode(unsigned Opcode) {
|
||||
|
@ -377,6 +377,13 @@ def TST_F : FPI<0xD9, MRM_E4, (outs), (ins), "ftst">;
|
||||
} // SchedRW
|
||||
} // Uses = [FPCW], mayRaiseFPException = 1
|
||||
|
||||
let SchedRW = [WriteFTest] in {
|
||||
def XAM_Fp32 : FpIf32<(outs), (ins RFP32:$src), OneArgFP, []>;
|
||||
def XAM_Fp64 : FpIf64<(outs), (ins RFP64:$src), OneArgFP, []>;
|
||||
def XAM_Fp80 : FpI_<(outs), (ins RFP80:$src), OneArgFP, []>;
|
||||
def XAM_F : FPI<0xD9, MRM_E5, (outs), (ins), "fxam">;
|
||||
} // SchedRW
|
||||
|
||||
// Versions of FP instructions that take a single memory operand. Added for the
|
||||
// disassembler; remove as they are included with patterns elsewhere.
|
||||
let SchedRW = [WriteFComLd], Uses = [FPCW], mayRaiseFPException = 1,
|
||||
@ -732,7 +739,6 @@ def FNOP : I<0xD9, MRM_D0, (outs), (ins), "fnop", []>, Sched<[WriteNop]>;
|
||||
let SchedRW = [WriteMicrocoded] in {
|
||||
let Defs = [FPSW] in {
|
||||
def WAIT : I<0x9B, RawFrm, (outs), (ins), "wait", []>;
|
||||
def FXAM : I<0xD9, MRM_E5, (outs), (ins), "fxam", []>;
|
||||
def FDECSTP : I<0xD9, MRM_F6, (outs), (ins), "fdecstp", []>;
|
||||
def FINCSTP : I<0xD9, MRM_F7, (outs), (ins), "fincstp", []>;
|
||||
let Uses = [FPCW], mayRaiseFPException = 1 in {
|
||||
|
@ -782,7 +782,7 @@ def : InstRW<[HWWrite3P01], (instrs COM_FIPr, COM_FIr, UCOM_FIPr, UCOM_FIr)>;
|
||||
def : InstRW<[HWWriteP1], (instregex "TST_F")>;
|
||||
|
||||
// FXAM.
|
||||
def : InstRW<[HWWrite2P1], (instrs FXAM)>;
|
||||
def : InstRW<[HWWrite2P1], (instrs XAM_F)>;
|
||||
|
||||
// FPREM.
|
||||
def HWWriteFPREM : SchedWriteRes<[]> {
|
||||
|
@ -499,7 +499,7 @@ def AtomWrite0_1 : SchedWriteRes<[AtomPort0]> {
|
||||
let Latency = 1;
|
||||
let ResourceCycles = [1];
|
||||
}
|
||||
def : InstRW<[AtomWrite0_1], (instrs FXAM, LD_Frr,
|
||||
def : InstRW<[AtomWrite0_1], (instrs XAM_F, LD_Frr,
|
||||
MOVSX64rr32)>;
|
||||
def : SchedAlias<WriteALURMW, AtomWrite0_1>;
|
||||
def : SchedAlias<WriteADCRMW, AtomWrite0_1>;
|
||||
|
@ -974,7 +974,7 @@ def : InstRW<[ZnWriteFPU03], (instregex "FICOM(P?)(16|32)m")>;
|
||||
def : InstRW<[ZnWriteFPU0Lat1], (instregex "TST_F")>;
|
||||
|
||||
// FXAM.
|
||||
def : InstRW<[ZnWriteFPU3Lat1], (instrs FXAM)>;
|
||||
def : InstRW<[ZnWriteFPU3Lat1], (instrs XAM_F)>;
|
||||
|
||||
// FPREM.
|
||||
def : InstRW<[WriteMicrocoded], (instrs FPREM)>;
|
||||
|
@ -983,7 +983,7 @@ def : InstRW<[Zn2WriteFPU03], (instregex "FICOM(P?)(16|32)m")>;
|
||||
def : InstRW<[Zn2WriteFPU0Lat1], (instregex "TST_F")>;
|
||||
|
||||
// FXAM.
|
||||
def : InstRW<[Zn2WriteFPU3Lat1], (instrs FXAM)>;
|
||||
def : InstRW<[Zn2WriteFPU3Lat1], (instrs XAM_F)>;
|
||||
|
||||
// FPREM.
|
||||
def : InstRW<[WriteMicrocoded], (instrs FPREM)>;
|
||||
|
@ -346,7 +346,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: 3 3 1.00 U fucomi %st(3), %st
|
||||
# CHECK-NEXT: 3 3 1.00 U fucompi %st(3), %st
|
||||
# CHECK-NEXT: 1 100 0.33 U wait
|
||||
# CHECK-NEXT: 1 100 0.33 U fxam
|
||||
# CHECK-NEXT: 1 1 1.00 U fxam
|
||||
# CHECK-NEXT: 1 1 0.33 U fxch %st(1)
|
||||
# CHECK-NEXT: 1 1 0.33 U fxch %st(3)
|
||||
# CHECK-NEXT: 5 5 2.00 * * U fxrstor (%eax)
|
||||
@ -367,7 +367,7 @@ fyl2xp1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
|
||||
# CHECK-NEXT: - 136.00 52.67 90.67 17.00 54.67 34.00 34.00
|
||||
# CHECK-NEXT: - 136.00 53.33 90.33 17.00 54.33 34.00 34.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
|
||||
@ -511,7 +511,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucomi %st(3), %st
|
||||
# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucompi %st(3), %st
|
||||
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - wait
|
||||
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxam
|
||||
# CHECK-NEXT: - - 1.00 - - - - - fxam
|
||||
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxch %st(1)
|
||||
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxch %st(3)
|
||||
# CHECK-NEXT: - - 0.50 0.50 1.00 2.00 0.50 0.50 fxrstor (%eax)
|
||||
|
@ -346,7 +346,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: 2 1 1.00 U fucomi %st(3), %st
|
||||
# CHECK-NEXT: 2 1 1.00 U fucompi %st(3), %st
|
||||
# CHECK-NEXT: 1 100 0.50 U wait
|
||||
# CHECK-NEXT: 1 100 0.50 U fxam
|
||||
# CHECK-NEXT: 2 1 1.00 U fxam
|
||||
# CHECK-NEXT: 1 1 1.00 U fxch %st(1)
|
||||
# CHECK-NEXT: 1 1 1.00 U fxch %st(3)
|
||||
# CHECK-NEXT: 1 100 0.50 * * U fxrstor (%eax)
|
||||
@ -382,7 +382,7 @@ fyl2xp1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]
|
||||
# CHECK-NEXT: 55.50 55.50 - - - 39.50 23.50 - 224.00 224.00 - - - 7.00 56.00 32.00 - - - 49.00 49.00 - 13.00
|
||||
# CHECK-NEXT: 55.50 55.50 - - - 40.00 23.00 - 224.50 224.50 - - - 7.00 57.00 32.00 - - - 49.00 49.00 - 13.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:
|
||||
@ -526,7 +526,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fucomi %st(3), %st
|
||||
# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fucompi %st(3), %st
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - wait
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fxam
|
||||
# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fxam
|
||||
# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - fxch %st(1)
|
||||
# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - fxch %st(3)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fxrstor (%eax)
|
||||
|
@ -346,7 +346,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: 1 3 1.00 U fucomi %st(3), %st
|
||||
# CHECK-NEXT: 1 3 1.00 U fucompi %st(3), %st
|
||||
# CHECK-NEXT: 2 2 0.50 U wait
|
||||
# CHECK-NEXT: 1 100 0.25 U fxam
|
||||
# CHECK-NEXT: 1 1 1.00 U fxam
|
||||
# CHECK-NEXT: 12 14 4.00 U fxch %st(1)
|
||||
# CHECK-NEXT: 12 14 4.00 U fxch %st(3)
|
||||
# CHECK-NEXT: 90 63 16.50 * * U fxrstor (%eax)
|
||||
@ -369,7 +369,7 @@ fyl2xp1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
|
||||
# CHECK-NEXT: - 9.00 116.92 145.92 49.00 49.00 27.00 59.42 69.75 9.00
|
||||
# CHECK-NEXT: - 9.00 117.67 145.67 49.00 49.00 27.00 59.17 69.50 9.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
|
||||
@ -513,7 +513,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: - - - 1.00 - - - - - - fucomi %st(3), %st
|
||||
# CHECK-NEXT: - - - 1.00 - - - - - - fucompi %st(3), %st
|
||||
# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait
|
||||
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxam
|
||||
# CHECK-NEXT: - - 1.00 - - - - - - - fxam
|
||||
# CHECK-NEXT: - - 3.25 2.25 - - - 1.25 5.25 - fxch %st(1)
|
||||
# CHECK-NEXT: - - 3.25 2.25 - - - 1.25 5.25 - fxch %st(3)
|
||||
# CHECK-NEXT: - - 17.25 12.25 16.50 16.50 - 12.75 14.75 - fxrstor (%eax)
|
||||
|
@ -346,7 +346,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: 1 3 1.00 U fucomi %st(3), %st
|
||||
# CHECK-NEXT: 1 3 1.00 U fucompi %st(3), %st
|
||||
# CHECK-NEXT: 1 100 0.50 U wait
|
||||
# CHECK-NEXT: 1 100 0.50 U fxam
|
||||
# CHECK-NEXT: 1 3 1.00 U fxam
|
||||
# CHECK-NEXT: 1 1 0.50 U fxch %st(1)
|
||||
# CHECK-NEXT: 1 1 0.50 U fxch %st(3)
|
||||
# CHECK-NEXT: 1 100 0.50 * * U fxrstor (%eax)
|
||||
@ -373,7 +373,7 @@ fyl2xp1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
|
||||
# CHECK-NEXT: 42.00 20.00 - 54.00 349.00 54.00 34.00 39.00 - 13.00 7.00 - - -
|
||||
# CHECK-NEXT: 42.50 19.50 - 55.00 349.00 55.00 34.00 39.00 - 13.00 7.00 - - -
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
|
||||
@ -517,7 +517,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucomi %st(3), %st
|
||||
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucompi %st(3), %st
|
||||
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - wait
|
||||
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxam
|
||||
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fxam
|
||||
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxch %st(1)
|
||||
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxch %st(3)
|
||||
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxrstor (%eax)
|
||||
|
@ -346,7 +346,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: 3 3 1.00 U fucomi %st(3), %st
|
||||
# CHECK-NEXT: 3 3 1.00 U fucompi %st(3), %st
|
||||
# CHECK-NEXT: 1 100 0.33 U wait
|
||||
# CHECK-NEXT: 1 100 0.33 U fxam
|
||||
# CHECK-NEXT: 1 1 1.00 U fxam
|
||||
# CHECK-NEXT: 1 1 0.33 U fxch %st(1)
|
||||
# CHECK-NEXT: 1 1 0.33 U fxch %st(3)
|
||||
# CHECK-NEXT: 5 5 2.00 * * U fxrstor (%eax)
|
||||
@ -367,7 +367,7 @@ fyl2xp1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
|
||||
# CHECK-NEXT: - 136.00 52.67 90.67 17.00 54.67 34.00 34.00
|
||||
# CHECK-NEXT: - 136.00 53.33 90.33 17.00 54.33 34.00 34.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
|
||||
@ -511,7 +511,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucomi %st(3), %st
|
||||
# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucompi %st(3), %st
|
||||
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - wait
|
||||
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxam
|
||||
# CHECK-NEXT: - - 1.00 - - - - - fxam
|
||||
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxch %st(1)
|
||||
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxch %st(3)
|
||||
# CHECK-NEXT: - - 0.50 0.50 1.00 2.00 0.50 0.50 fxrstor (%eax)
|
||||
|
@ -346,7 +346,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: 1 3 1.00 U fucomi %st(3), %st
|
||||
# CHECK-NEXT: 1 3 1.00 U fucompi %st(3), %st
|
||||
# CHECK-NEXT: 1 100 1.00 U wait
|
||||
# CHECK-NEXT: 1 100 1.00 U fxam
|
||||
# CHECK-NEXT: 1 1 0.50 U fxam
|
||||
# CHECK-NEXT: 1 1 0.50 U fxch %st(1)
|
||||
# CHECK-NEXT: 1 1 0.50 U fxch %st(3)
|
||||
# CHECK-NEXT: 1 100 1.00 * * U fxrstor (%eax)
|
||||
@ -367,7 +367,7 @@ fyl2xp1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
|
||||
# CHECK-NEXT: - 312.00 16.00 65.00 61.00 9.50 9.50 52.00
|
||||
# CHECK-NEXT: - 312.00 16.00 64.50 61.50 9.50 9.50 52.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
|
||||
@ -511,7 +511,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: - - - - 1.00 - - - fucomi %st(3), %st
|
||||
# CHECK-NEXT: - - - - 1.00 - - - fucompi %st(3), %st
|
||||
# CHECK-NEXT: - - - 1.00 - - - - wait
|
||||
# CHECK-NEXT: - - - 1.00 - - - - fxam
|
||||
# CHECK-NEXT: - - - 0.50 0.50 - - - fxam
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - fxch %st(1)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - fxch %st(3)
|
||||
# CHECK-NEXT: - - - 1.00 - - - - fxrstor (%eax)
|
||||
|
@ -346,7 +346,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: 3 3 1.00 U fucomi %st(3), %st
|
||||
# CHECK-NEXT: 3 3 1.00 U fucompi %st(3), %st
|
||||
# CHECK-NEXT: 1 100 0.33 U wait
|
||||
# CHECK-NEXT: 1 100 0.33 U fxam
|
||||
# CHECK-NEXT: 1 1 1.00 U fxam
|
||||
# CHECK-NEXT: 1 1 0.33 U fxch %st(1)
|
||||
# CHECK-NEXT: 1 1 0.33 U fxch %st(3)
|
||||
# CHECK-NEXT: 5 5 2.00 * * U fxrstor (%eax)
|
||||
@ -367,7 +367,7 @@ fyl2xp1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
|
||||
# CHECK-NEXT: - 136.00 52.67 90.67 17.00 54.67 34.00 34.00
|
||||
# CHECK-NEXT: - 136.00 53.33 90.33 17.00 54.33 34.00 34.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
|
||||
@ -511,7 +511,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucomi %st(3), %st
|
||||
# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucompi %st(3), %st
|
||||
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - wait
|
||||
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxam
|
||||
# CHECK-NEXT: - - 1.00 - - - - - fxam
|
||||
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxch %st(1)
|
||||
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxch %st(3)
|
||||
# CHECK-NEXT: - - 0.50 0.50 1.00 2.00 0.50 0.50 fxrstor (%eax)
|
||||
|
@ -346,7 +346,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: 1 2 1.00 U fucomi %st(3), %st
|
||||
# CHECK-NEXT: 1 2 1.00 U fucompi %st(3), %st
|
||||
# CHECK-NEXT: 2 2 0.50 U wait
|
||||
# CHECK-NEXT: 1 100 0.25 U fxam
|
||||
# CHECK-NEXT: 1 2 1.00 U fxam
|
||||
# CHECK-NEXT: 15 17 4.00 U fxch %st(1)
|
||||
# CHECK-NEXT: 15 17 4.00 U fxch %st(3)
|
||||
# CHECK-NEXT: 90 63 16.50 * * U fxrstor (%eax)
|
||||
@ -369,7 +369,7 @@ fyl2xp1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
|
||||
# CHECK-NEXT: - 7.00 126.75 52.25 49.00 49.00 27.00 149.75 69.25 9.00
|
||||
# CHECK-NEXT: - 7.00 127.50 52.00 49.00 49.00 27.00 149.50 69.00 9.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
|
||||
@ -513,7 +513,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: - - 1.00 - - - - - - - fucomi %st(3), %st
|
||||
# CHECK-NEXT: - - 1.00 - - - - - - - fucompi %st(3), %st
|
||||
# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait
|
||||
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxam
|
||||
# CHECK-NEXT: - - 1.00 - - - - - - - fxam
|
||||
# CHECK-NEXT: - - 4.00 2.00 - - - 4.00 5.00 - fxch %st(1)
|
||||
# CHECK-NEXT: - - 4.00 2.00 - - - 4.00 5.00 - fxch %st(3)
|
||||
# CHECK-NEXT: - - 17.25 12.25 16.50 16.50 - 12.75 14.75 - fxrstor (%eax)
|
||||
|
@ -346,7 +346,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: 1 2 1.00 U fucomi %st(3), %st
|
||||
# CHECK-NEXT: 1 2 1.00 U fucompi %st(3), %st
|
||||
# CHECK-NEXT: 2 2 0.50 U wait
|
||||
# CHECK-NEXT: 1 100 0.25 U fxam
|
||||
# CHECK-NEXT: 1 2 1.00 U fxam
|
||||
# CHECK-NEXT: 15 17 4.00 U fxch %st(1)
|
||||
# CHECK-NEXT: 15 17 4.00 U fxch %st(3)
|
||||
# CHECK-NEXT: 90 63 16.50 * * U fxrstor (%eax)
|
||||
@ -369,7 +369,7 @@ fyl2xp1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
|
||||
# CHECK-NEXT: - 7.00 126.75 52.25 49.00 49.00 27.00 149.75 69.25 9.00
|
||||
# CHECK-NEXT: - 7.00 127.50 52.00 49.00 49.00 27.00 149.50 69.00 9.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
|
||||
@ -513,7 +513,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: - - 1.00 - - - - - - - fucomi %st(3), %st
|
||||
# CHECK-NEXT: - - 1.00 - - - - - - - fucompi %st(3), %st
|
||||
# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait
|
||||
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxam
|
||||
# CHECK-NEXT: - - 1.00 - - - - - - - fxam
|
||||
# CHECK-NEXT: - - 4.00 2.00 - - - 4.00 5.00 - fxch %st(1)
|
||||
# CHECK-NEXT: - - 4.00 2.00 - - - 4.00 5.00 - fxch %st(3)
|
||||
# CHECK-NEXT: - - 17.25 12.25 16.50 16.50 - 12.75 14.75 - fxrstor (%eax)
|
||||
|
@ -346,7 +346,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: 1 3 1.00 U fucomi %st(3), %st
|
||||
# CHECK-NEXT: 1 3 1.00 U fucompi %st(3), %st
|
||||
# CHECK-NEXT: 100 100 25.00 U wait
|
||||
# CHECK-NEXT: 100 100 25.00 U fxam
|
||||
# CHECK-NEXT: 2 1 1.00 U fxam
|
||||
# CHECK-NEXT: 1 1 1.00 U fxch %st(1)
|
||||
# CHECK-NEXT: 1 1 1.00 U fxch %st(3)
|
||||
# CHECK-NEXT: 100 100 25.00 * * U fxrstor (%eax)
|
||||
@ -382,7 +382,7 @@ fyl2xp1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
|
||||
# CHECK-NEXT: 10.67 10.67 10.67 886.50 886.50 886.50 886.50 - 137.00 203.00 119.00 119.00 13.50 13.50 - 24.00 24.00 24.00 15.33 15.33 15.33 13.00 13.00
|
||||
# CHECK-NEXT: 10.67 10.67 10.67 861.50 861.50 861.50 861.50 - 137.00 204.00 120.00 119.00 13.50 13.50 - 24.00 24.00 24.00 15.33 15.33 15.33 13.00 13.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
|
||||
@ -526,7 +526,7 @@ fyl2xp1
|
||||
# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fucomi %st(3), %st
|
||||
# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - fucompi %st(3), %st
|
||||
# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - wait
|
||||
# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fxam
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - fxam
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - fxch %st(1)
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - fxch %st(3)
|
||||
# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - fxrstor (%eax)
|
||||
|
Loading…
Reference in New Issue
Block a user