void helper_ldf_asi(target_ulong addr, int asi, int size, int rd)
{
    unsigned int i;
    target_ulong val;
    helper_check_align(addr, 3);
    addr = asi_address_mask(env, asi, addr);
    switch (asi) {
    case 0xf0: // Block load primary
    case 0xf1: // Block load secondary
    case 0xf8: // Block load primary LE
    case 0xf9: // Block load secondary LE
            *(uint32_t *)&env->fpr[rd++] = helper_ld_asi(addr, asi & 0x8f, 4,
    default:
        break;
    val = helper_ld_asi(addr, asi, size, 0);
    switch(size) {
    default:
    case 4:
        *((uint32_t *)&env->fpr[rd]) = val;
        break;
    case 8:
        *((int64_t *)&DT0) = val;
        break;
    case 16:
        // XXX
        break;
void helper_ldf_asi(target_ulong addr, int asi, int size, int rd)
{
    unsigned int i;
    target_ulong val;
    helper_check_align(addr, 3);
    addr = asi_address_mask(env, asi, addr);
    switch (asi) {
    case 0xf0: 
    case 0xf1: 
    case 0xf8:  LE
    case 0xf9:  LE
            *(uint32_t *)&env->fpr[rd++] = helper_ld_asi(addr, asi & 0x8f, 4,
    default:
        break;
    val = helper_ld_asi(addr, asi, size, 0);
    switch(size) {
    default:
    case 4:
        *((uint32_t *)&env->fpr[rd]) = val;
        break;
    case 8:
        *((int64_t *)&DT0) = val;
        break;
    case 16:
        
        break;
void FUNC_0(target_ulong VAR_0, int VAR_1, int VAR_2, int VAR_3)
{
    unsigned int VAR_4;
    target_ulong val;
    helper_check_align(VAR_0, 3);
    VAR_0 = asi_address_mask(env, VAR_1, VAR_0);
    switch (VAR_1) {
    case 0xf0: 
    case 0xf1: 
    case 0xf8:  LE
    case 0xf9:  LE
            *(uint32_t *)&env->fpr[VAR_3++] = helper_ld_asi(VAR_0, VAR_1 & 0x8f, 4,
    default:
        break;
    val = helper_ld_asi(VAR_0, VAR_1, VAR_2, 0);
    switch(VAR_2) {
    default:
    case 4:
        *((uint32_t *)&env->fpr[VAR_3]) = val;
        break;
    case 8:
        *((int64_t *)&DT0) = val;
        break;
    case 16:
        
        break;
void FUNC_0(target_ulong VAR_0, int VAR_1, int VAR_2, int VAR_3)
{ unsigned int VAR_4; target_ulong val; helper_check_align(VAR_0, 3); VAR_0 = asi_address_mask(env, VAR_1, VAR_0); switch (VAR_1) { case 0xf0:
case 0xf1:
case 0xf8:  LE
case 0xf9:  LE
*(uint32_t *)&env->fpr[VAR_3++] = helper_ld_asi(VAR_0, VAR_1 & 0x8f, 4,
default:
break; val = helper_ld_asi(VAR_0, VAR_1, VAR_2, 0); switch(VAR_2) { default:
case 4:
*((uint32_t *)&env->fpr[VAR_3]) = val; break; case 8:
*((int64_t *)&DT0) = val; break; case 16:
break;