@@ -295,10 +295,7 @@ CM_NODEBUG CM_INLINE typename std::enable_if<
295
295
std::is_integral<U>::value,
296
296
vector<T0, SZ> >::type
297
297
cm_shr (vector<T1, SZ> src0, U src1, int flag = _GENX_NOSAT) {
298
- typedef typename details::computation_type<decltype (src0), U>::type ComputationTy;
299
- typename details::vector_type<ComputationTy>::type _Src0 = src0;
300
- typename details::vector_type<ComputationTy>::type _Src1 = src1;
301
- typename details::vector_type<ComputationTy>::type _Result = _Src0 >> _Src1;
298
+ vector<T0, SZ> _Result = src0 >> src1;
302
299
303
300
if (flag != _GENX_SAT)
304
301
return _Result;
@@ -323,9 +320,8 @@ CM_NODEBUG CM_INLINE typename std::enable_if<
323
320
std::is_integral<T1>::value &&std::is_integral<T2>::value,
324
321
typename std::remove_const<T0>::type>::type
325
322
cm_shr (T1 src0, T2 src1, int flag = _GENX_NOSAT) {
326
- typedef typename details::computation_type<T1, T2>::type ComputationTy;
327
- typename details::vector_type<ComputationTy>::type _Src0 = src0;
328
- typename details::vector_type<ComputationTy>::type _Src1 = src1;
323
+ typename details::vector_type<T1>::type _Src0 = src0;
324
+ typename details::vector_type<T2>::type _Src1 = src1;
329
325
vector<T0, 1 > _Result = cm_shr<T0>(_Src0, _Src1, flag);
330
326
return _Result (0 );
331
327
}
0 commit comments