Home | History | Annotate | Line # | Download | only in iwmmxt
      1  1.1  christos # Intel(r) Wireless MMX(tm) technology testcase for TMOVMSK
      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 tmovmsk
     10  1.1  christos tmovmsk:
     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 Mask Transfer
     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, 0
     22  1.1  christos 
     23  1.1  christos 	tmcrr	   wr0, r0, r1
     24  1.1  christos 
     25  1.1  christos 	tmovmskb   r2, wr0
     26  1.1  christos 	
     27  1.1  christos 	tmrrc	   r0, r1, wr0
     28  1.1  christos 	
     29  1.1  christos 	test_h_gr  r0, 0x12345678
     30  1.1  christos 	test_h_gr  r1, 0x9abcdef0
     31  1.1  christos 	test_h_gr  r2, 0x000000f0
     32  1.1  christos 
     33  1.1  christos 	# Test Half Word Wide Mask Transfer
     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, 0
     38  1.1  christos 
     39  1.1  christos 	tmcrr	   wr0, r0, r1
     40  1.1  christos 
     41  1.1  christos 	tmovmskh   r2, wr0
     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, 0x9abcdef0
     47  1.1  christos 	test_h_gr  r2, 0x0000000c
     48  1.1  christos 
     49  1.1  christos 	# Test Word Wide Mask Transfer
     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, 0
     54  1.1  christos 
     55  1.1  christos 	tmcrr	   wr0, r0, r1
     56  1.1  christos 
     57  1.1  christos 	tmovmskw   r2, wr0
     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, 0x9abcdef0
     63  1.1  christos 	test_h_gr  r2, 0x00000002
     64  1.1  christos 
     65  1.1  christos 	pass
     66