summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Sanders <daniel.sanders@imgtec.com>2016-05-10 09:01:54 +0000
committerDaniel Sanders <daniel.sanders@imgtec.com>2016-05-10 09:01:54 +0000
commit5cdb9d9ddb3b53f35e85ff31be27a3f026f9694c (patch)
tree3533bc2f24a7eda9057c7cbca3d3b473c5fe977c
parent5471829351bff525cf6f1daab19db324cf9edecf (diff)
downloadbcm5719-llvm-5cdb9d9ddb3b53f35e85ff31be27a3f026f9694c.tar.gz
bcm5719-llvm-5cdb9d9ddb3b53f35e85ff31be27a3f026f9694c.zip
Clarify the difference between ISD::BITCAST and the bitcast instruction from LLVM-IR.
Subscribers: llvm-commits, hfinkel Differential Revision: http://reviews.llvm.org/D16464 llvm-svn: 269031
-rw-r--r--llvm/include/llvm/CodeGen/ISDOpcodes.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/include/llvm/CodeGen/ISDOpcodes.h b/llvm/include/llvm/CodeGen/ISDOpcodes.h
index 41d5993aac4..666671c4f81 100644
--- a/llvm/include/llvm/CodeGen/ISDOpcodes.h
+++ b/llvm/include/llvm/CodeGen/ISDOpcodes.h
@@ -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
OpenPOWER on IntegriCloud