1
0
mirror of https://github.com/golang/go synced 2024-11-20 04:54:44 -07:00

cmd/8a: support XMM registers.

R=rsc, golang-dev
CC=golang-dev
https://golang.org/cl/6884046
This commit is contained in:
Rémy Oudompheng 2012-12-06 07:27:38 +01:00
parent 5cb1ed2189
commit 755e13877f
4 changed files with 892 additions and 913 deletions

View File

@ -55,7 +55,7 @@
%token <lval> LTYPE0 LTYPE1 LTYPE2 LTYPE3 LTYPE4
%token <lval> LTYPEC LTYPED LTYPEN LTYPER LTYPET LTYPES LTYPEM LTYPEI LTYPEG LTYPEXC
%token <lval> LCONST LFP LPC LSB
%token <lval> LBREG LLREG LSREG LFREG
%token <lval> LBREG LLREG LSREG LFREG LXREG
%token <dval> LFCONST
%token <sval> LSCONST LSP
%token <sym> LNAME LLAB LVAR
@ -359,6 +359,11 @@ reg:
$$ = nullgen;
$$.type = $1;
}
| LXREG
{
$$ = nullgen;
$$.type = $1;
}
| LSP
{
$$ = nullgen;

View File

@ -210,6 +210,15 @@ struct
"F6", LFREG, D_F0+6,
"F7", LFREG, D_F0+7,
"X0", LXREG, D_X0+0,
"X1", LXREG, D_X0+1,
"X2", LXREG, D_X0+2,
"X3", LXREG, D_X0+3,
"X4", LXREG, D_X0+4,
"X5", LXREG, D_X0+5,
"X6", LXREG, D_X0+6,
"X7", LXREG, D_X0+7,
"CS", LSREG, D_CS,
"SS", LSREG, D_SS,
"DS", LSREG, D_DS,

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,8 @@
/* A Bison parser, made by GNU Bison 2.6.5. */
/* A Bison parser, made by GNU Bison 2.4.1. */
/* Bison interface for Yacc-like parsers in C
/* Skeleton interface for Bison's Yacc-like parsers in C
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -32,6 +30,15 @@
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
#ifndef YY_YY_Y_TAB_H_INCLUDED
# define YY_YY_Y_TAB_H_INCLUDED
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
#if YYDEBUG
extern int yydebug;
#endif
/* Tokens. */
#ifndef YYTOKENTYPE
@ -62,12 +69,13 @@
LLREG = 278,
LSREG = 279,
LFREG = 280,
LFCONST = 281,
LSCONST = 282,
LSP = 283,
LNAME = 284,
LLAB = 285,
LVAR = 286
LXREG = 281,
LFCONST = 282,
LSCONST = 283,
LSP = 284,
LNAME = 285,
LLAB = 286,
LVAR = 287
};
#endif
/* Tokens. */
@ -94,21 +102,20 @@
#define LLREG 278
#define LSREG 279
#define LFREG 280
#define LFCONST 281
#define LSCONST 282
#define LSP 283
#define LNAME 284
#define LLAB 285
#define LVAR 286
#define LXREG 281
#define LFCONST 282
#define LSCONST 283
#define LSP 284
#define LNAME 285
#define LLAB 286
#define LVAR 287
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
/* Line 1676 of yacc.c */
/* Line 2042 of yacc.c */
#line 37 "a.y"
Sym *sym;
@ -123,9 +130,8 @@ typedef union YYSTYPE
Gen2 gen2;
/* Line 1676 of yacc.c */
#line 129 "y.tab.h"
/* Line 2042 of yacc.c */
#line 135 "y.tab.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@ -134,4 +140,18 @@ typedef union YYSTYPE
extern YYSTYPE yylval;
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
#else
int yyparse ();
#endif
#else /* ! YYPARSE_PARAM */
#if defined __STDC__ || defined __cplusplus
int yyparse (void);
#else
int yyparse ();
#endif
#endif /* ! YYPARSE_PARAM */
#endif /* !YY_YY_Y_TAB_H_INCLUDED */