1*6ca2c52aSchristos# frv testcase for cxorcc $GRi,$GRj,$GRk,$CCi,$cond 2*6ca2c52aSchristos# mach: all 3*6ca2c52aSchristos 4*6ca2c52aSchristos .include "testutils.inc" 5*6ca2c52aSchristos 6*6ca2c52aSchristos start 7*6ca2c52aSchristos 8*6ca2c52aSchristos .global cxorcc 9*6ca2c52aSchristoscxorcc: 10*6ca2c52aSchristos set_spr_immed 0x1b1b,cccr 11*6ca2c52aSchristos 12*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr7 13*6ca2c52aSchristos set_gr_limmed 0x5555,0x5555,gr8 14*6ca2c52aSchristos set_icc 0x07,0 ; Set mask opposite of expected 15*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc0,1 16*6ca2c52aSchristos test_icc 1 0 1 1 icc0 17*6ca2c52aSchristos test_gr_limmed 0xffff,0xffff,gr8 18*6ca2c52aSchristos 19*6ca2c52aSchristos set_gr_immed 0x00000000,gr7 20*6ca2c52aSchristos set_gr_immed 0x00000000,gr8 21*6ca2c52aSchristos set_icc 0x08,0 ; Set mask opposite of expected 22*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc0,1 23*6ca2c52aSchristos test_icc 0 1 0 0 icc0 24*6ca2c52aSchristos test_gr_immed 0x00000000,gr8 25*6ca2c52aSchristos 26*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr7 27*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr8 28*6ca2c52aSchristos set_icc 0x0b,0 ; Set mask opposite of expected 29*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc4,1 30*6ca2c52aSchristos test_icc 0 1 1 1 icc0 31*6ca2c52aSchristos test_gr_immed 0x00000000,gr8 32*6ca2c52aSchristos 33*6ca2c52aSchristos set_gr_limmed 0xdead,0x0000,gr7 34*6ca2c52aSchristos set_gr_limmed 0x0000,0xbeef,gr8 35*6ca2c52aSchristos set_icc 0x05,0 ; Set mask opposite of expected 36*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc4,1 37*6ca2c52aSchristos test_icc 1 0 0 1 icc0 38*6ca2c52aSchristos test_gr_limmed 0xdead,0xbeef,gr8 39*6ca2c52aSchristos 40*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr7 41*6ca2c52aSchristos set_gr_limmed 0x5555,0x5555,gr8 42*6ca2c52aSchristos set_icc 0x07,0 ; Set mask opposite of expected 43*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc0,0 44*6ca2c52aSchristos test_icc 0 1 1 1 icc0 45*6ca2c52aSchristos test_gr_limmed 0x5555,0x5555,gr8 46*6ca2c52aSchristos 47*6ca2c52aSchristos set_gr_immed 0x00007fff,gr7 48*6ca2c52aSchristos set_gr_immed 0x00000000,gr8 49*6ca2c52aSchristos set_icc 0x08,0 ; Set mask opposite of expected 50*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc0,0 51*6ca2c52aSchristos test_icc 1 0 0 0 icc0 52*6ca2c52aSchristos test_gr_immed 0x00000000,gr8 53*6ca2c52aSchristos 54*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr7 55*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr8 56*6ca2c52aSchristos set_icc 0x0b,0 ; Set mask opposite of expected 57*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc4,0 58*6ca2c52aSchristos test_icc 1 0 1 1 icc0 59*6ca2c52aSchristos test_gr_limmed 0xaaaa,0xaaaa,gr8 60*6ca2c52aSchristos 61*6ca2c52aSchristos set_gr_limmed 0xdead,0x0000,gr7 62*6ca2c52aSchristos set_gr_limmed 0x0000,0xbeef,gr8 63*6ca2c52aSchristos set_icc 0x05,0 ; Set mask opposite of expected 64*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc4,0 65*6ca2c52aSchristos test_icc 0 1 0 1 icc0 66*6ca2c52aSchristos test_gr_limmed 0x0000,0xbeef,gr8 67*6ca2c52aSchristos 68*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr7 69*6ca2c52aSchristos set_gr_limmed 0x5555,0x5555,gr8 70*6ca2c52aSchristos set_icc 0x07,1 ; Set mask opposite of expected 71*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc1,0 72*6ca2c52aSchristos test_icc 1 0 1 1 icc1 73*6ca2c52aSchristos test_gr_limmed 0xffff,0xffff,gr8 74*6ca2c52aSchristos 75*6ca2c52aSchristos set_gr_immed 0x00000000,gr7 76*6ca2c52aSchristos set_gr_immed 0x00000000,gr8 77*6ca2c52aSchristos set_icc 0x08,1 ; Set mask opposite of expected 78*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc1,0 79*6ca2c52aSchristos test_icc 0 1 0 0 icc1 80*6ca2c52aSchristos test_gr_immed 0x00000000,gr8 81*6ca2c52aSchristos 82*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr7 83*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr8 84*6ca2c52aSchristos set_icc 0x0b,1 ; Set mask opposite of expected 85*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc5,0 86*6ca2c52aSchristos test_icc 0 1 1 1 icc1 87*6ca2c52aSchristos test_gr_immed 0x00000000,gr8 88*6ca2c52aSchristos 89*6ca2c52aSchristos set_gr_limmed 0xdead,0x0000,gr7 90*6ca2c52aSchristos set_gr_limmed 0x0000,0xbeef,gr8 91*6ca2c52aSchristos set_icc 0x05,1 ; Set mask opposite of expected 92*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc5,0 93*6ca2c52aSchristos test_icc 1 0 0 1 icc1 94*6ca2c52aSchristos test_gr_limmed 0xdead,0xbeef,gr8 95*6ca2c52aSchristos 96*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr7 97*6ca2c52aSchristos set_gr_limmed 0x5555,0x5555,gr8 98*6ca2c52aSchristos set_icc 0x07,1 ; Set mask opposite of expected 99*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc1,1 100*6ca2c52aSchristos test_icc 0 1 1 1 icc1 101*6ca2c52aSchristos test_gr_limmed 0x5555,0x5555,gr8 102*6ca2c52aSchristos 103*6ca2c52aSchristos set_gr_immed 0x00007fff,gr7 104*6ca2c52aSchristos set_gr_immed 0x00000000,gr8 105*6ca2c52aSchristos set_icc 0x08,1 ; Set mask opposite of expected 106*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc1,1 107*6ca2c52aSchristos test_icc 1 0 0 0 icc1 108*6ca2c52aSchristos test_gr_immed 0x00000000,gr8 109*6ca2c52aSchristos 110*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr7 111*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr8 112*6ca2c52aSchristos set_icc 0x0b,1 ; Set mask opposite of expected 113*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc5,1 114*6ca2c52aSchristos test_icc 1 0 1 1 icc1 115*6ca2c52aSchristos test_gr_limmed 0xaaaa,0xaaaa,gr8 116*6ca2c52aSchristos 117*6ca2c52aSchristos set_gr_limmed 0xdead,0x0000,gr7 118*6ca2c52aSchristos set_gr_limmed 0x0000,0xbeef,gr8 119*6ca2c52aSchristos set_icc 0x05,1 ; Set mask opposite of expected 120*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc5,1 121*6ca2c52aSchristos test_icc 0 1 0 1 icc1 122*6ca2c52aSchristos test_gr_limmed 0x0000,0xbeef,gr8 123*6ca2c52aSchristos 124*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr7 125*6ca2c52aSchristos set_gr_limmed 0x5555,0x5555,gr8 126*6ca2c52aSchristos set_icc 0x07,2 ; Set mask opposite of expected 127*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc2,0 128*6ca2c52aSchristos test_icc 0 1 1 1 icc2 129*6ca2c52aSchristos test_gr_limmed 0x5555,0x5555,gr8 130*6ca2c52aSchristos 131*6ca2c52aSchristos set_gr_immed 0x00007fff,gr7 132*6ca2c52aSchristos set_gr_immed 0x00000000,gr8 133*6ca2c52aSchristos set_icc 0x08,2 ; Set mask opposite of expected 134*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc2,0 135*6ca2c52aSchristos test_icc 1 0 0 0 icc2 136*6ca2c52aSchristos test_gr_immed 0x00000000,gr8 137*6ca2c52aSchristos 138*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr7 139*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr8 140*6ca2c52aSchristos set_icc 0x0b,2 ; Set mask opposite of expected 141*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc6,1 142*6ca2c52aSchristos test_icc 1 0 1 1 icc2 143*6ca2c52aSchristos test_gr_limmed 0xaaaa,0xaaaa,gr8 144*6ca2c52aSchristos 145*6ca2c52aSchristos set_gr_limmed 0xdead,0x0000,gr7 146*6ca2c52aSchristos set_gr_limmed 0x0000,0xbeef,gr8 147*6ca2c52aSchristos set_icc 0x05,2 ; Set mask opposite of expected 148*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc6,1 149*6ca2c52aSchristos test_icc 0 1 0 1 icc2 150*6ca2c52aSchristos test_gr_limmed 0x0000,0xbeef,gr8 151*6ca2c52aSchristos 152*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr7 153*6ca2c52aSchristos set_gr_limmed 0x5555,0x5555,gr8 154*6ca2c52aSchristos set_icc 0x07,3 ; Set mask opposite of expected 155*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc3,0 156*6ca2c52aSchristos test_icc 0 1 1 1 icc3 157*6ca2c52aSchristos test_gr_limmed 0x5555,0x5555,gr8 158*6ca2c52aSchristos 159*6ca2c52aSchristos set_gr_immed 0x00007fff,gr7 160*6ca2c52aSchristos set_gr_immed 0x00000000,gr8 161*6ca2c52aSchristos set_icc 0x08,3 ; Set mask opposite of expected 162*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc3,0 163*6ca2c52aSchristos test_icc 1 0 0 0 icc3 164*6ca2c52aSchristos test_gr_immed 0x00000000,gr8 165*6ca2c52aSchristos 166*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr7 167*6ca2c52aSchristos set_gr_limmed 0xaaaa,0xaaaa,gr8 168*6ca2c52aSchristos set_icc 0x0b,3 ; Set mask opposite of expected 169*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc7,1 170*6ca2c52aSchristos test_icc 1 0 1 1 icc3 171*6ca2c52aSchristos test_gr_limmed 0xaaaa,0xaaaa,gr8 172*6ca2c52aSchristos 173*6ca2c52aSchristos set_gr_limmed 0xdead,0x0000,gr7 174*6ca2c52aSchristos set_gr_limmed 0x0000,0xbeef,gr8 175*6ca2c52aSchristos set_icc 0x05,3 ; Set mask opposite of expected 176*6ca2c52aSchristos cxorcc gr7,gr8,gr8,cc7,1 177*6ca2c52aSchristos test_icc 0 1 0 1 icc3 178*6ca2c52aSchristos test_gr_limmed 0x0000,0xbeef,gr8 179*6ca2c52aSchristos 180*6ca2c52aSchristos pass 181