Skip to content

Commit

Permalink
add LA reference manual 1
Browse files Browse the repository at this point in the history
  • Loading branch information
yetist committed Aug 10, 2021
1 parent 8b9f7d1 commit 1c99e4d
Show file tree
Hide file tree
Showing 185 changed files with 17,612 additions and 0 deletions.
2 changes: 2 additions & 0 deletions content/en/docs/lav1/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
50 changes: 50 additions & 0 deletions content/en/docs/lav1/about-this-manual.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
== About this manual

=== Copyright Statement

The copyright of this document belongs to Loongson Technology Corporation Limited.
Without written permission, no company or individualmay disclose, reproduce or otherwise distribute any part of this document to third parties.
Otherwise, they will be held legally responsible.

=== Disclaimer

This document provides only periodic information, and the contents contained may be updated at any time without notice, depending on the actual situation of the product.
Loongson Technology Corporation Limited is not responsible for any direct or indirect damage aused by the improper use of the document.

=== Loongson Technology Corporation Limited

Building No.2, Loongson Industrial Park, +
Zhongguancun Environmental Protection Park, Haidian District, Beijing

Tel: 010-62546668

Fax: 010-62600826

=== Reading Guide

This is the first volume of _LoongArch Reference Manual_, which describes the basic part of the LoongArch architecture.

=== Translator`'s Note

These documents were translated by Yanteng Si and Feiyang Chen.

This is the translation of https://github.com/loongson/LoongArch-Documentation/releases/latest/download/LoongArch-Vol1-v1.00-CN.pdf.

Due to the limited knowledge of the translators, there are some inevitable errors and omissions existing in this document, please feel free to correct.

=== License

include::LICENSE[]

=== Contributors

Since the release of the project, we have gotten several errata and content changes donated.
Here are all the people who have contributed to https://github.com/loongson/LoongArch-Documentation[LoongArch Documentation] as an open source project.
Thank you everyone for helping make this a better book for everyone.

The contributors are listed in alphabetical order.

[source]
----
include::contributors.txt[]
----
14 changes: 14 additions & 0 deletions content/en/docs/lav1/basic-floating-point-instructions.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[[basic-floating-point-instructions]]
== Basic Floating-Point Instructions

This chapter will introduce the floating-point number instructions in the basic part of the non-privileged subset of LoongArch.
The function definition of the basic floating-point instructions in LoongArch follows the IEEE 754-2008 standard.

Basic floating-point instructions cannot be implemented separately from basic integer instructions.
Generally speaking, it recommends that implementing both basic integer instructions and basic floating-point instructions at the same time.
However, for some embedded applications that are cost-sensitive and have extremely low floating-point processing performance requirements, the architecture specification also allows not to implement basic floating-point instructions, or only implement single-precision floating-point numbers and word integers in basic floating-point instructions.
Whether the implementation of basic floating-point instructions includes instructions for operating double-precision floating-point numbers and double-word integers has nothing to do with whether the architecture is LA32 or LA64.

include::./basic-floating-point-instructions/programming-model-of-basic-floating-point-instructions.adoc[]

include::./basic-floating-point-instructions/overview-of-floating-point-instructions.adoc[]
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[[overview-of-floating-point-instructions]]
=== Overview of Floating-Point Instructions

The instructions described in this section, except for `FLDX.{S/D}`, `FSTX.{S/D}`, `FLD{GT/LE}.{S/D}` and `FST{GT/LE}.{S/D}` these 12 The floating-point memory access instructions only belong to the LA64, and all other floating-point instructions are applicable to both LA32 and LA64.

include::./overview-of-floating-point-instructions/floating-point-arithmetic-operation-instructions.adoc[]

include::./overview-of-floating-point-instructions/floating-point-comparison-instructions.adoc[]

include::./overview-of-floating-point-instructions/floating-point-conversion-instructions.adoc[]

include::./overview-of-floating-point-instructions/floating-point-move-instructions.adoc[]

include::./overview-of-floating-point-instructions/floating-point-branch-instructions.adoc[]

include::./overview-of-floating-point-instructions/floating-point-common-memory-access-instructions.adoc[]

include::./overview-of-floating-point-instructions/floating-point-bound-check-memory-access-instructions.adoc[]
Loading

0 comments on commit 1c99e4d

Please sign in to comment.