1# sh testcase for fcmpeq 2# mach: sh 3# as(sh): -defsym sim_cpu=0 4 5 .include "testutils.inc" 6 7 start 8fcmpeq_single: 9 set_grs_a5a5 10 set_fprs_a5a5 11 # 1.0 == 1.0. 12 fldi1 fr0 13 fldi1 fr1 14 fcmp/eq fr0, fr1 15 bt .L0 16 fail 17.L0: 18 # 0.0 != 1.0. 19 fldi0 fr0 20 fldi1 fr1 21 fcmp/eq fr0, fr1 22 bf .L1 23 fail 24.L1: 25 # 1.0 != 0.0. 26 fldi1 fr0 27 fldi0 fr1 28 fcmp/eq fr0, fr1 29 bf .L2 30 fail 31.L2: 32 # 2.0 != 1.0 33 fldi1 fr0 34 fadd fr0, fr0 35 fldi1 fr1 36 fcmp/eq fr0, fr1 37 bf .L3 38 fail 39.L3: 40 test_grs_a5a5 41 assert_fpreg_i 2, fr0 42 assert_fpreg_i 1, fr1 43 test_fpr_a5a5 fr2 44 test_fpr_a5a5 fr3 45 test_fpr_a5a5 fr4 46 test_fpr_a5a5 fr5 47 test_fpr_a5a5 fr6 48 test_fpr_a5a5 fr7 49 test_fpr_a5a5 fr8 50 test_fpr_a5a5 fr9 51 test_fpr_a5a5 fr10 52 test_fpr_a5a5 fr11 53 test_fpr_a5a5 fr12 54 test_fpr_a5a5 fr13 55 test_fpr_a5a5 fr14 56 test_fpr_a5a5 fr15 57 58fcmpeq_double: 59 # 1.0 == 1.0 60 set_grs_a5a5 61 set_fprs_a5a5 62 double_prec 63 fldi1 fr0 64 fldi1 fr2 65 _s2d fr0, dr0 66 _s2d fr2, dr2 67 fcmp/eq dr0, dr2 68 bt .L10 69 fail 70.L10: 71 # 0.0 != 1.0 72 fldi0 fr0 73 fldi1 fr2 74 _s2d fr0, dr0 75 _s2d fr2, dr2 76 fcmp/eq dr0, dr2 77 bf .L11 78 fail 79.L11: 80 # 1.0 != 0.0 81 fldi1 fr0 82 fldi0 fr2 83 _s2d fr0, dr0 84 _s2d fr2, dr2 85 fcmp/eq dr0, dr2 86 bf .L12 87 fail 88.L12: 89 # 2.0 != 1.0 90 fldi1 fr0 91 single_prec 92 fadd fr0, fr0 93 double_prec 94 fldi1 fr2 95 _s2d fr0, dr0 96 _s2d fr2, dr2 97 fcmp/eq dr0, dr2 98 bf .L13 99 fail 100.L13: 101 test_grs_a5a5 102 assert_dpreg_i 2, dr0 103 assert_dpreg_i 1, dr2 104 test_fpr_a5a5 fr4 105 test_fpr_a5a5 fr5 106 test_fpr_a5a5 fr6 107 test_fpr_a5a5 fr7 108 test_fpr_a5a5 fr8 109 test_fpr_a5a5 fr9 110 test_fpr_a5a5 fr10 111 test_fpr_a5a5 fr11 112 test_fpr_a5a5 fr12 113 test_fpr_a5a5 fr13 114 test_fpr_a5a5 fr14 115 test_fpr_a5a5 fr15 116 117 pass 118 exit 0 119 120