[llvm] r269031 - Clarify the difference between ISD::BITCAST and the bitcast instruction from LLVM-IR.
Daniel Sanders via llvm-commits
llvm-commits at lists.llvm.org
Tue May 10 02:01:54 PDT 2016
Author: dsanders
Date: Tue May 10 04:01:54 2016
New Revision: 269031
URL: http://llvm.org/viewvc/llvm-project?rev=269031&view=rev
Log:
Clarify the difference between ISD::BITCAST and the bitcast instruction from LLVM-IR.
Subscribers: llvm-commits, hfinkel
Differential Revision: http://reviews.llvm.org/D16464
Modified:
llvm/trunk/include/llvm/CodeGen/ISDOpcodes.h
Modified: llvm/trunk/include/llvm/CodeGen/ISDOpcodes.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/ISDOpcodes.h?rev=269031&r1=269030&r2=269031&view=diff
==============================================================================
--- llvm/trunk/include/llvm/CodeGen/ISDOpcodes.h (original)
+++ llvm/trunk/include/llvm/CodeGen/ISDOpcodes.h Tue May 10 04:01:54 2016
@@ -486,6 +486,12 @@ namespace ISD {
/// the same bit size (e.g. f32 <-> i32). This can also be used for
/// int-to-int or fp-to-fp conversions, but that is a noop, deleted by
/// getNode().
+ ///
+ /// This operator is subtly different from the bitcast instruction from
+ /// LLVM-IR since this node may change the bits in the register. For
+ /// example, this occurs on big-endian NEON and big-endian MSA where the
+ /// layout of the bits in the register depends on the vector type and this
+ /// operator acts as a shuffle operation for some vector type combinations.
BITCAST,
/// ADDRSPACECAST - This operator converts between pointers of different
More information about the llvm-commits
mailing list