Home | History | Annotate | Download | only in ia64
      1 $AT = '@';
      2 print <<END
      3 .text
      4 	.type _start,${AT}function
      5 _start:
      6 
      7 	add r101 = r102, r103
      8 (p1)	add r104 = r105, r106
      9 	add r107 = r108, r109, 1
     10 (p2)	add r110 = r111, r112, 1
     11 
     12 	adds r20 = 0, r10
     13 (p1)	adds r21 = 1, r10
     14 	adds r22 = -1, r10
     15 	adds r23 = -0x2000, r10
     16 (p2)	adds r24 = 0x1FFF, r10
     17 
     18 	addl r30 = 0, r1
     19 	addl r31 = 1, r1
     20 (p1)	addl r32 = -1, r1
     21 	addl r33 = -0x2000, r1
     22 	addl r34 = 0x1FFF, r1
     23 	addl r35 = -0x200000, r1
     24 	addl r36 = 0x1FFFFF, r1
     25 
     26 	add r11 = 0, r10
     27 	add r12 = 0x1234, r10
     28 	add r13 = 0x1234, r1
     29 	add r14 = 0x12345, r1
     30 
     31 	addp4 r20 = r3, r10
     32 (p1)	addp4 r21 = 1, r10
     33 	addp4 r22 = -1, r10
     34 
     35 	sub r101 = r102, r103
     36 (p2)	sub r110 = r111, r112, 1
     37 	sub r120 = 0, r3
     38 	sub r121 = 1, r3
     39 	sub r122 = -1, r3
     40 	sub r123 = -128, r3
     41 	sub r124 = 127, r3
     42 
     43 	and r8 = r9, r10
     44 (p3)	and r11 = -128, r12
     45 
     46 (p4)	or r8 = r9, r10
     47 	or r11 = -128, r12
     48 
     49 	xor r8 = r9, r10
     50 	xor r11 = -128, r12
     51 
     52 	andcm r8 = r9, r10
     53 	andcm r11 = -128, r12
     54 
     55 	shladd r8 = r30, 1, r31
     56 	shladd r9 = r30, 2, r31
     57 	shladd r10 = r30, 3, r31
     58 	shladd r11 = r30, 4, r31
     59 
     60 	shladdp4 r8 = r30, 1, r31
     61 	shladdp4 r9 = r30, 2, r31
     62 	shladdp4 r10 = r30, 3, r31
     63 	shladdp4 r11 = r30, 4, r31
     64 
     65 	padd1 r10 = r30, r31
     66 	padd1.sss r11 = r30, r31
     67 	padd1.uus r12 = r30, r31
     68 	padd1.uuu r13 = r30, r31
     69 	padd2 r14 = r30, r31
     70 	padd2.sss r15 = r30, r31
     71 	padd2.uus r16 = r30, r31
     72 	padd2.uuu r17 = r30, r31
     73 	padd4 r18 = r30, r31
     74 
     75 	psub1 r10 = r30, r31
     76 	psub1.sss r11 = r30, r31
     77 	psub1.uus r12 = r30, r31
     78 	psub1.uuu r13 = r30, r31
     79 	psub2 r14 = r30, r31
     80 	psub2.sss r15 = r30, r31
     81 	psub2.uus r16 = r30, r31
     82 	psub2.uuu r17 = r30, r31
     83 	psub4 r18 = r30, r31
     84 
     85 	pavg1 r10 = r30, r31
     86 	pavg1.raz r10 = r30, r31
     87 	pavg2 r10 = r30, r31
     88 	pavg2.raz r10 = r30, r31
     89 
     90 	pavgsub1 r10 = r30, r31
     91 	pavgsub2 r10 = r30, r31
     92 
     93 	pcmp1.eq r10 = r30, r31
     94 	pcmp2.eq r10 = r30, r31
     95 	pcmp4.eq r10 = r30, r31
     96 	pcmp1.gt r10 = r30, r31
     97 	pcmp2.gt r10 = r30, r31
     98 	pcmp4.gt r10 = r30, r31
     99 
    100 	pshladd2 r10 = r11, 1, r12
    101 	pshladd2 r10 = r11, 3, r12
    102 
    103 	pshradd2 r10 = r11, 1, r12
    104 	pshradd2 r10 = r11, 2, r12
    105 
    106 END
    107 ;
    108 
    109 @cmp2 = ( ".eq", ".ne" );
    110 @cmp6 = ( @cmp2, ".lt", ".le", ".gt", ".ge" );
    111 @cmp10 = ( @cmp6, ".ltu", ".leu", ".gtu", ".geu" );
    112 
    113 @ctype = ( ".and", ".or", ".or.andcm", ".orcm", ".andcm", ".and.orcm" );
    114 
    115 foreach $C ( "cmp", "cmp4" ) {
    116   foreach $u ( "", ".unc" ) {
    117     foreach $i (@cmp10) {
    118       print "\t${C}${i}${u} p2, p3 = r3, r4\n";
    119       print "\t${C}${i}${u} p2, p3 = 3, r4\n";
    120     }
    121     print "\n";
    122   }
    123   
    124   foreach $i (@cmp2) {
    125     foreach $c (@ctype) {
    126       print "\t${C}${i}${c} p2, p3 = r3, r4\n";
    127       print "\t${C}${i}${c} p2, p3 = 3, r4\n";
    128     }
    129     print "\n";
    130   }
    131       
    132   foreach $i (@cmp6) {
    133     foreach $c (@ctype) {
    134       print "\t${C}${i}${c} p2, p3 = r0, r4\n";
    135       print "\t${C}${i}${c} p2, p3 = r4, r0\n";
    136     }
    137     print "\n";
    138   }
    139 }
    140 
    141 # Pad to a bundle boundary with known nops.
    142 print "nop.i 0; nop.i 0\n";
    143