mirror of
https://github.com/RPCS3/llvm.git
synced 2025-04-12 11:03:24 +00:00
[LangRef] Drop misleading anecdote
`shl nsw i8 1, i8 8` is poison, but `mul i8 1, i8 128` is not. This was discussed previously here: http://lists.llvm.org/pipermail/llvm-dev/2015-April/084195.html. From the discussion, it was not clear which semantics we want for `shl`, but for now at least make the language reference more accurate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286785 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5b20442fc2
commit
00eb18da3b
@ -6430,9 +6430,7 @@ If the ``nuw`` keyword is present, then the shift produces a :ref:`poison
|
||||
value <poisonvalues>` if it shifts out any non-zero bits. If the
|
||||
``nsw`` keyword is present, then the shift produces a :ref:`poison
|
||||
value <poisonvalues>` if it shifts out any bits that disagree with the
|
||||
resultant sign bit. As such, NUW/NSW have the same semantics as they
|
||||
would if the shift were expressed as a mul instruction with the same
|
||||
nsw/nuw bits in (mul %op1, (shl 1, %op2)).
|
||||
resultant sign bit.
|
||||
|
||||
Example:
|
||||
""""""""
|
||||
|
Loading…
x
Reference in New Issue
Block a user