Revision 739734cb tcg/hppa/tcg-target.c

b/tcg/hppa/tcg-target.c
904 904
       CPU_TLB_ENTRY_BITS is > 3, so we can't merge that shift with the
905 905
       add that follows.  */
906 906
    tcg_out_extr(s, r1, addrlo, TARGET_PAGE_BITS, CPU_TLB_BITS, 0);
907
    tcg_out_andi(s, r0, addrlo, TARGET_PAGE_MASK | ((1 << s_bits) - 1));
908 907
    tcg_out_shli(s, r1, r1, CPU_TLB_ENTRY_BITS);
909 908
    tcg_out_arith(s, r1, r1, TCG_AREG0, INSN_ADDL);
910 909

  
......
927 926
        tcg_out_ld(s, TCG_TYPE_PTR, TCG_REG_R20, r1, offset);
928 927
    }
929 928

  
929
    /* Compute the value that ought to appear in the TLB for a hit, namely, the page
930
       of the address.  We include the low N bits of the address to catch unaligned
931
       accesses and force them onto the slow path.  Do this computation after having
932
       issued the load from the TLB slot to give the load time to complete.  */
933
    tcg_out_andi(s, r0, addrlo, TARGET_PAGE_MASK | ((1 << s_bits) - 1));
934

  
930 935
    /* If not equal, jump to lab_miss. */
931 936
    if (TARGET_LONG_BITS == 64) {
932 937
        tcg_out_brcond2(s, TCG_COND_NE, TCG_REG_R20, TCG_REG_R23,

Also available in: Unified diff