1#include "macros.inc" 2#include "fpu.h" 3 4test_suite lsc 5 6#if XCHAL_HAVE_FP 7 8test lsi 9 movi a2, 1 10 wsr a2, cpenable 11 12 movi a2, 1f 13 lsi f1, a2, 4 14#if DFPU 15 lsi f2, a2, 8 16 lsip f0, a2, 8 17#else 18 lsi f0, a2, 0 19 lsiu f2, a2, 8 20#endif 21 movi a3, 1f + 8 22 assert eq, a2, a3 23 rfr a2, f0 24 movi a3, 0x3f800000 25 assert eq, a2, a3 26 rfr a2, f1 27 movi a3, 0x40000000 28 assert eq, a2, a3 29 rfr a2, f2 30 movi a3, 0x40400000 31 assert eq, a2, a3 32.data 33 .align 4 341: 35.float 1, 2, 3 36.text 37test_end 38 39test ssi 40 movi a2, 1f 41 movi a3, 0x40800000 42 wfr f3, a3 43 movi a3, 0x40a00000 44 wfr f4, a3 45 movi a3, 0x40c00000 46 wfr f5, a3 47 ssi f4, a2, 4 48#if DFPU 49 ssi f5, a2, 8 50 ssip f3, a2, 8 51#else 52 ssi f3, a2, 0 53 ssiu f5, a2, 8 54#endif 55 movi a3, 1f + 8 56 assert eq, a2, a3 57 l32i a4, a2, -8 58 movi a3, 0x40800000 59 assert eq, a4, a3 60 l32i a4, a2, -4 61 movi a3, 0x40a00000 62 assert eq, a4, a3 63 l32i a4, a2, 0 64 movi a3, 0x40c00000 65 assert eq, a4, a3 66.data 67 .align 4 681: 69.float 0, 0, 0 70.text 71test_end 72 73test lsx 74 movi a2, 1f 75 movi a3, 0 76 movi a4, 4 77 movi a5, 8 78 lsx f7, a2, a4 79#if DFPU 80 lsx f8, a2, a5 81 lsxp f6, a2, a5 82#else 83 lsx f6, a2, a3 84 lsxu f8, a2, a5 85#endif 86 movi a3, 1f + 8 87 assert eq, a2, a3 88 rfr a2, f6 89 movi a3, 0x40e00000 90 assert eq, a2, a3 91 rfr a2, f7 92 movi a3, 0x41000000 93 assert eq, a2, a3 94 rfr a2, f8 95 movi a3, 0x41100000 96 assert eq, a2, a3 97.data 98 .align 4 991: 100.float 7, 8, 9 101.text 102test_end 103 104test ssx 105 movi a2, 1f 106 movi a4, 0x41200000 107 wfr f9, a4 108 movi a4, 0x41300000 109 wfr f10, a4 110 movi a4, 0x41400000 111 wfr f11, a4 112 movi a3, 0 113 movi a4, 4 114 movi a5, 8 115 ssx f10, a2, a4 116#if DFPU 117 ssx f11, a2, a5 118 ssxp f9, a2, a5 119#else 120 ssx f9, a2, a3 121 ssxu f11, a2, a5 122#endif 123 movi a3, 1f + 8 124 assert eq, a2, a3 125 l32i a4, a2, -8 126 movi a3, 0x41200000 127 assert eq, a4, a3 128 l32i a4, a2, -4 129 movi a3, 0x41300000 130 assert eq, a4, a3 131 l32i a4, a2, 0 132 movi a3, 0x41400000 133 assert eq, a4, a3 134.data 135 .align 4 1361: 137.float 0, 0, 0 138.text 139test_end 140 141#endif 142 143test_suite_end 144