Revision 0e2fa9ca

b/target-sparc/op_helper.c
3164 3164
        }
3165 3165

  
3166 3166
        return;
3167
    case 0x70: // Block load primary, user privilege
3168
    case 0x71: // Block load secondary, user privilege
3169
        if (rd & 7) {
3170
            raise_exception(TT_ILL_INSN);
3171
            return;
3172
        }
3173
        helper_check_align(addr, 0x3f);
3174
        for (i = 0; i < 16; i++) {
3175
            *(uint32_t *)&env->fpr[rd++] = helper_ld_asi(addr, asi & 0x1f, 4,
3176
                                                         0);
3177
            addr += 4;
3178
        }
3179

  
3180
        return;
3167 3181
    default:
3168 3182
        break;
3169 3183
    }
......
3210 3224
        }
3211 3225

  
3212 3226
        return;
3227
    case 0x70: // Block store primary, user privilege
3228
    case 0x71: // Block store secondary, user privilege
3229
        if (rd & 7) {
3230
            raise_exception(TT_ILL_INSN);
3231
            return;
3232
        }
3233
        helper_check_align(addr, 0x3f);
3234
        for (i = 0; i < 16; i++) {
3235
            val = *(uint32_t *)&env->fpr[rd++];
3236
            helper_st_asi(addr, val, asi & 0x1f, 4);
3237
            addr += 4;
3238
        }
3239

  
3240
        return;
3213 3241
    default:
3214 3242
        break;
3215 3243
    }

Also available in: Unified diff