Home | History | Annotate | Line # | Download | only in iwmmxt
      1  1.1  christos # Intel(r) Wireless MMX(tm) technology testcase for TINSR
      2  1.1  christos # mach: xscale
      3  1.1  christos # as: -mcpu=xscale+iwmmxt
      4  1.1  christos 
      5  1.1  christos 	.include "testutils.inc"
      6  1.1  christos 
      7  1.1  christos 	start
      8  1.1  christos 
      9  1.1  christos 	.global tinsr
     10  1.1  christos tinsr:
     11  1.1  christos 	# Enable access to CoProcessors 0 & 1 before
     12  1.1  christos         # we attempt these instructions.
     13  1.1  christos 
     14  1.1  christos 	mvi_h_gr   r1, 3
     15  1.1  christos 	mcr        p15, 0, r1, cr15, cr1, 0
     16  1.1  christos 
     17  1.1  christos 	# Test Byte Wide Insertion
     18  1.1  christos 	
     19  1.1  christos 	mvi_h_gr   r0, 0x12345678
     20  1.1  christos 	mvi_h_gr   r1, 0x9abcdef0
     21  1.1  christos 	mvi_h_gr   r2, 0x111111ff
     22  1.1  christos 
     23  1.1  christos 	tmcrr	   wr0, r0, r1
     24  1.1  christos 
     25  1.1  christos 	tinsrb	   wr0, r2, #3
     26  1.1  christos 	
     27  1.1  christos 	tmrrc	   r0, r1, wr0
     28  1.1  christos 	
     29  1.1  christos 	test_h_gr  r0, 0xff345678
     30  1.1  christos 	test_h_gr  r1, 0x9abcdef0
     31  1.1  christos 	test_h_gr  r2, 0x111111ff
     32  1.1  christos 	
     33  1.1  christos 	# Test Half Word Wide Insertion
     34  1.1  christos 	
     35  1.1  christos 	mvi_h_gr   r0, 0x12345678
     36  1.1  christos 	mvi_h_gr   r1, 0x9abcdef0
     37  1.1  christos 	mvi_h_gr   r2, 0x111111ff
     38  1.1  christos 
     39  1.1  christos 	tmcrr	   wr0, r0, r1
     40  1.1  christos 
     41  1.1  christos 	tinsrh	   wr0, r2, #2
     42  1.1  christos 	
     43  1.1  christos 	tmrrc	   r0, r1, wr0
     44  1.1  christos 	
     45  1.1  christos 	test_h_gr  r0, 0x12345678
     46  1.1  christos 	test_h_gr  r1, 0x9abc11ff
     47  1.1  christos 	test_h_gr  r2, 0x111111ff
     48  1.1  christos 	
     49  1.1  christos 	# Test Word Wide Insertion
     50  1.1  christos 	
     51  1.1  christos 	mvi_h_gr   r0, 0x12345678
     52  1.1  christos 	mvi_h_gr   r1, 0x9abcdef0
     53  1.1  christos 	mvi_h_gr   r2, 0x111111ff
     54  1.1  christos 
     55  1.1  christos 	tmcrr	   wr0, r0, r1
     56  1.1  christos 
     57  1.1  christos 	tinsrw	   wr0, r2, #1
     58  1.1  christos 	
     59  1.1  christos 	tmrrc	   r0, r1, wr0
     60  1.1  christos 	
     61  1.1  christos 	test_h_gr  r0, 0x12345678
     62  1.1  christos 	test_h_gr  r1, 0x111111ff
     63  1.1  christos 	test_h_gr  r2, 0x111111ff
     64  1.1  christos 	
     65  1.1  christos 	pass
     66