Home | History | Annotate | Line # | Download | only in frv
      1 # frv testcase for mcpli $FRi,$s6,$FRk
      2 # mach: fr400 fr550
      3 
      4 	.include "testutils.inc"
      5 
      6 	start
      7 
      8 	.global mcpli
      9 mcpli:
     10 	set_fr_iimmed   0xdead,0xbeef,fr8
     11 	set_fr_iimmed   0xbeef,0xdead,fr9
     12 	set_fr_iimmed   0x1234,0x5678,fr10
     13 	mcpli      	fr8,0x0,fr10	; Shift by 0
     14 	test_fr_iimmed  0xdeadbeef,fr10
     15 
     16 	set_fr_iimmed   0x1234,0x5678,fr10
     17 	mcpli      	fr8,0x1,fr10	; Shift by 1
     18 	test_fr_iimmed  0xbd5b7ddf,fr10
     19 
     20 	set_fr_iimmed   0x1234,0x5678,fr10
     21 	mcpli      	fr8,0x4,fr10	; Shift by 4
     22 	test_fr_iimmed  0xeadbeefd,fr10
     23 
     24 	set_fr_iimmed   0x1234,0x5678,fr10
     25 	mcpli      	fr8,0xc,fr10	; Shift by 12
     26 	test_fr_iimmed  0xdbeefead,fr10
     27 
     28 	set_fr_iimmed   0x1234,0x5678,fr10
     29 	mcpli      	fr8,0x1c,fr10	; Shift by 28
     30 	test_fr_iimmed  0xfeefdead,fr10
     31 
     32 	set_fr_iimmed   0x1234,0x5678,fr10
     33 	mcpli      	fr8,0x1f,fr10	; Shift by 31
     34 	test_fr_iimmed  0xbeefdead,fr10
     35 
     36 	; test again with truncated shift values
     37 	set_fr_iimmed   0x1234,0x5678,fr10
     38 	mcpli      	fr8,0x20,fr10	; Shift by 0
     39 	test_fr_iimmed  0xdeadbeef,fr10
     40 
     41 	set_fr_iimmed   0x1234,0x5678,fr10
     42 	mcpli      	fr8,0x21,fr10	; Shift by 1
     43 	test_fr_iimmed  0xbd5b7ddf,fr10
     44 
     45 	set_fr_iimmed   0x1234,0x5678,fr10
     46 	mcpli      	fr8,0x24,fr10	; Shift by 4
     47 	test_fr_iimmed  0xeadbeefd,fr10
     48 
     49 	set_fr_iimmed   0x1234,0x5678,fr10
     50 	mcpli      	fr8,0x2c,fr10	; Shift by 12
     51 	test_fr_iimmed  0xdbeefead,fr10
     52 
     53 	set_fr_iimmed   0x1234,0x5678,fr10
     54 	mcpli      	fr8,0x3c,fr10	; Shift by 28
     55 	test_fr_iimmed  0xfeefdead,fr10
     56 
     57 	set_fr_iimmed   0x1234,0x5678,fr10
     58 	mcpli      	fr8,0x3f,fr10	; Shift by 31
     59 	test_fr_iimmed  0xbeefdead,fr10
     60 
     61 	pass
     62