1c7d3aa58e573003775645a0d4182535844fcf77
[libreriscv.git] / openpower / simple_v_spec.tex
1 \documentclass[]{book}
2 \usepackage{lmodern}
3 \usepackage{amssymb,amsmath}
4 \usepackage{lscape}
5 \usepackage{sectsty}
6 \usepackage{appendix}
7 \usepackage{anyfontsize}
8 \usepackage{ifxetex,ifluatex}
9 \usepackage{fixltx2e} % provides \textsubscript
10 \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
11 \usepackage[T1]{fontenc}
12 \usepackage[utf8]{inputenc}
13 \else % if luatex or xelatex
14 \ifxetex
15 \usepackage{mathspec}
16 \else
17 \usepackage{fontspec}
18 \fi
19 \defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase}
20 \fi
21 % use upquote if available, for straight quotes in verbatim environments
22 \IfFileExists{upquote.sty}{\usepackage{upquote}}{}
23 % use microtype if available
24 \IfFileExists{microtype.sty}{%
25 \usepackage[]{microtype}
26 \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
27 }{}
28 \PassOptionsToPackage{hyphens}{url} % url is loaded by hyperref
29 \usepackage[unicode=true]{hyperref}
30 \hypersetup{
31 pdfborder={0 0 0},
32 breaklinks=true}
33 \usepackage[margin=0.9in]{geometry}
34 \usepackage{longtable,booktabs}
35 % Fix footnotes in tables (requires footnote package)
36 \IfFileExists{footnote.sty}{\usepackage{footnote}\makesavenoteenv{long
37 table}}{}
38 \IfFileExists{parskip.sty}{%
39 \usepackage{parskip}
40 }{% else
41 \setlength{\parindent}{0pt}
42 \setlength{\parskip}{6pt plus 2pt minus 1pt}
43 }
44 \setlength{\emergencystretch}{3em} % prevent overfull lines
45 \providecommand{\tightlist}{%
46 \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
47 \setcounter{secnumdepth}{5}
48 % Redefines (sub)paragraphs to behave more like sections
49 \ifx\paragraph\undefined\else
50 \let\oldparagraph\paragraph
51 \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}}
52 \fi
53 \ifx\subparagraph\undefined\else
54 \let\oldsubparagraph\subparagraph
55 \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}}
56 \fi
57
58 % set default figure placement to htbp
59 \makeatletter\@addtoreset{chapter}{part}\makeatother%
60 \def\fps@figure{htbp}
61 \makeatother
62
63
64 \date{}
65
66 \begin{document}
67
68 \chapter*{Introduction}
69 \addcontentsline{toc}{chapter}{Introduction} \markboth{INTRODUCTION}{}
70
71 This document is an auto-generated version of the Draft SVP64
72 Specification available at
73
74 \begin{verbatim}
75 https://libre-soc.org/openpower/sv
76 \end{verbatim}
77
78 for which the source code is available at
79
80 \begin{verbatim}
81 https://git.libre-soc.org/?p=libreriscv.git;a=tree;f=openpower;hb=HEAD
82 \end{verbatim}
83
84 This PDF may be created with "make pdf" from the following file:
85
86 \begin{verbatim}
87 https://git.libre-soc.org/?p=libreriscv.git;a=blob;f=openpower/Makefile;hb=HEAD
88 \end{verbatim}
89
90 Simple-V Cray-style Vectors have been developed by the Libre-SOC Team,
91 sponsored by the NLnet Foundation and NGI POINTER under
92 EU Grants 871528 and 957073.
93
94 \tableofcontents
95
96 \chapter{Scalable Vectors for the Power ISA}\hypertarget{svux2fscalvecpowisa}{Scalable Vectors for the Power ISA}
97 \input{tex_out/sv.tex}
98 \chapter{Overview}\hypertarget{svux2foverview}{Overview}
99 \input{tex_out/overview.tex}
100 \chapter{Compliancy Levels}\hypertarget{svux2fcomplevels}{Compliancy Levels}
101 \input{tex_out/compliancy_levels.tex}
102 \chapter{SVP64}\hypertarget{svux2fsvp64}{SVP64}
103 \input{tex_out/svp64.tex}
104 \chapter{SPRs}\hypertarget{svux2fsprs}{SPRs}
105 \input{tex_out/sprs.tex}
106 \chapter{Arithmetic Mode}\hypertarget{svux2farithmode}{Arithmetic Mode}
107 \input{tex_out/normal.tex}
108 \chapter{Load/Store Mode}\hypertarget{svux2fldstmode}{Load/Store Mode}
109 \input{tex_out/ldst.tex}
110 \chapter{Condition Register Fields Mode}\hypertarget{svux2fcrfieldsmode}{Condition Register Fields Mode}
111 \input{tex_out/cr_ops.tex}
112 \chapter{Branch Mode}\hypertarget{svux2fbranchmode}{Branch Mode}
113 \input{tex_out/branches.tex}
114 \chapter{setvl instruction}\hypertarget{svux2fsetvl}{setvl instruction}
115 \input{tex_out/setvl.tex}
116 \chapter{svstep instruction}\hypertarget{svux2fsvstep}{svstep instruction}
117 \input{tex_out/svstep.tex}
118 \chapter{REMAP subsystem}\hypertarget{svux2fremapsubsys}{REMAP subsystem}
119 \input{tex_out/remap.tex}
120 \chapter{Swizzle Move}\hypertarget{svux2fswizzlemove}{Swizzle Move}
121 \input{tex_out/mv_swizzle.tex}
122 \chapter{Pack / Unpack}\hypertarget{svux2fpackunpack}{Pack / Unpack}
123 \input{tex_out/mv_vec.tex}
124
125 \begin{appendices}
126 \chapter{SVP64 Appendix}\hypertarget{svp64ux2fappendix}{SVP64 Appendix}
127 \input{tex_out/svp64_appendix.tex}
128 \chapter{SVP64 Quirks}\hypertarget{svux2fquirks}{SVP64 Quirks}
129 \input{tex_out/svp64_quirks.tex}
130 \chapter{Simple-V pseudocode}\hypertarget{svux2fsvpseudocode}{Simple-V pseudocode}
131 \input{tex_out/pseudocode_simplev.tex}
132 \chapter{SVP64 Augmentation Table}\hypertarget{svux2faugtable}{SVP64 Augmentation Table}
133 \begin{landscape}
134 {
135 \fontsize{7}{9}\selectfont
136 \input{tex_out/opcode_regs_deduped.tex}
137 }
138 \end{landscape}
139 \end{appendices}
140
141 \end{document}