Home | History | Annotate | Line # | Download | only in frv
      1 # frv testcase for cor $GRi,$GRj,$GRk,$CCi,$cond
      2 # mach: all
      3 
      4 	.include "testutils.inc"
      5 
      6 	start
      7 
      8 	.global cor
      9 cor:
     10 	set_spr_immed	0x1b1b,cccr
     11 
     12 	set_gr_limmed  	0xaaaa,0xaaaa,gr7
     13 	set_gr_limmed   0x5555,0x5555,gr8
     14 	set_icc         0x07,0		; Set mask opposite of expected
     15 	cor      	gr7,gr8,gr8,cc0,1
     16 	test_icc	0 1 1 1 icc0
     17 	test_gr_limmed 	0xffff,0xffff,gr8
     18 
     19 	set_gr_immed   	0x00000000,gr7
     20 	set_gr_immed   	0x00000000,gr8
     21 	set_icc         0x08,0		; Set mask opposite of expected
     22 	cor		gr7,gr8,gr8,cc0,1
     23 	test_icc	1 0 0 0 icc0
     24 	test_gr_immed  	0x00000000,gr8
     25 
     26 	set_gr_limmed   0xdead,0x0000,gr7
     27 	set_gr_limmed  	0x0000,0xbeef,gr8
     28 	set_icc         0x05,0		; Set mask opposite of expected
     29 	cor		gr7,gr8,gr8,cc4,1
     30 	test_icc	0 1 0 1 icc0
     31 	test_gr_limmed 	0xdead,0xbeef,gr8
     32 
     33 	set_gr_limmed  	0xaaaa,0xaaaa,gr7
     34 	set_gr_limmed   0x5555,0x5555,gr8
     35 	set_icc         0x07,0		; Set mask opposite of expected
     36 	cor      	gr7,gr8,gr8,cc0,0
     37 	test_icc	0 1 1 1 icc0
     38 	test_gr_limmed 	0x5555,0x5555,gr8
     39 
     40 	set_gr_immed   	0x00007fff,gr7
     41 	set_gr_immed   	0x00000000,gr8
     42 	set_icc         0x08,0		; Set mask opposite of expected
     43 	cor		gr7,gr8,gr8,cc0,0
     44 	test_icc	1 0 0 0 icc0
     45 	test_gr_immed  	0x00000000,gr8
     46 
     47 	set_gr_limmed   0xdead,0x0000,gr7
     48 	set_gr_limmed  	0x0000,0xbeef,gr8
     49 	set_icc         0x05,0		; Set mask opposite of expected
     50 	cor		gr7,gr8,gr8,cc4,0
     51 	test_icc	0 1 0 1 icc0
     52 	test_gr_limmed 	0x0000,0xbeef,gr8
     53 
     54 	set_gr_limmed  	0xaaaa,0xaaaa,gr7
     55 	set_gr_limmed   0x5555,0x5555,gr8
     56 	set_icc         0x07,1		; Set mask opposite of expected
     57 	cor      	gr7,gr8,gr8,cc1,0
     58 	test_icc	0 1 1 1 icc1
     59 	test_gr_limmed 	0xffff,0xffff,gr8
     60 
     61 	set_gr_immed   	0x00000000,gr7
     62 	set_gr_immed   	0x00000000,gr8
     63 	set_icc         0x08,1		; Set mask opposite of expected
     64 	cor		gr7,gr8,gr8,cc1,0
     65 	test_icc	1 0 0 0 icc1
     66 	test_gr_immed  	0x00000000,gr8
     67 
     68 	set_gr_limmed   0xdead,0x0000,gr7
     69 	set_gr_limmed  	0x0000,0xbeef,gr8
     70 	set_icc         0x05,1		; Set mask opposite of expected
     71 	cor		gr7,gr8,gr8,cc5,0
     72 	test_icc	0 1 0 1 icc1
     73 	test_gr_limmed 	0xdead,0xbeef,gr8
     74 
     75 	set_gr_limmed  	0xaaaa,0xaaaa,gr7
     76 	set_gr_limmed   0x5555,0x5555,gr8
     77 	set_icc         0x07,1		; Set mask opposite of expected
     78 	cor      	gr7,gr8,gr8,cc1,1
     79 	test_icc	0 1 1 1 icc1
     80 	test_gr_limmed 	0x5555,0x5555,gr8
     81 
     82 	set_gr_immed   	0x00007fff,gr7
     83 	set_gr_immed   	0x00000000,gr8
     84 	set_icc         0x08,1		; Set mask opposite of expected
     85 	cor		gr7,gr8,gr8,cc1,1
     86 	test_icc	1 0 0 0 icc1
     87 	test_gr_immed  	0x00000000,gr8
     88 
     89 	set_gr_limmed   0xdead,0x0000,gr7
     90 	set_gr_limmed  	0x0000,0xbeef,gr8
     91 	set_icc         0x05,1		; Set mask opposite of expected
     92 	cor		gr7,gr8,gr8,cc5,1
     93 	test_icc	0 1 0 1 icc1
     94 	test_gr_limmed 	0x0000,0xbeef,gr8
     95 
     96 	set_gr_limmed  	0xaaaa,0xaaaa,gr7
     97 	set_gr_limmed   0x5555,0x5555,gr8
     98 	set_icc         0x07,2		; Set mask opposite of expected
     99 	cor      	gr7,gr8,gr8,cc2,0
    100 	test_icc	0 1 1 1 icc2
    101 	test_gr_limmed 	0x5555,0x5555,gr8
    102 
    103 	set_gr_immed   	0x00007fff,gr7
    104 	set_gr_immed   	0x00000000,gr8
    105 	set_icc         0x08,2		; Set mask opposite of expected
    106 	cor		gr7,gr8,gr8,cc2,0
    107 	test_icc	1 0 0 0 icc2
    108 	test_gr_immed  	0x00000000,gr8
    109 
    110 	set_gr_limmed   0xdead,0x0000,gr7
    111 	set_gr_limmed  	0x0000,0xbeef,gr8
    112 	set_icc         0x05,2		; Set mask opposite of expected
    113 	cor		gr7,gr8,gr8,cc6,1
    114 	test_icc	0 1 0 1 icc2
    115 	test_gr_limmed 	0x0000,0xbeef,gr8
    116 
    117 	set_gr_limmed  	0xaaaa,0xaaaa,gr7
    118 	set_gr_limmed   0x5555,0x5555,gr8
    119 	set_icc         0x07,3		; Set mask opposite of expected
    120 	cor      	gr7,gr8,gr8,cc3,0
    121 	test_icc	0 1 1 1 icc3
    122 	test_gr_limmed 	0x5555,0x5555,gr8
    123 
    124 	set_gr_immed   	0x00007fff,gr7
    125 	set_gr_immed   	0x00000000,gr8
    126 	set_icc         0x08,3		; Set mask opposite of expected
    127 	cor		gr7,gr8,gr8,cc3,0
    128 	test_icc	1 0 0 0 icc3
    129 	test_gr_immed  	0x00000000,gr8
    130 
    131 	set_gr_limmed   0xdead,0x0000,gr7
    132 	set_gr_limmed  	0x0000,0xbeef,gr8
    133 	set_icc         0x05,3		; Set mask opposite of expected
    134 	cor		gr7,gr8,gr8,cc7,1
    135 	test_icc	0 1 0 1 icc3
    136 	test_gr_limmed 	0x0000,0xbeef,gr8
    137 
    138 	pass
    139