Lines Matching refs:wt
5112 T Simulator::Msa3RInstrHelper(uint32_t opcode, T wd, T ws, T wt) { in Msa3RInstrHelper() argument
5115 int wt_modulo = wt % (sizeof(T) * 8); in Msa3RInstrHelper()
5158 res = ws + wt; in Msa3RInstrHelper()
5161 res = ws - wt; in Msa3RInstrHelper()
5164 res = Max(ws, wt); in Msa3RInstrHelper()
5167 res = static_cast<T>(Max(static_cast<uT>(ws), static_cast<uT>(wt))); in Msa3RInstrHelper()
5170 res = Min(ws, wt); in Msa3RInstrHelper()
5173 res = static_cast<T>(Min(static_cast<uT>(ws), static_cast<uT>(wt))); in Msa3RInstrHelper()
5178 res = Nabs(ws) < Nabs(wt) ? ws : wt; in Msa3RInstrHelper()
5183 res = Nabs(ws) > Nabs(wt) ? ws : wt; in Msa3RInstrHelper()
5186 res = static_cast<T>(!Compare(ws, wt) ? -1ull : 0ull); in Msa3RInstrHelper()
5189 res = static_cast<T>((Compare(ws, wt) == -1) ? -1ull : 0ull); in Msa3RInstrHelper()
5193 (Compare(static_cast<uT>(ws), static_cast<uT>(wt)) == -1) ? -1ull in Msa3RInstrHelper()
5197 res = static_cast<T>((Compare(ws, wt) != 1) ? -1ull : 0ull); in Msa3RInstrHelper()
5201 (Compare(static_cast<uT>(ws), static_cast<uT>(wt)) != 1) ? -1ull in Msa3RInstrHelper()
5205 res = static_cast<T>(Abs(ws) + Abs(wt)); in Msa3RInstrHelper()
5209 T wt_nabs = Nabs(wt); in Msa3RInstrHelper()
5217 res = SaturateAdd(ws, wt); in Msa3RInstrHelper()
5221 uT wt_u = static_cast<uT>(wt); in Msa3RInstrHelper()
5225 res = static_cast<T>((wt & ws) + ((wt ^ ws) >> 1)); in Msa3RInstrHelper()
5229 uT wt_u = static_cast<uT>(wt); in Msa3RInstrHelper()
5233 res = static_cast<T>((wt | ws) - ((wt ^ ws) >> 1)); in Msa3RInstrHelper()
5237 uT wt_u = static_cast<uT>(wt); in Msa3RInstrHelper()
5241 res = SaturateSub(ws, wt); in Msa3RInstrHelper()
5245 uT wt_u = static_cast<uT>(wt); in Msa3RInstrHelper()
5250 if (wt > 0) { in Msa3RInstrHelper()
5251 uT wtu = static_cast<uT>(wt); in Msa3RInstrHelper()
5258 if (wsu > std::numeric_limits<uT>::max() + wt) { in Msa3RInstrHelper()
5261 res = static_cast<T>(wsu - wt); in Msa3RInstrHelper()
5267 uT wtu = static_cast<uT>(wt); in Msa3RInstrHelper()
5288 res = static_cast<T>(Abs(ws - wt)); in Msa3RInstrHelper()
5292 uT wtu = static_cast<uT>(wt); in Msa3RInstrHelper()
5296 res = ws * wt; in Msa3RInstrHelper()
5299 res = wd + ws * wt; in Msa3RInstrHelper()
5302 res = wd - ws * wt; in Msa3RInstrHelper()
5305 res = wt != 0 ? ws / wt : static_cast<T>(Unpredictable); in Msa3RInstrHelper()
5308 res = wt != 0 ? static_cast<T>(static_cast<uT>(ws) / static_cast<uT>(wt)) in Msa3RInstrHelper()
5312 res = wt != 0 ? ws % wt : static_cast<T>(Unpredictable); in Msa3RInstrHelper()
5315 res = wt != 0 ? static_cast<T>(static_cast<uT>(ws) % static_cast<uT>(wt)) in Msa3RInstrHelper()
5343 void Msa3RInstrHelper_shuffle(const uint32_t opcode, T_reg ws, T_reg wt, in Msa3RInstrHelper_shuffle() argument
5347 wt_p = reinterpret_cast<T_int*>(wt); in Msa3RInstrHelper_shuffle()
5390 void Msa3RInstrHelper_horizontal(const uint32_t opcode, T_reg ws, T_reg wt, in Msa3RInstrHelper_horizontal() argument
5398 wt_p = reinterpret_cast<T_smaller_int*>(wt); in Msa3RInstrHelper_horizontal()
5403 wt_pu = reinterpret_cast<T_smaller_uint*>(wt); in Msa3RInstrHelper_horizontal()
5431 msa_reg_t ws, wd, wt; in DecodeTypeMsa3R() local
5433 get_msa_register(wt_reg(), &wt); in DecodeTypeMsa3R()
5443 opcode, &ws, &wt, &wd, i, num_of_lanes); \ in DecodeTypeMsa3R()
5463 Msa3RInstrHelper_shuffle<int_type>(opcode, &ws, &wt, &wd, i, \ in DecodeTypeMsa3R()
5492 Msa3RInstrHelper_shuffle<int_type>(opcode, &ws, &wt, &wd, i, \ in DecodeTypeMsa3R()
5516 wd.elem[i] = Msa3RInstrHelper(opcode, wd.elem[i], ws.elem[i], wt.elem[i]); \ in DecodeTypeMsa3R()
5543 void Msa3RFInstrHelper(uint32_t opcode, T_reg ws, T_reg wt, T_reg& wd) { in Msa3RFInstrHelper() argument
5546 const T_fp t_element = *reinterpret_cast<T_fp*>(&wt); in Msa3RFInstrHelper()
5651 wd = bit_cast<T_int>(std::ldexp(s_element, static_cast<int>(wt))); in Msa3RFInstrHelper()
5686 void Msa3RFInstrHelper2(uint32_t opcode, T_reg ws, T_reg wt, T_reg& wd) { in Msa3RFInstrHelper2() argument
5693 const T_int_dbl reg_t = wt; in Msa3RFInstrHelper2()
5749 msa_reg_t wd, ws, wt; in DecodeTypeMsa3RF() local
5752 get_msa_register(wt_reg(), &wt); in DecodeTypeMsa3RF()
5842 FEXDO_DF(wt.uw[i], wd.uh[i]) in DecodeTypeMsa3RF()
5850 static_cast<float>(bit_cast<double>(wt.d[i]))); in DecodeTypeMsa3RF()
5880 FTQ_DF(wt.w[i], wd.h[i], float, int16_t) in DecodeTypeMsa3RF()
5887 FTQ_DF(wt.d[i], wd.w[i], double, int32_t) in DecodeTypeMsa3RF()
5895 #define MSA_3RF_DF(T1, T2, Lanes, ws, wt, wd) \ in DecodeTypeMsa3RF() argument
5897 Msa3RFInstrHelper<T1, T2>(opcode, ws, wt, wd); \ in DecodeTypeMsa3RF()
5899 #define MSA_3RF_DF2(T1, T2, Lanes, ws, wt, wd) \ in DecodeTypeMsa3RF() argument
5901 Msa3RFInstrHelper2<T1, T2>(opcode, ws, wt, wd); \ in DecodeTypeMsa3RF()
5913 MSA_3RF_DF2(int16_t, int32_t, kMSALanesHalf, ws.h[i], wt.h[i], in DecodeTypeMsa3RF()
5917 MSA_3RF_DF2(int32_t, int64_t, kMSALanesWord, ws.w[i], wt.w[i], in DecodeTypeMsa3RF()
5930 MSA_3RF_DF(int32_t, float, kMSALanesWord, ws.w[i], wt.w[i], wd.w[i]) in DecodeTypeMsa3RF()
5933 MSA_3RF_DF(int64_t, double, kMSALanesDword, ws.d[i], wt.d[i], wd.d[i]) in DecodeTypeMsa3RF()
5950 msa_reg_t wd, ws, wt; in DecodeTypeMsaVec() local
5953 get_msa_register(instr_.WtValue(), wt.d); in DecodeTypeMsaVec()
5961 wd.d[i] = ws.d[i] & wt.d[i]; in DecodeTypeMsaVec()
5964 wd.d[i] = ws.d[i] | wt.d[i]; in DecodeTypeMsaVec()
5967 wd.d[i] = ~(ws.d[i] | wt.d[i]); in DecodeTypeMsaVec()
5970 wd.d[i] = ws.d[i] ^ wt.d[i]; in DecodeTypeMsaVec()
5973 wd.d[i] = (wt.d[i] & ws.d[i]) | (~wt.d[i] & wd.d[i]); in DecodeTypeMsaVec()
5976 wd.d[i] = (~wt.d[i] & ws.d[i]) | (wt.d[i] & wd.d[i]); in DecodeTypeMsaVec()
5979 wd.d[i] = (~wd.d[i] & ws.d[i]) | (wd.d[i] & wt.d[i]); in DecodeTypeMsaVec()
6631 msa_reg_t wt; in DecodeTypeImmediate() local
6632 get_msa_register(wt_reg(), &wt); in DecodeTypeImmediate()
6633 BranchHelper_MSA(wt.d[0] == 0 && wt.d[1] == 0); in DecodeTypeImmediate()
6637 msa_reg_t wt; \ in DecodeTypeImmediate()
6638 get_msa_register(wt_reg(), &wt); \ in DecodeTypeImmediate()
6641 if (wt.witdh[i] == 0) { \ in DecodeTypeImmediate()
6661 msa_reg_t wt; in DecodeTypeImmediate() local
6662 get_msa_register(wt_reg(), &wt); in DecodeTypeImmediate()
6663 BranchHelper_MSA(wt.d[0] != 0 || wt.d[1] != 0); in DecodeTypeImmediate()
6667 msa_reg_t wt; \ in DecodeTypeImmediate()
6668 get_msa_register(wt_reg(), &wt); \ in DecodeTypeImmediate()
6671 if (wt.witdh[i] == 0) { \ in DecodeTypeImmediate()