~ubuntu-branches/ubuntu/precise/binutils/precise-updates

« back to all changes in this revision

Viewing changes to include/opcode/sparc.h

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2011-08-11 22:51:48 UTC
  • mfrom: (1.7.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20110811225148-y61bcrw1ukl0z2k2
Tags: 2.21.53.20110810-0ubuntu1
Snapshot, taken from the trunk 20110810.

Show diffs side-by-side

added added

removed removed

Lines of Context:
131
131
        f       frs2 floating point register.
132
132
        B       frs2 floating point register (double/even).
133
133
        R       frs2 floating point register (quad/multiple of 4).
 
134
        4       frs3 floating point register.
 
135
        5       frs3 floating point register (doube/even).
134
136
        g       frsd floating point register.
135
137
        H       frsd floating point register (double/even).
136
138
        J       frsd floating point register (quad/multiple of 4).
187
189
        0       32/64 bit immediate for set or setx (v9) insns
188
190
        _       Ancillary state register in rd (v9a)
189
191
        /       Ancillary state register in rs1 (v9a)
190
 
 
191
 
  The following chars are unused: (note: ,[] are used as punctuation)
192
 
  [45].  */
 
192
        (       entire floating point state register (%efsr).  */
193
193
 
194
194
#define OP2(x)          (((x) & 0x7) << 22)  /* Op2 field of format2 insns.  */
195
195
#define OP3(x)          (((x) & 0x3f) << 19) /* Op3 field of format3 insns.  */
196
196
#define OP(x)           ((unsigned) ((x) & 0x3) << 30) /* Op field of all insns.  */
197
197
#define OPF(x)          (((x) & 0x1ff) << 5) /* Opf field of float insns.  */
198
198
#define OPF_LOW5(x)     OPF ((x) & 0x1f)     /* V9.  */
 
199
#define OPF_LOW4(x)     OPF ((x) & 0xf)      /* V9.  */
199
200
#define F3F(x, y, z)    (OP (x) | OP3 (y) | OPF (z)) /* Format3 float insns.  */
200
201
#define F3I(x)          (((x) & 0x1) << 13)  /* Immediate field of format 3 insns.  */
201
202
#define F2(x, y)        (OP (x) | OP2(y))    /* Format 2 insns.  */
207
208
#define SIMM13(x)       ((x) & 0x1fff)       /* Simm13 field.  */
208
209
#define RD(x)           (((x) & 0x1f) << 25) /* Destination register field.  */
209
210
#define RS1(x)          (((x) & 0x1f) << 14) /* Rs1 field.  */
 
211
#define RS3(x)          (((x) & 0x1f) << 9)  /* Rs3 field.  */
210
212
#define ASI_RS2(x)      (SIMM13 (x))
211
213
#define MEMBAR(x)       ((x) & 0x7f)
212
214
#define SLCPOP(x)       (((x) & 0x7f) << 6)  /* Sparclet cpop.  */