From: Chris Lattner Date: Tue, 1 Apr 2008 18:45:27 +0000 (+0000) Subject: make langref more precise, wave 1, from Jon Sargeant X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a73afe00b25bfa18f121302969795e025d4b4719;p=oota-llvm.git make langref more precise, wave 1, from Jon Sargeant git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49044 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/LangRef.html b/docs/LangRef.html index 08cdccf8102..1c744d2a6fe 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -1465,8 +1465,10 @@ them all and their syntax.

Floating point constants use standard decimal notation (e.g. 123.421), exponential notation (e.g. 1.23421e+2), or a more precise hexadecimal - notation (see below). Floating point constants must have a floating point type.
+ notation (see below). The assembler requires the exact decimal value of + a floating-point constant. For example, the assembler accepts 1.25 but + rejects 1.3 because 1.3 is a repeating decimal in binary. Floating point + constants must have a floating point type.
Null pointer constants
@@ -2190,7 +2192,7 @@ operands.

types. This instruction can also take vector versions of the values in which case the elements must be integers.

Semantics:
-

The value produced is the signed integer quotient of the two operands.

+

The value produced is the signed integer quotient of the two operands rounded towards zero.

Note that signed integer division and unsigned integer division are distinct operations; for unsigned integer division, use 'udiv'.

Division by zero leads to undefined behavior. Overflow also leads to @@ -2238,8 +2240,7 @@ types. This instruction can also take vector versions of the values in which case the elements must be integers.

Semantics:

This instruction returns the unsigned integer remainder of a division. -This instruction always performs an unsigned division to get the remainder, -regardless of whether the arguments are unsigned or not.

+This instruction always performs an unsigned division to get the remainder.

Note that unsigned integer remainder and signed integer remainder are distinct operations; for signed integer remainder, use 'srem'.

Taking the remainder of a division by zero leads to undefined behavior.

@@ -2303,7 +2304,8 @@ division of its two operands.

identical types. This instruction can also take vector versions of floating point values.

Semantics:
-

This instruction returns the remainder of a division.

+

This instruction returns the remainder of a division. +The remainder has the same sign as the dividend.

Example:
  <result> = frem float 4.0, %var          ; yields {float}:result = 4.0 % %var
 
@@ -2316,9 +2318,8 @@ Operations

Bitwise binary operators are used to do various forms of bit-twiddling in a program. They are generally very efficient instructions and can commonly be strength reduced from other -instructions. They require two operands, execute an operation on them, -and produce a single value. The resulting value of the bitwise binary -operators is always the same type as its first operand.

+instructions. They require two operands of the same type, execute an operation on them, +and produce a single value. The resulting value is the same type as its operands.

@@ -2341,9 +2342,9 @@ the left a specified number of bits.

Semantics:
-

The value produced is var1 * 2var2. If -var2 is (statically or dynamically) equal to or larger than the number -of bits in var1, the result is undefined.

+

The value produced is var1 * 2var2 mod 2n, +where n is the width of the result. If var2 is (statically or dynamically) negative or +equal to or larger than the number of bits in var1, the result is undefined.

Example:
   <result> = shl i32 4, %var   ; yields {i32}: 4 << %var