farzonl wrote:

> Can we change the target-independent bits of the tan() implementation in the 
> backend so it doesn't require each target to explicitly request that tan() 
> needs to be expanded? It should be possible to adjust the code in 
> TargetLoweringBase.cpp a bit so FTAN defaults to being expanded for all types.

> It might be better to default FTAN to expand in
> 
> https://github.com/llvm/llvm-project/blob/64c9a1e1266ec7bc4c4896b2df116fa12dbacf15/llvm/lib/CodeGen/TargetLoweringBase.cpp#L960
> 
> , which seems to only be done for f32/f64/f128 at the moment.

I don't think we can default on vector types to Expand as it would expand on 
vector that are not supported for tan. For example VT in this case is 
`MVT::all_valuetypes()` That includes integer vectors.
 
https://github.com/llvm/llvm-project/blob/64c9a1e1266ec7bc4c4896b2df116fa12dbacf15/llvm/lib/CodeGen/TargetLoweringBase.cpp#L894

Even if it only included floats it would not necessarily be correct For example 
in ARM
https://github.com/llvm/llvm-project/blob/64c9a1e1266ec7bc4c4896b2df116fa12dbacf15/llvm/lib/Target/ARM/ARMISelLowering.cpp#L324-L325
some cases like MVE  it is MVT::v8f16, MVT::v4f32
but for NEON MVT::v2f64, MVT::v4f32, and MVT::v2f32 are supported. Doing it per 
target seems intential so as to have more precision so only intrinsics that are 
valid to lower get expanded.



https://github.com/llvm/llvm-project/pull/94559
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to