On 2/22/15 09:08, Chen Gang S wrote:
> On 2/22/15 08:25, Chris Metcalf wrote:
[...]
>> Similarly, if any pipeline takes an exception (a TLB fault from a memory op,
>> a GPV fault from an illegal mfspr, etc) then no pipeline completes its
>> action.
>>
>
> Oh, really !! And I guess, Richard's co
On 2/22/15 08:25, Chris Metcalf wrote:
> On 2/21/2015 7:25 PM, Chen Gang S wrote:
>> On 2/22/15 00:33, Richard Henderson wrote:
>>> >On 02/21/2015 07:31 AM, Chen Gang S wrote:
>>
>> - We can still use the original pipes order: "y0, y2, y1" and "x0, x1".
>>> >
>>> >I guess, sure, though I
On 2/21/2015 7:25 PM, Chen Gang S wrote:
On 2/22/15 00:33, Richard Henderson wrote:
>On 02/21/2015 07:31 AM, Chen Gang S wrote:
>>
>> - We can still use the original pipes order: "y0, y2, y1" and "x0, x1".
>
>I guess, sure, though I don't think that'll help as much as you imagine.
>
OK, tha
On 2/22/15 00:33, Richard Henderson wrote:
> On 02/21/2015 07:31 AM, Chen Gang S wrote:
>>
>> - We can still use the original pipes order: "y0, y2, y1" and "x0, x1".
>
> I guess, sure, though I don't think that'll help as much as you imagine.
>
>> - y0, y2, and x0 need to use tcg temporary vari
On 02/21/2015 07:31 AM, Chen Gang S wrote:
>
> Oh, we can not only assume y1 and x1 is the last execution in a bundle,
> e.g. in __libc_start_main:
>
>11330: c6f106c685928d8a{ addi r10, sp, 40 ; addi r13, sp, 32
> ; st r25, r30 }
>11338: 286201401fca{ move
I guess, y2 does not need tcg temporary variables either, since it is
only for ld/st operation (all memory operations must be only processed
by y2 or x1).
At present, I can generate the tcg code for _start TB block, and can
execute to 2nd TB block __libc_start_main (although I don't know whether
Oh, we can not only assume y1 and x1 is the last execution in a bundle,
e.g. in __libc_start_main:
11330: c6f106c685928d8a{ addi r10, sp, 40 ; addi r13, sp, 32 ;
st r25, r30 }
11338: 286201401fca{ moveli r10, 0 ; st r10, r0 }
In this case, r10 will be over
On 2/21/15 11:05, Chen Gang S wrote:
> At present finish decoding the first TB block: _start. Always let y1 and
> x1 pipe at the last which may content jump instructions.
>
> The related disassembly code is below which is the same as the objdump:
>
> y0: 500bfdb4 move r52, r54
> y2:
At present finish decoding the first TB block: _start. Always let y1 and
x1 pipe at the last which may content jump instructions.
The related disassembly code is below which is the same as the objdump:
y0: 500bfdb4 move r52, r54
y2: 02080760 ld r1, r54
y1: 1c064000