[PATCH] D16464: Clarify the difference between ISD::BITCAST and the bitcast instruction from LLVM-IR.
Daniel Sanders via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 22 05:37:42 PST 2016
dsanders created this revision.
dsanders added subscribers: hfinkel, llvm-commits.
http://reviews.llvm.org/D16464
Files:
include/llvm/CodeGen/ISDOpcodes.h
Index: include/llvm/CodeGen/ISDOpcodes.h
===================================================================
--- include/llvm/CodeGen/ISDOpcodes.h
+++ include/llvm/CodeGen/ISDOpcodes.h
@@ -483,6 +483,12 @@
/// 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16464.45682.patch
Type: text/x-patch
Size: 870 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160122/e242a6ec/attachment.bin>
More information about the llvm-commits
mailing list