Upload Tizen:Base source
[external/binutils.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";