OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [binutils-2.20.1/] [gas/] [testsuite/] [gas/] [ia64/] [opc-a.pl] - Blame information for rev 277

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 205 julius
$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";

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.