https://bugs.kde.org/show_bug.cgi?id=385409

--- Comment #31 from Julian Seward <jsew...@acm.org> ---
(In reply to Florian Weimer from comment #29)
> Created attachment 114302 [details]
> Use guarded loads in the guest
> 
> This patch changes the guest code to use guarded loads.
> 
> However, this insufficient because the isel implementation does not handle
> Ist_LoadG.  I don't know how to fix this.

Look at how the amd64 back end does it.  It basically is going to be a
completely normal unconditional load that has a conditional branch 
in front of it.

> s390_insn_cond_move does not perform the U8 → U32 zero extension, so it is
> not a good fit here (and even Ist_LoadG  with ILGop_8Uto32 is a bit off in
> this context, we would need ILGop_Ident8).

This doesn't matter very much.  Presumably s390 has an instruction that
loads 8 bits from memory and zero extends the loaded value out to 64 bits.
Then you can use the ILGop_8Uto64 descriptor in your conditional load.  The
narrowing operations that you will have to use afterwards (64to8, or 32to8)
become no-ops in the generated code, so there's no performance disadvantage
to using an 8bits-to-64bits-and-back-to-8bits scheme.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to