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