diff options
Diffstat (limited to 'src/devices/cpu/rsp/vldst.h')
-rw-r--r-- | src/devices/cpu/rsp/vldst.h | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/src/devices/cpu/rsp/vldst.h b/src/devices/cpu/rsp/vldst.h deleted file mode 100644 index fadc8be63c0..00000000000 --- a/src/devices/cpu/rsp/vldst.h +++ /dev/null @@ -1,69 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Tyler J. Stachecki,Ryan Holtz - -// LBV, LDV, LLV, LSV, SBV, SDV, SLV, SSV -inline void vec_lbdlsv_sbdlsv(uint32_t iw, uint32_t rs) -{ - const uint32_t shift_and_idx = (iw >> 11) & 0x3; - rsp_vec_t dqm = _mm_loadl_epi64((rsp_vec_t *) (m_vec_helpers.bdls_lut[shift_and_idx])); - - const uint32_t addr = (rs + (sign_extend_6(iw) << shift_and_idx)) & 0xfff; - const uint32_t element = (iw >> 7) & 0xf; - uint16_t* regp = m_v[(iw >> 16) & 0x1f].s; - - if (iw >> 29 & 0x1) - { - vec_store_group1(addr, element, regp, vec_load_unshuffled_operand(regp), dqm); - } - else - { - vec_load_group1(addr, element, regp, vec_load_unshuffled_operand(regp), dqm); - } -} - -// LPV, LUV, SPV, SUV -inline void vec_lfhpuv_sfhpuv(uint32_t iw, uint32_t rs) -{ - static const enum rsp_mem_request_type fhpu_type_lut[4] = { - RSP_MEM_REQUEST_PACK, - RSP_MEM_REQUEST_UPACK, - RSP_MEM_REQUEST_HALF, - RSP_MEM_REQUEST_FOURTH - }; - - const uint32_t addr = (rs + (sign_extend_6(iw) << 3)) & 0xfff; - const uint32_t element = (iw >> 7) & 0xf; - uint16_t* regp = m_v[(iw >> 16) & 0x1f].s; - - rsp_mem_request_type request_type = fhpu_type_lut[((iw >> 11) & 0x1f) - 6]; - if ((iw >> 29) & 0x1) - { - vec_store_group2(addr, element, regp, vec_load_unshuffled_operand(regp), _mm_setzero_si128(), request_type); - } - else - { - vec_load_group2(addr, element, regp, vec_load_unshuffled_operand(regp), _mm_setzero_si128(), request_type); - } -} - -// LQV, LRV, SQV, SRV -inline void vec_lqrv_sqrv(uint32_t iw, uint32_t rs) -{ - rs &= 0xfff; - - const uint32_t addr = rs + (sign_extend_6(iw) << 4); - const uint32_t element = (iw >> 7) & 0xf; - uint16_t* regp = m_v[(iw >> 16) & 0x1f].s; - - memcpy(m_vdqm.s, m_vec_helpers.qr_lut[addr & 0xf], sizeof(m_vdqm.s)); - - rsp_mem_request_type request_type = (iw >> 11 & 0x1) ? RSP_MEM_REQUEST_REST : RSP_MEM_REQUEST_QUAD; - if ((iw >> 29) & 0x1) - { - vec_store_group4(addr, element, regp, vec_load_unshuffled_operand(regp), vec_load_unshuffled_operand(m_vdqm.s), request_type); - } - else - { - vec_load_group4(addr, element, regp, vec_load_unshuffled_operand(regp), vec_load_unshuffled_operand(m_vdqm.s), request_type); - } -} |