mirror of
https://github.com/golang/go
synced 2024-11-12 01:00:22 -07:00
move bits.c from 6g to gc
R=ken OCL=26909 CL=26909
This commit is contained in:
parent
f538760552
commit
531f242f5d
@ -22,7 +22,6 @@ OFILES=\
|
||||
obj.$O\
|
||||
peep.$O\
|
||||
reg.$O\
|
||||
bits.$O\
|
||||
../6l/enam.$O\
|
||||
|
||||
LIB=\
|
||||
|
@ -28,13 +28,9 @@
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
|
||||
#define Z N
|
||||
#define Adr Addr
|
||||
|
||||
#define BITS 5
|
||||
#define NVAR (BITS*sizeof(uint32)*8)
|
||||
|
||||
#define D_HI D_NONE
|
||||
#define D_LO D_NONE
|
||||
|
||||
@ -50,16 +46,9 @@
|
||||
#define CINF 1000
|
||||
#define LOOP 3
|
||||
|
||||
typedef struct Bits Bits;
|
||||
typedef struct Reg Reg;
|
||||
typedef struct Var Var;
|
||||
typedef struct Rgn Rgn;
|
||||
|
||||
struct Bits
|
||||
{
|
||||
uint32 b[BITS];
|
||||
};
|
||||
|
||||
struct Reg
|
||||
{
|
||||
|
||||
@ -91,14 +80,6 @@ struct Reg
|
||||
};
|
||||
#define R ((Reg*)0)
|
||||
|
||||
struct Var
|
||||
{
|
||||
vlong offset;
|
||||
Sym* sym;
|
||||
char name;
|
||||
char etype;
|
||||
};
|
||||
|
||||
#define NRGN 600
|
||||
struct Rgn
|
||||
{
|
||||
@ -108,14 +89,12 @@ struct Rgn
|
||||
short regno;
|
||||
};
|
||||
|
||||
|
||||
EXTERN int32 exregoffset; // not set
|
||||
EXTERN int32 exfregoffset; // not set
|
||||
EXTERN Reg* firstr;
|
||||
EXTERN Reg* lastr;
|
||||
EXTERN Reg zreg;
|
||||
EXTERN Reg* freer;
|
||||
EXTERN Var var[NVAR];
|
||||
EXTERN Reg** rpo2r;
|
||||
EXTERN Rgn region[NRGN];
|
||||
EXTERN Rgn* rgp;
|
||||
@ -129,24 +108,10 @@ EXTERN Bits consts;
|
||||
EXTERN Bits addrs;
|
||||
EXTERN Bits ovar;
|
||||
EXTERN int change;
|
||||
EXTERN Bits zbits;
|
||||
EXTERN int32 maxnr;
|
||||
EXTERN int32* idom;
|
||||
|
||||
/*
|
||||
* bits.c
|
||||
*/
|
||||
Bits bor(Bits, Bits);
|
||||
Bits band(Bits, Bits);
|
||||
Bits bnot(Bits);
|
||||
int bany(Bits*);
|
||||
int bnum(Bits);
|
||||
Bits blsh(uint);
|
||||
int beq(Bits, Bits);
|
||||
int bset(Bits, uint);
|
||||
int Qconv(Fmt *fp);
|
||||
int bitno(int32);
|
||||
struct
|
||||
EXTERN struct
|
||||
{
|
||||
int32 ncvtreg;
|
||||
int32 nspill;
|
||||
|
@ -28,6 +28,7 @@ OFILES=\
|
||||
mparith3.$O\
|
||||
builtin.$O\
|
||||
compat.$O\
|
||||
bits.$O\
|
||||
|
||||
$(LIB): $(OFILES)
|
||||
ar rsc $(LIB) $(OFILES)
|
||||
|
@ -28,8 +28,7 @@
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#include "gg.h"
|
||||
#include "opt.h"
|
||||
#include "go.h"
|
||||
|
||||
Bits
|
||||
bor(Bits a, Bits b)
|
@ -11,7 +11,7 @@
|
||||
#include "compat.h"
|
||||
|
||||
#ifndef EXTERN
|
||||
#define EXTERN extern
|
||||
#define EXTERN extern
|
||||
#endif
|
||||
enum
|
||||
{
|
||||
@ -420,6 +420,29 @@ enum
|
||||
Erv, // evaluated in rvalue context
|
||||
};
|
||||
|
||||
#define BITS 5
|
||||
#define NVAR (BITS*sizeof(uint32)*8)
|
||||
|
||||
typedef struct Bits Bits;
|
||||
struct Bits
|
||||
{
|
||||
uint32 b[BITS];
|
||||
};
|
||||
|
||||
EXTERN Bits zbits;
|
||||
|
||||
typedef struct Var Var;
|
||||
struct Var
|
||||
{
|
||||
vlong offset;
|
||||
Sym* sym;
|
||||
char name;
|
||||
char etype;
|
||||
};
|
||||
|
||||
EXTERN Var var[NVAR];
|
||||
|
||||
|
||||
typedef struct Io Io;
|
||||
struct Io
|
||||
{
|
||||
@ -871,3 +894,17 @@ Node* nodarg(Type*, int);
|
||||
void nodconst(Node*, Type*, vlong);
|
||||
Type* deep(Type*);
|
||||
Type* shallow(Type*);
|
||||
|
||||
/*
|
||||
* bits.c
|
||||
*/
|
||||
Bits bor(Bits, Bits);
|
||||
Bits band(Bits, Bits);
|
||||
Bits bnot(Bits);
|
||||
int bany(Bits*);
|
||||
int bnum(Bits);
|
||||
Bits blsh(uint);
|
||||
int beq(Bits, Bits);
|
||||
int bset(Bits, uint);
|
||||
int Qconv(Fmt *fp);
|
||||
int bitno(int32);
|
||||
|
22
src/cmd/make8.bash
Normal file
22
src/cmd/make8.bash
Normal file
@ -0,0 +1,22 @@
|
||||
# Copyright 2009 The Go Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style
|
||||
# license that can be found in the LICENSE file.
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
bash clean.bash
|
||||
|
||||
cd 8l
|
||||
bash mkenam
|
||||
make enam.o
|
||||
cd ..
|
||||
|
||||
for i in cc 8l 8a 8c gc 8g ar db nm acid cov gobuild godefs prof gotest
|
||||
do
|
||||
echo; echo; echo %%%% making $i %%%%; echo
|
||||
cd $i
|
||||
make install
|
||||
cd ..
|
||||
done
|
Loading…
Reference in New Issue
Block a user