| 1689 | typename TLoadVector, typename TResultVector, |
| 1690 | typename TElemFunc, typename TFunc, typename TOp> |
| 1691 | void TSSEEmulTest::Test_mm_convertop() { |
| 1692 | char data[16] = { |
| 1693 | '\xAA', '\x00', '\xFF', '\xCC', '\x11', '\x22', '\xBB', '\xAA', |
| 1694 | '\x33', '\x99', '\x44', '\x88', '\x55', '\x77', '\x66', '\x1C'}; |
| 1695 | TFrom* datap = reinterpret_cast<TFrom*>(&data); |
| 1696 | |
| 1697 | TLoadVector value = TFuncLoad<TLoadVector>(&data); |
| 1698 | |
| 1699 | TTo procData[elemCount]; |
| 1700 | for (unsigned i = 0; i < elemCount; ++i) { |
| 1701 | procData[i] = TElemFunc::Call(datap[i]); |
| 1702 | } |
| 1703 | |
| 1704 | TResultVector result = TFunc(value); |
| 1705 | |
| 1706 | for (unsigned i = 0; i < elemCount; ++i) { |
| 1707 | UNIT_ASSERT_EQUAL(procData[i], TQType<TOp>::As(result)[i]); |
| 1708 | } |
| 1709 | } |
| 1710 | |
| 1711 | void TSSEEmulTest::Test_mm_cvtepi32_ps() { |
| 1712 | struct THelper { |