peterwaller-arm added inline comments.

================
Comment at: clang/lib/Sema/SemaExprCXX.cpp:6266
+    LHS = ImpCastExprToType(LHS.get(), ResultType, CK_VectorSplat);
+    RHS = ImpCastExprToType(RHS.get(), ResultType, CK_VectorSplat);
+  }
----------------
I get an assert with the following input (float64 in, float32 out). I was lead 
here by noticing that the element count comes from `CondElementCount`, but 
nothing ensures that the numbers of elements are consistent with LHS or RHS.

```
svfloat32_t cond_f32_splat(svfloat64_t a) {
    return a < 0. ? 1.f : 0.f;
}
```

```
#11 0x0000000001fef77e clang::ASTContext::getCanonicalType(clang::QualType) 
const CodeGenTypes.cpp:0:0
#12 0x000000000446b39c clang::Sema::ImpCastExprToType(clang::Expr*, 
clang::QualType, clang::CastKind, clang::ExprValueKind, 
llvm::SmallVector<clang::CXXBaseSpecifier*, 4u> const*, clang::Sema::CheckedCo
nversionKind) (out/rel/bin/clang+0x446b39c)
#13 0x00000000048ca1ce 
clang::Sema::CheckSizelessVectorConditionalTypes(clang::ActionResult<clang::Expr*,
 true>&, clang::ActionResult<clang::Expr*, true>&, 
clang::ActionResult<clang::Expr*, true>&, clan
g::SourceLocation) (out/rel/bin/clang+0x48ca1ce)
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124091/new/

https://reviews.llvm.org/D124091

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to