1a2e67072SMax Filippov#include "macros.inc" 2c09015ddSAnthony Liguori 3c09015ddSAnthony Liguoritest_suite mul16 4c09015ddSAnthony Liguori 5*50f0171aSMax Filippov#if XCHAL_HAVE_MUL16 6*50f0171aSMax Filippov 7c09015ddSAnthony Liguoritest mul16u_pp 8c09015ddSAnthony Liguori movi a2, 0x137f5a5a 9c09015ddSAnthony Liguori mov a3, a2 10c09015ddSAnthony Liguori movi a4, 0xa5a5137f 11c09015ddSAnthony Liguori movi a6, 0x06e180a6 12c09015ddSAnthony Liguori mul16u a5, a2, a4 13c09015ddSAnthony Liguori assert eq, a5, a6 14c09015ddSAnthony Liguori mul16u a2, a2, a4 15c09015ddSAnthony Liguori assert eq, a2, a6 16c09015ddSAnthony Liguori mul16u a3, a4, a3 17c09015ddSAnthony Liguori assert eq, a3, a6 18c09015ddSAnthony Liguoritest_end 19c09015ddSAnthony Liguori 20c09015ddSAnthony Liguoritest mul16u_np 21c09015ddSAnthony Liguori movi a2, 0x137fa5a5 22c09015ddSAnthony Liguori mov a3, a2 23c09015ddSAnthony Liguori movi a4, 0xa5a5137f 24c09015ddSAnthony Liguori movi a6, 0x0c9d6bdb 25c09015ddSAnthony Liguori mul16u a5, a2, a4 26c09015ddSAnthony Liguori assert eq, a5, a6 27c09015ddSAnthony Liguori mul16u a2, a2, a4 28c09015ddSAnthony Liguori assert eq, a2, a6 29c09015ddSAnthony Liguori mul16u a3, a4, a3 30c09015ddSAnthony Liguori assert eq, a3, a6 31c09015ddSAnthony Liguoritest_end 32c09015ddSAnthony Liguori 33c09015ddSAnthony Liguoritest mul16u_nn 34c09015ddSAnthony Liguori movi a2, 0x137fa5a5 35c09015ddSAnthony Liguori mov a3, a2 36c09015ddSAnthony Liguori movi a4, 0xa5a5f731 37c09015ddSAnthony Liguori movi a6, 0x9ff1e795 38c09015ddSAnthony Liguori mul16u a5, a2, a4 39c09015ddSAnthony Liguori assert eq, a5, a6 40c09015ddSAnthony Liguori mul16u a2, a2, a4 41c09015ddSAnthony Liguori assert eq, a2, a6 42c09015ddSAnthony Liguori mul16u a3, a4, a3 43c09015ddSAnthony Liguori assert eq, a3, a6 44c09015ddSAnthony Liguoritest_end 45c09015ddSAnthony Liguori 46c09015ddSAnthony Liguoritest mul16s_pp 47c09015ddSAnthony Liguori movi a2, 0x137f5a5a 48c09015ddSAnthony Liguori mov a3, a2 49c09015ddSAnthony Liguori movi a4, 0xa5a5137f 50c09015ddSAnthony Liguori movi a6, 0x06e180a6 51c09015ddSAnthony Liguori mul16s a5, a2, a4 52c09015ddSAnthony Liguori assert eq, a5, a6 53c09015ddSAnthony Liguori mul16s a2, a2, a4 54c09015ddSAnthony Liguori assert eq, a2, a6 55c09015ddSAnthony Liguori mul16s a3, a4, a3 56c09015ddSAnthony Liguori assert eq, a3, a6 57c09015ddSAnthony Liguoritest_end 58c09015ddSAnthony Liguori 59c09015ddSAnthony Liguoritest mul16s_np 60c09015ddSAnthony Liguori movi a2, 0x137fa5a5 61c09015ddSAnthony Liguori mov a3, a2 62c09015ddSAnthony Liguori movi a4, 0xa5a5137f 63c09015ddSAnthony Liguori movi a6, 0xf91e6bdb 64c09015ddSAnthony Liguori mul16s a5, a2, a4 65c09015ddSAnthony Liguori assert eq, a5, a6 66c09015ddSAnthony Liguori mul16s a2, a2, a4 67c09015ddSAnthony Liguori assert eq, a2, a6 68c09015ddSAnthony Liguori mul16s a3, a4, a3 69c09015ddSAnthony Liguori assert eq, a3, a6 70c09015ddSAnthony Liguoritest_end 71c09015ddSAnthony Liguori 72c09015ddSAnthony Liguoritest mul16s_nn 73c09015ddSAnthony Liguori movi a2, 0x137fa5a5 74c09015ddSAnthony Liguori mov a3, a2 75c09015ddSAnthony Liguori movi a4, 0xa5a5f731 76c09015ddSAnthony Liguori movi a6, 0x031be795 77c09015ddSAnthony Liguori mul16s a5, a2, a4 78c09015ddSAnthony Liguori assert eq, a5, a6 79c09015ddSAnthony Liguori mul16s a2, a2, a4 80c09015ddSAnthony Liguori assert eq, a2, a6 81c09015ddSAnthony Liguori mul16s a3, a4, a3 82c09015ddSAnthony Liguori assert eq, a3, a6 83c09015ddSAnthony Liguoritest_end 84c09015ddSAnthony Liguori 85*50f0171aSMax Filippov#endif 86*50f0171aSMax Filippov 87c09015ddSAnthony Liguoritest_suite_end 88