[PATCH] D33406: PR28129 expand vector oparation to an IR constant.

Sanjay Patel via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 15 09:53:23 PDT 2017


spatel added a comment.

Functionally, I think this is correct and complete now. See inline for some nits.



================
Comment at: lib/CodeGen/CGBuiltin.cpp:7925
 
     // We can't handle 8-31 immediates with native IR, use the intrinsic.
     Intrinsic::ID ID;
----------------
Fix comment to something like:
"Except for predicates that create constants, ..."


================
Comment at: lib/CodeGen/CGBuiltin.cpp:7933
     case X86::BI__builtin_ia32_cmpps256:
+      // _CMP_TRUE_UQ, _CMP_TRUE_US would produce -1,-1... vector
+      // on any input and _CMP_FALSE_OQ, _CMP_FALSE_OS produces 0, 0...
----------------
would produce --> produces


================
Comment at: lib/CodeGen/CGBuiltin.cpp:7939
+                llvm::Constant::getNullValue(Builder.getInt32Ty());
+         Value *Vec = Builder.CreateVectorSplat(Ops[0]->getType()->getVectorNumElements(),
+                   Constant);
----------------
Formatting: over 80-col limit.


================
Comment at: lib/CodeGen/CGBuiltin.cpp:7949
     case X86::BI__builtin_ia32_cmppd256:
+      // _CMP_TRUE_UQ, _CMP_TRUE_US would produce -1,-1... vector
+      // on any input and _CMP_FALSE_OQ, _CMP_FALSE_OS produces 0, 0...
----------------
would produce --> produces


================
Comment at: lib/CodeGen/CGBuiltin.cpp:7955
+                llvm::Constant::getNullValue(Builder.getInt64Ty());
+         Value *Vec = Builder.CreateVectorSplat(Ops[0]->getType()->getVectorNumElements(),
+                   Constant);
----------------
Formatting: over 80-col limit.


https://reviews.llvm.org/D33406





More information about the cfe-commits mailing list