1# frv testcase for cldbfu @($GRi,$GRj),$FRk,$CCi,$cond 2# mach: all 3 4 .include "testutils.inc" 5 6 start 7 8 .global cldbfu 9cldbfu: 10 set_spr_immed 0x1b1b,cccr 11 set_gr_gr sp,gr21 12 13 set_gr_gr sp,gr20 14 set_mem_limmed 0xdead,0xbeef,sp 15 set_fr_iimmed 0xbeef,0xdead,fr8 16 17 set_gr_immed 0,gr7 18 cldbfu @(sp,gr7),fr8,cc0,1 19 test_fr_limmed 0x0000,0x00de,fr8 20 test_gr_gr sp,gr20 21 22 inc_gr_immed 1,gr20 23 set_gr_immed 1,gr7 24 cldbfu @(sp,gr7),fr8,cc0,1 25 test_fr_limmed 0x0000,0x00ad,fr8 26 test_gr_gr sp,gr20 27 28 inc_gr_immed 2,gr20 29 inc_gr_immed -1,sp 30 set_mem_limmed 0xffff,0xff00,sp 31 inc_gr_immed 4,sp 32 set_gr_immed -1,gr7 33 cldbfu @(sp,gr7),fr8,cc4,1 34 test_fr_limmed 0x0000,0x0000,fr8 35 test_gr_gr sp,gr20 36 37 set_gr_gr gr21,sp 38 set_gr_gr sp,gr20 39 set_mem_limmed 0xdead,0xbeef,sp 40 set_fr_iimmed 0xbeef,0xdead,fr8 41 42 set_gr_immed 0,gr7 43 cldbfu @(sp,gr7),fr8,cc0,0 44 test_fr_limmed 0xbeef,0xdead,fr8 45 test_gr_gr sp,gr20 46 47 set_gr_immed 1,gr7 48 cldbfu @(sp,gr7),fr8,cc0,0 49 test_fr_limmed 0xbeef,0xdead,fr8 50 test_gr_gr sp,gr20 51 52 set_mem_limmed 0xffff,0xff00,sp 53 inc_gr_immed 4,gr20 54 inc_gr_immed 4,sp 55 set_gr_immed -1,gr7 56 cldbfu @(sp,gr7),fr8,cc4,0 57 test_fr_limmed 0xbeef,0xdead,fr8 58 test_gr_gr sp,gr20 59 60 set_gr_gr gr21,sp 61 set_gr_gr sp,gr20 62 set_mem_limmed 0xdead,0xbeef,sp 63 set_fr_iimmed 0xbeef,0xdead,fr8 64 65 set_gr_immed 0,gr7 66 cldbfu @(sp,gr7),fr8,cc1,0 67 test_fr_limmed 0x0000,0x00de,fr8 68 test_gr_gr sp,gr20 69 70 inc_gr_immed 1,gr20 71 set_gr_immed 1,gr7 72 cldbfu @(sp,gr7),fr8,cc1,0 73 test_fr_limmed 0x0000,0x00ad,fr8 74 test_gr_gr sp,gr20 75 76 inc_gr_immed 2,gr20 77 inc_gr_immed -1,sp 78 set_mem_limmed 0xffff,0xff00,sp 79 inc_gr_immed 4,sp 80 set_gr_immed -1,gr7 81 cldbfu @(sp,gr7),fr8,cc5,0 82 test_fr_limmed 0x0000,0x0000,fr8 83 test_gr_gr sp,gr20 84 85 set_gr_gr gr21,sp 86 set_gr_gr sp,gr20 87 set_mem_limmed 0xdead,0xbeef,sp 88 set_fr_iimmed 0xbeef,0xdead,fr8 89 90 set_gr_immed 0,gr7 91 cldbfu @(sp,gr7),fr8,cc1,1 92 test_fr_limmed 0xbeef,0xdead,fr8 93 test_gr_gr sp,gr20 94 95 set_gr_immed 1,gr7 96 cldbfu @(sp,gr7),fr8,cc1,1 97 test_fr_limmed 0xbeef,0xdead,fr8 98 test_gr_gr sp,gr20 99 100 set_mem_limmed 0xffff,0xff00,sp 101 inc_gr_immed 4,gr20 102 inc_gr_immed 4,sp 103 set_gr_immed -1,gr7 104 cldbfu @(sp,gr7),fr8,cc5,1 105 test_fr_limmed 0xbeef,0xdead,fr8 106 test_gr_gr sp,gr20 107 108 set_gr_gr gr21,sp 109 set_gr_gr sp,gr20 110 set_mem_limmed 0xdead,0xbeef,sp 111 set_fr_iimmed 0xbeef,0xdead,fr8 112 113 set_gr_immed 0,gr7 114 cldbfu @(sp,gr7),fr8,cc2,0 115 test_fr_limmed 0xbeef,0xdead,fr8 116 test_gr_gr sp,gr20 117 118 set_gr_immed 1,gr7 119 cldbfu @(sp,gr7),fr8,cc2,1 120 test_fr_limmed 0xbeef,0xdead,fr8 121 test_gr_gr sp,gr20 122 123 set_mem_limmed 0xffff,0xff00,sp 124 inc_gr_immed 4,gr20 125 inc_gr_immed 4,sp 126 set_gr_immed -1,gr7 127 cldbfu @(sp,gr7),fr8,cc6,0 128 test_fr_limmed 0xbeef,0xdead,fr8 129 test_gr_gr sp,gr20 130 131 set_gr_gr gr21,sp 132 set_gr_gr sp,gr20 133 set_mem_limmed 0xdead,0xbeef,sp 134 set_fr_iimmed 0xbeef,0xdead,fr8 135 136 set_gr_immed 0,gr7 137 cldbfu @(sp,gr7),fr8,cc3,1 138 test_fr_limmed 0xbeef,0xdead,fr8 139 test_gr_gr sp,gr20 140 141 set_gr_immed 1,gr7 142 cldbfu @(sp,gr7),fr8,cc3,0 143 test_fr_limmed 0xbeef,0xdead,fr8 144 test_gr_gr sp,gr20 145 146 set_mem_limmed 0xffff,0xff00,sp 147 inc_gr_immed 4,gr20 148 inc_gr_immed 4,sp 149 set_gr_immed -1,gr7 150 cldbfu @(sp,gr7),fr8,cc7,1 151 test_fr_limmed 0xbeef,0xdead,fr8 152 test_gr_gr sp,gr20 153 154 pass 155