1$AT = '@'; 2print <<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 106END 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 115foreach $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. 142print "nop.i 0; nop.i 0\n"; 143