Enable FP16 unary operator instructions.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
clang/include/clang/Basic/BuiltinsX86.def | ||
---|---|---|
1897 | I agree it should be better to be consistent with the naming convention mostly used. But I found rndscaleps/pd are using the same way here. Changing here will result in inconsistent somewhere. |
llvm/lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
1929 | Does this node means "round to int"? What's the difference to "FNEARBYINT"? | |
llvm/lib/Target/X86/X86ISelLowering.h | ||
290 ↗ | (On Diff #366473) | Move the code to line 283, so that it is adjacent to FRSQRT and FRCP? |
llvm/lib/Target/X86/X86InstrAVX512.td | ||
9277–9278 | The name is not precise now. We now support non-fp14 node. Also update the comments. | |
9496 | indent. | |
13488 | Why not merge this class to avx512_fp14_p_vl_all? Is it because it doesn't use MXCSR? | |
13489 | indent. | |
llvm/lib/Target/X86/X86InstrFoldTables.cpp | ||
3037 | Why no TB_NO_REVERSE for it? |
llvm/lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
1929 | rint and nearbyint are both C math library functions. rint raises an exception if the rounding isn't exact, nearbyint doesn't. | |
llvm/lib/Target/X86/X86InstrFoldTables.cpp | ||
3037 | Only the _Int need TB_NO_REVERSE because the memory type is 16 bits but the register class is VR128X so the sizes are different. The unfolding code would use the size of the register class to do the unfold and create a vmovaps/vmovups which would increase the size of the load. For VSQRTZr, the register class is FR16X and the memory size is 16 bits so they match. |
The naming convention is not consistent. Rename it to rndscaleph128?