search for: __builtin_special

Displaying 2 results from an estimated 2 matches for "__builtin_special".

2020 Feb 19
2
i1 true ^= -1 in DAG matcher?
...I do think there is _some_ > kind of issue somewhere because I do see a BUILD_VECTOR of i1 -1 on our > target which I set to setBooleanVectorContents(ZeroOrOneBooleanContent). > The backend is not open source, but the i1 vector is an input to a clang > builtin which takes V8i like > __builtin_special(~mask) where mask is an vector of i1 form a setne (cmp), > and the vector of i1 -1 is from the ~ that does an xor of those two > vectors. I would have expected a vector of 1, not -1. I would love to send > in a better open source reproducer, will try to construct one. > > On Wed, Feb...
2020 Feb 19
2
i1 true ^= -1 in DAG matcher?
The vnot PatFrag uses ImmAllOnesV which should put an OPC_CheckImmAllOnesV in the matcher table. And the matcher table should call ISD::isBuildVectorAllOnes. I believe we use vnot with vXi1 vectors on X86 and I haven't seen any issues. The FIXME you pointed to seems related to a scalar patcher not a vector pattern. In that case the issue is that the immediate matcher for scalars calls