]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gas/testsuite/gas/ia64/opc-a.pl
gas/
[thirdparty/binutils-gdb.git] / gas / testsuite / gas / ia64 / opc-a.pl
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";