| Issue |
170273
|
| Summary |
[X86] EmitX86BuiltinExpr - attempt to convert SSE41/AVX1 roundps/d/ss/sd builtins to regular rounding modes
|
| Labels |
good first issue,
backend:X86,
clang:frontend
|
| Assignees |
|
| Reporter |
RKSimon
|
Certain rounding modes used for _mm_round_ps etc. can be translated to the generic equivalents:
https://github.com/llvm/llvm-project/blob/535f604dabfb6563dab2a2478fb665699523fd0a/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp#L1254-L1268
We should be trying to convert these to the ceil/floor/trunc/roundeven/nearbyint/rint intrinsics (either regular or strict/constrained depending on fp strict mode).
The scalar cases are a bit trickier requiring extraction/insertion.
I don't expect AVX512 rndscale equivalents to be fully handled in this patch, which can be messier to deal with.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs