[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